ADキーパッドを使おう
ここからは、ロボットの応用編となります。ロボットをセンサーやBluetoothと組み合わせて動かす方法を説明します。
ADキーパッドとは
OctopusADキーパッド(Octopus ADKeypad)は5つのボタンの状態をアナログピン一つで読み取ります。これによって、Arduino のIOを節約することができます。
ADキーパッドをロボットに載せてみよう
今回はADキーパッドをロボットのコントローラーとして使用します。ADキーパッドを付属のケーブルでFreaduino UNOに接続してください。
接続関係は以下の通りです。
- (ADキーパッド)S-A0(Freaduino):A0とプリントされた、黄色いピンヘッダ
- (ADキーパッド)V-5V(Freaduino):赤いピンヘッダ
- (ADキーパッド)G-GND(Freaduino):黒いピンヘッダ
ADキーパッドのデモプログラムを使おう
配線が完了したら、デモプログラムRobot_ADkey.ino(1035)をダウンロードして、ロボットにインストールしてください。トリムは再度調整しておいてください。62行目のtmp_trim[SERV_NUM]={0,0,0,0}; を修正します。
このデモプログラムを書き込むときは、サーボモータのケーブルを外しておいてください。プログラムを書き込む際に電圧降下を起こさないようにするためです。
下記が、デモプログラムのRobot_ADkey.inoのメイン関数にあたる部分の抜粋です。各ボタンが押されると、対応するモーションが実行されるようになっています。
//==================================================================================================================== //Main //==================================================================================================================== void setup(){ initServo(); } void loop(){ adc_key_in = analogRead(0); // read the value from the sensor key = get_key(adc_key_in); // convert into key press switch(key) { case 0:playMotion(move_forward, 6); break; case 1:playMotion(move_back, 6); break; case 2:playMotion(turn_left, 7); break; case 3:playMotion(look_around, 5); break; case 4:playMotion(turn_right, 7); break; } delay(100); }
正しく、デモプログラムがインストールされていれば、ボタンを押すと、ロボットが動きます。