{{outline}} !!!超音波センサーを使おう !!超音波センサーとは 超音波センサーとは超音波の反射を利用して対象物までの距離を測る測距センサーです。 ヴイストンロボットショップでは超音波距離センサモジュール HC-SR04をお求めいただけます。測定可能距離は2cm-450cmです。ArduinoやFreaduinoと接続して使うことができます。 [超音波距離センサモジュール HC-SR04|http://www.vstone.co.jp/robotshop/index.php?main_page=product_info&products_id=4239] {{ref_image sonic.JPG}} !!超音波センサーをロボットに載せてみよう 超音波距離センサモジュール HC-SR04をロボットに載せます。'''頭部前面板'''に'''HC-SR04'''を両面テープ等で貼り付けます。'''配線'''は'''頭部前面板'''と'''頭部上面板'''の間を通します。 (注)下の写真のHC-SR04と、現在ロボットショップで販売しているものは色と形が若干異なりますが、機能は同じです。 {{ref_image sonic01.jpg}} '''HC-SR04'''の各ピンを'''Freaduino UNO'''にケーブルで接続します。接続ピンは以下の通りです。<<接続にはメス―メスのジャンパー線が4本必要です。>> +(HC-SR04)VCC-5V(Freaduino):赤いピンヘッダならどこでも構いません +(HC-SR04)TRI-A0(Freaduino):A0とプリントされた、黄色いピンヘッダ +(HC-SR04)ECH-A1(Freaduino):A1とプリントされた、黄色いピンヘッダ +(HC-SR04)GND-GND(Freaduino):黒いピンヘッダならどこでも構いません {{ref_image sonic02.jpg}} 次に、超音波センサーのデモプログラム{{ref demo_sonic01.ino,超音波センサーを使おう}}をダウンロードして、ロボットにインストールしてください。配線とプログラムのインストールが正しく行われていれば、超音波センサーの前に手をかざすとロボットが歩き出します。トリムは再度調整しておいてください。64行目のtmp_trim[SERV_NUM]={0,0,0,0}; を修正します。 <<このデモプログラムを書き込むときは、サーボモータのケーブルを外しておいてください。プログラムを書き込む際に電圧降下を起こさないようにするためです。>> {{ref_image sonic03.jpg}} 以下は超音波センサーのデモプログラムの抜粋です。超音波センサーで距離25cm以内になにかあれば、進むという処理になっています。 デモコードのif文の中のplayMotion(move_forward, 6);をplayMotion(move_back, 6);に変更すると、手をかざしたときに後退します。反応距離(下の例ではif(dist<25))を変更すると、手をかざして反応する距離が変化します。色々試してください。 {{include_html sc_sonic01}} なお、超音波センサーから読み取った値をシリアルモニタで確認することができます。距離を実際に確認したい場合は、ボーレート9600でシリアルモニタを立ち上げてください。以下のように、超音波が帰ってくるまでの時間と、対象物までの距離が表示されます。 {{ref_image sonic_serial.png}} !!LEDをインジケーターとして使ってみよう ロボットにセンサー等を搭載した場合、センサーが反応しているか確認するためにLEDをインジケーターとして搭載することがあります。ここでは[Octopus LEDライトブリック(青)|http://www.vstone.co.jp/robotshop/index.php?main_page=product_info&manufacturers_id=97&products_id=4356]をインジケーターとして使ってみます。 下の写真のように、'''Octopus LEDライトブリック(青)'''を'''頭部上面板'''の見やすい位置に両面テープ等で固定してください。 {{ref_image sonic04.jpg}} '''Octopus LEDライトブリック(青)'''と'''Freaduino UNO'''をOctopus LEDライトブリック(青)に付属するケーブルで接続します。接続関係は以下の通りです。 +(Octopus LEDライトブリック(青))S-A2(Freaduino):A2とプリントされた、黄色いピンヘッダ +(Octopus LEDライトブリック(青))V-5V(Freaduino):赤いピンヘッダ +(Octopus LEDライトブリック(青))G-GND(Freaduino):黒いピンヘッダ {{ref_image sonic05.jpg}} 次に、超音波センサーとLEDインジケーターのデモプログラム{{ref demo_sonic02.ino,超音波センサーを使おう}}をダウンロードして、ロボットにインストールしてください。配線とプログラムのインストールが正しく行われていれば、超音波センサーの前に手をかざすとロボットが歩き出し、かつ、LEDが光ります。<<トリムは再度調整しておいてください。>>58行目のtmp_trim[SERV_NUM]={0,0,0,0}; を修正します。 <<このデモプログラムを書き込むときは、サーボモータのケーブルを外しておいてください。プログラムを書き込む際に電圧降下を起こさないようにするためです。>> {{ref_image sonic06.jpg}} 以下はデモプログラムの抜粋です。digitalWrite関数でLEDの出力を制御しています。非常に単純ですが、目に見えないセンサーや無線通信等が機能しているかを確認したい場合に重宝します。 +digitalWrite(LED,HIGH); LEDを点灯する +digitalWrite(LED,LOW); LEDを消す {{include_html sc_sonic02}} [[<<前のページ|ADキーパッドを使おう]]  [[目次|ピッコロボ取扱説明書]]  [[次のページ>>|人感センサーを使おう]]