Arduino言語参照
Arduinoクイックリファレンス
p5.js教材:2018秋(受講時)のデザインとプログラミング講義資料
秋葉原へ
電子工作の部品がありすぎて面白かった。
店内の男性率約95パーセント。
予備知識ゼロで飛び込んでしまったため分からず、一旦本を買ってカフェで予備知識を少し入れてから再突入した。
購入したものたち
総額2万超...
本とモーターシールドが結構でかい。
遊んでみる:傾きを測る。
上手くいかず...
x,yの値がovfになる。
zの値がnanになる。
ovfの意味
https://github.com/arduino/Arduino/issues/6718
印刷時に10進数が10桁を超えるとSerial.printでovfが発生する。
対処方法がわからない。
エラーコードで検索してみると恐ろしいことが出てくる。
https://teratail.com/questions/51471
→もう簡単なことをやって検証してみる。
基板自体に問題はなさそう。
感圧センサーを使用した。
3軸加速度センサーも成功。
スクショは撮り忘れた。
ovfしないよう、floatではなくintにすることによって解決。
メモ:
たまに不具合があるようなので、うまく動かない場合、
USBを接続し直す
Arduinoを再起動
をまずは試してみる。
Arduinoとp5.jsを連携させる。
p5.botsというライブラリーを使って、Arduinoとp5jsを連携させたい。
p5.botsライブラリ
このようにファイルを作る。
npmをインストールする。
https://www.suzu6.net/posts/45/
homebrewを使ってインストールとnodebrewでnpmのバージョン管理をする。
何をやってるのか理解するのが難しい。
p5botsサーバーを入手する。
ターミナルに以下を入力して、実行する。
npm install -g p5bots-server
bots-goコマンドがないらしい
指示通りにやっても、command not foundが表示される。
【注意点】nodeのバージョンを指定のものにする必要がある。
動かなかった理由はこれ。
上記の手順でnodeをダウンロードすると、最新バージョン(12.0くらい)になってしまう。
それをver0.12を使うよう設定し直す必要がある。
【注意点】nodeをver0.12にした状態で、p5botsサーバーを入手する。
nodeのバージョンを変える方法
https://upd.world/nodejs-npm-install/#3_Nodejs_npm
この状態で、サーバースタート。
bots-go -d の後にファイルを続くターミナルウィンドウに貼り付ける。
しっかりと、bots-goコマンドを認識してくれる...!
StandardFirmataをArduinoに書き込む
Webブラウザ上で、localHost:8000に接続する。
動いた。思わず部屋で叫んだ。(6/11 13:00)
他にも、スクリプトに多少のエラーがあるため、コンソールで自分でデバッグする必要があった。
動作確認に使用したコードとスケッチを下に添付。
index.html
sketch.js
一行目の
var b = p5.board('/dev/cu.usbmodem
1451
', 'arduino');
↑は自分のArduinoのポートを入力する。
スケッチ
何を作るかを決める(6/10月曜日)
完全に計算外。スケジュール管理をミスってしまった。
後にやってみたいもの①
後にやってみたいもの②
https://www.facebook.com/MONOxIT.jp/videos/458996831576859/
コンセプトではなく、技術から考えてみたい。
技術から考えるため、沢山買ってある。
購入したセンサー・モーター・ディスプレイ
・3軸加速度センサー
・RGBカラーセンサー
・圧力センサー
・反射型フォトセンサー
・超音波距離センサー
・においセンサー
・DCモーター
・ソレノイド(プッシュ型)
・ドットマトリックスLED
においセンサーが気になる。
"メチルメルカプタンや硫化水素に、低濃度から非常に感度の高い反応する。"
※1 メチルメルカプタン・・・
たまねぎが腐ったような臭い
※2 硫化水素・・・
たまごが腐ったような臭い
ソース
参考
使ってみた①
使ってみた②
使ってみた③(実際にこれを元にした)
回路図サンプル
スケッチサンプル
回路図
33Ωの抵抗を持っていなかったため、1kΩで代用してみる。
しかし、1kΩの場合、「数時間の慣らし」が必要になってしまう
という。
実際には、抵抗を全く無しにするとすぐに使える。
スケッチ
センサーを延長させたかった。
ピンソケット
というものが必要らしい。
持っていないため、購入する時間があれば使いたい。
においセンサーを動かそう。
全部520になる。うまくいっているのかわからない。(うまくいっていなかった)
抵抗器を外したら、変化が出るように。平常時の値を計測。
こちらのシリアルプロッタより、
おおよそ210~290が平常時の計測結果
と見られる。
この計測結果より、
少し臭い場合は140以下
臭い場合は25以下
とする。
センサーに付属のガス感度特性表を元に数値を決めた。
においセンサーを何に応用するか?
・口臭チェッカー
・SFCの臭い計測
・お店の臭いチェッカー(空気清浄コントロール)
こいつも使いたい。
Thingiverseからダウンロードし、Meshmixerでカット。
https://www.myminifactory.com/object/3d-print-london-nose-from-meard-street-38628
魚が付いてくる好きなやつをフォークして使おう。
Fishfeeding
Fish class
まさか...processingで書かれていた...
はじめからprocessingでやっても良かったかもしれない。
さっさとArduinoのセンサーの値をp5.jsで扱いたい。
動きませんでした。
エラーに。コードの書き方が不明。
ぜんぶb.pin()で動かせる訳ではないようだ...
反省点
・最初は参考になるものが多いやつでやるべきだと反省。
・フィジカルな要素とインタラクティブなものが作れることが、電子工作の大きな強みだと思うが、ビジュアライゼーションをできなかったのは勿体なかった。悲しい。
・Lチカのような簡単な事例をいくつか取り組んで、どういう原理で動いているのか、コードを理解する必要があった。
・道具の用意もあるため、4日前には何を作るか決めた方が良かった。