第1回で紹介した資料からyoutubeやtwitterの動画を参照 https://sites.google.com/site/kobashijiangyiyong/mediaato
電子的な制御装置を用いた作品の紹介
・ギャル電(@GALDEN999)
・コンセプトは「理系男子の夫に受けそうなもの」独自の世界を展開するスピンオフユニット |BreadBoard Baking | IAMAS OB/OGインタビュー
http://interview.iamas.ac.jp/_002/
文化庁メディア芸術祭 歴代受賞作品
第18回(2014年)超電波砲スーパーDX弐号機 GOCCO ltd. フードビジネス学科の木村先生が経営している会社がイベント用に制作した作品
感覚をだますメディアアート「Shadow touch!!」 http://youtu.be/3itekp9YaAs
IAMAS出身の作家クワクボリョウタ氏のインタビュー記事 https://www.iamas.ac.jp/report/interview-kuwakubo-ryota/
作品:The Tenth Sentiment / 10番目の感傷(点・線・面) https://www.youtube.com/watch?v=8EBF0qOKpns&t=36s
Arduinoはコンピュータです。ワンボードマイコンと呼ばれるタイプの製品です。
パソコンやスマフォなどと異なりマウスやディスプレイなどの入出力装置は付属していません。
入力装置はボタンやセンサーなどが1個から数個、出力装置はLEDやモーター、スピーカーなどが1個から数個を接続して利用します。
入出力装置を電子工作で自作して作品制作に利用します。
OSは入っていません。制御用のプログラムをパソコンからArduinoのメモリに書き込んで実行させます。
Arduinoの制御プログラムをスケッチと呼び、開発用のプログラム言語はC言語とC++言語を元にしたものです。
開発のジャンルは組み込みソフトウェア開発です。
今回利用するスターターキットの Arduino は Arduino UNO です。
Arduinoを利用した作品について調べてみましょう。
Arduino と MAX8の連携
Arduinoに接続した電子回路(自作装置)をMAX8から制御可能にするスケッチを書き込んでおいてMax8のパッチからUSB経由でコントロールする。
参照: Maxuino
Arduinoだけでできること
PC接続なしで USBのACアダプタやモバイルバッテリーまたは ACアダプター(9V)に接続すれば動作します。
作品にバッテリーとArduinoを組み込んでPCなしで成立する作品も制作可能。
PCやスマフォ、タブレットと比較して装置の値段が安いので多数のArduinoを利用したコストダウンを図れます。
Arduinoを利用したインタラクティブ作品について調べてみましょう。
Arduinoスターターキットの箱とプロジェクトブックを一式受け取る。
Arduinoスターターキットとプロジェクトブックの番号シールを確認する。次回も同じキットを使用して受講すること。
キットの箱とブックは授業後に回収する。
Webclassの問1に受け取ったArduino Starter Kitの番号を記録する。次回以降で続けて同じものを利用する。
Arduino IDEの起動以前に、USBケーブルでArduinoをiMacに接続しておかないとボードを認識しない感じ。
Arduinoプロジェクトブック に目を通す。
P.6 ~ P.11 電子部品の名称と役割、回路図用の記号を確認する。
P.23 ブレッドボードの配線方法を確認する。
USBケーブルを箱から出してiMacとArduinoを接続する。
iMacのキーボード左側のUSB端子を利用するとよい。
動作確認:
Arduinoボードが正常な状態なら 緑のLED が点灯
iMacのランチャーからArduinoアイコンをダブルクリックしてIDE(開発ツール)を起動
Version Upはスキップする。
Arduino Uno に接続する
P.18の 「プログラムを転送しよう」の手順で 接続と動作の確認 をします。
Arduino IDEのメニューから動作確認用スケッチ 「Blink」を開く
Arduino IDEのメニューから
Arduino Uno
を選択
スケッチを書き込むボタン「→」を押す
動作確認:
Arduinoの基板上のLEDがオレンジに1秒間隔で点滅する
(時短でスキップ)
スケッチBlinkの delay(1000)の部分を delay(100) などに変更する。
スケッチを転送する。
点滅の様子が変化したらプログラムの転送と動作確認は成功です。
(時短でスキップ)
USBケーブルを抜く。
ブレッドボードにLEDの点灯回路を作成する。
P.24 実体配線図を参照
USBケーブルを接続して動作確認
正常動作) LEDが点灯
点灯しない場合
LEDの電極の接続(アノード、カソード)が逆なら直す。 足の長い方がアノードと呼ばれる+側の電極。
Arduino側の端子を確認する。5VとGNDのピンに刺さっているか。
抵抗の値を確認する。赤 赤 茶 の帯の220Ωの抵抗を使っているか確認。接続の向きは無関係。
5V(+極)からGND(-極)に電流がループするように回路が接続されているか確認。
上の写真で緑色の配線のGND側を抜く → LED OFF
上の写真で緑色の配線のGND側をブレッドボードのGND(ArduinoのGNDから延ばした黒い線と同じ列)に接続 → LED ON
上の写真で緑色の配線のGND側をブレッドボードの5V(ArduinoのGNDから延ばした赤い線と同じ列)に接続 → LED OFF
以上から、
緑の配線のGND側の電圧が 5V → LED OFF
緑の配線のGND側の電圧が 0V(GND) → LED ON
※この様に負論理(通常は電圧HighでON、LowでOFFだが、その逆なので)で制御する
次の演習2でこの緑の配線をArduinoのデジタル出力(DIGITAL OUT)の2番ピンに接続してON/OFFをiMacのMax8から制御する。
Max8からArduinoに接続したセンサやスイッチを利用できるようにする。
MaxからLEDの明るさを制御してみよう。
手順:
・ArduinoにFirmataをインストール(IDEからスケッチ書き込み)
・Maxuinoを起動してArduinoと接続
・動作確認
・回路制作
・Maxuinoの改造
Firmataの準備:
Arduino IDE(プログラム開発ツール) を起動しファイル→ スケッチ例 から
Firmata -> StandardFirmata
を選択する。
IDEの →ボタンでArduino に書き込む(アップロード)
Maxuinoの準備と動作テスト:
レポートフォルダー
MA08素材 の MaxuinoTest2023 をデスクトップなど適用な場所にコピーする。
※Maxuinoの動作に必要な関連ファイルもこのフォルダにある。
Maxuinoのパッチャーはこのフォルダから出さないこと。
フォルダの
maxuino2023.maxhelp
をダブルクリックしてMax8で開く
※今後Maxuinoを利用して自分の作品用のパッチを製作する場合はこのファイルをコピーして名前を付け替えて利用する
メニュー File → Save as から名前を適当に変更して保存する
※今後、このファイルを改造して実験を続ける。期末作品用に利用してもよい。元のmaxuino.maxhelpパッチャーはバックアップとして残しておく
Maxuinoのサンプルパッチを設定し動作確認をする。
Window → Max console を開く
幾つかエラーが表示される場合があるがこの段階では無視する
(1/3)
1. Select serial port の update メッセージをクリックし、select ボックスから Arduinoを接続したポート(usbmodem11101)を選択する
Consoleに接続完了のメッセージ print "Firmata version" 2.5 が表示される
接続完了まで少し間が必要。表示されるまで待つこと。
接続が上手くいかないようなら:
Max8パッチャーのポート番号(画像では c)
Max8 Consoleのポート番号(画像では b)の様にポート番号が異なっていたら
Max8パッチャーを修正して Consoleのポート番号と同じにする。
その後、上の手順 1.に戻って、 update を押して、 select からポートを設定し直す。
※Windows PCでUSBポートにArduinoを接続する場合、ポート番号(アルファベット)が接続し直すたびに異なるものに変化するので注意が必要
(2/3)
2. initialize の init メッセージをクリックする。 (コンソールにArduinoの各pinの動作業況がプリントされる)
(3/3)
3. test Built-in LED で、 select one から 13 -- Arduino uno を選ぶ。(13番ボートが選択される)
※Arduino Uno の 13番ポートにはボード上のLEDが接続されている
on/off や auto-flash のトグルスイッチをクリックして、Arduino のボード上のLEDが点滅することを確認
動作確認終了
Arduino IDE を閉じる
ファイルの保存はしない。(Don't Save)
※他のスケッチで上書きしない限りはこのArduinoはMaxuinoが接続できるようになる
USBケーブルを外してもコードはメモリに保存されて消えない
Max8からArduino を制御する。
Maxudinoのパッチャーの
2.initialize にある、gui メッセージををクリックして、以下のようにArduino Uno の 0~19 のピンの設定・動作確認パネル を表示する。
(トラブル対応)
演習2の段階で ArduinoのUSBポートを選択した際に接続完了する前に init を押すとGUI設定に失敗する。
以下の画像のように各Pinの設定ボタンやスライダーが表示されない。
GUI設定に失敗した場合
initを押して接続完了するまで待ってからguiを開く。
GUI設定が正常に完了した場合
Pin 13 をdOut (デジタル出力)にモード変更(下の画像では dO と表示されている)
デジタル出力モードではPinの出力を
ON 5V
OFF 0V
に制御できる。
0Vの出力を回路のGNDとして利用できる。
Pin 13 を ON / OFF してArduinoボード上のLEDが動作することを確認する。
ブレッドボード上のLED回路の緑の配線のGND側端子を、
Arduino のピン 2
に繋ぎ変える。以下の画像を参照。
USBケーブルを抜くと再接続してもiMacからArduinoが認識不能になる。iMacを再起動すると接続できるようになる。
回路に通電したままの配線作業はやらない方がよい
以下の作業では
一番最後 に赤ケーブル を 5V端子 に接続
することにする
別の回路に修正する際には 赤ケーブルを外してから作業する
(実験の続き)
MaxuinoのGUIの2番ピンを dOutモードに切り替える。
2番ピンのボタンをON OFFしてLEDの点滅を確認する。(以下の画像参照)
2024年度 進捗管理
火曜2時間目クラス 火曜5時間目クラス どちらも、ここまで進んだ。
次回は、実験3.3のアナログでLED制御から。 MA09に進んだ。
Arduino のピン 2 に挿した端子を隣の ピン 3~ に挿しなおす。
番号に ~ 記号の付いたピンは PWM モードが使える。(Pulse Width Modulation)解説記事
MaxuinoのGUIの3番ピンをPWMモードに変える。
3番ピンのフェーダーを上下させて LED明るさの変化 を確認する。
2024年度スケジュール変更
以下の演習はスキップしてMA09に進む。
Max8のパッチャーでLEDを制御する。
4. do your thing にあるサブパッチャー p digital OUTPUT をダブルクリックしてサブパッチャーを開く。
Arduinoのピンのモードをデジタル出力モードにサブパッチャーから変更する。
select pin # の下の数値ボックスを 0 から 3 に変更
動作確認
サブパッチャーのトグルスイッチを ON OFF してLEDの点滅を確認する。
サブパッチャーを改造する。
例)
サブパッチャー p digital OUTPUT を開いて改造した様子。
metro で指定した時間間隔(ms単位)でLEDが点滅する。
パッチャーに改造を加える。
回路に改造を加える場合はArduino の USBケーブルを抜いてiMacから外す。※
※再接続時に 1. select port と 2.init の設定も再び行う。
回路制作の例)
ArduinoのピンにLEDの制御回路を増設する(色は自由・抵抗は220Ω程度)
または
Arduino スターターキットのプロジェクト 2 か3か 4 あたりの回路を作成
ArduinoのピンをMaxuinoから制御するパッチを作成する。
Max8の音響や映像と連動させる。
これまでに作成したパッチャーを開いて、音や映像を出力する部分に s AR0(sendオブジェクト)でメッセージ出力を加える。
Maxuinoのパッチャーに r AR0(recieveオブジェクト)を加えLEDの点灯スイッチに接続する。
metro 、counter、 sel、random などのオブジェクトを利用して様々なLEDの点滅パターンを作成する。(次回講義で作成例を紹介)
改造の例)
(1/5) LEDを2つに増やす。ArduinoのDigital 4番pinで制御するように回路を作成。
(2/5) p digital OUTPUT のパッチャーオブジェクトを複製する。
(3/5) 複製したパッチャーのoutletを s to-maxuinoに接続する。
(4/5) 複製したパッチャー開く。
select pin # を 4 に変更する。
(5/5) 複製元と複製したパッチャーを編集する。
s on と r on でmetroのタイミングを同期させる、または、
delay 1000 を経由して遅延して連鎖させる。
回路が動作している様子などを動画や写真撮影してWebclassにアップロードする。
MA09の演習3に進む。
アナログセンサー(光センサー)の応用を扱う。
ArduinoのプロジェクトブックにはArduino単体で動作する幾つかのプロジェクトが紹介されています。試してみて下さい。
http://www.petitmonte.com/robot/arduino_project_book.html 誤植の指摘や、作成回路の動作例が動画で載っているブログ
プロジェクト用の スケッチ(プログラム)は、arduino IDE の ファイル→ StarterKit_BasicKit にあらかじめ用意されています。
選んで開いて改造してみましょう。
お勧めプロジェクト
・02 宇宙船の操縦桿
1年生の時に制作した工作である。
押しボタンスイッチとLEDを連動させる
実体配線図の差し込み位置が印刷で分かりにくいところが有るので注意。
・03 ラブメーター
温度センサーとLEDを連動させる
動作確認でプログラムの修正が必要。自分の体温に合わせて修正。
・06 明るさテルミン
照度センサー(明るさセンサー)とブザーを連動させる
・07 キーボード楽器
複数の押しボタンスイッチとブザーを連動させる
・08 デジタル砂時計
転倒スイッチとLEDを連携させる
動作確認ではLEDが点灯する速度を上げるように調整する。未調整では1つ点灯するのに10分必要。
・13 触って点けるランプ
接触センサーとLEDを連携させる