超音波距離センサーを使ってみる
2013/10/24なのぼ~ど に超音波距離センサーを繋いで、Scratchから距離を測れるようにして,
障害物を検知する自律走行車 「なのか~」 を作ってみました
今回使用した中国製超音波距離センサーは、スピーカに38KHzのパルスを送り、反射してきた音波をマイクで拾って整形して出力します。センサー上はアナログ回路だけで、反射波の遅延時間から距離を計算する処理はマイコン側のソフトウエアで行います。 5V駆動時で、2cm~100cm以上のレンジがあります。
試してみたい方に、500円で頒布いたします。
今回使用した距離センサーは、なのぼ~ど基板にコネクタをひとつ追加するだけで実装できました。
3ピンのピンソケットをサーボ端子に斜めにはんだづけ
超音波距離センサーを写真の様に2本を斜めにして、端から1ピン空けてピンソケットに挿入
これで、実装は完了です。
障害物を検知する自律走行車 「なのか~」では、PCとのUSBケーブル接続を取り去るために、Lipo充電池とBluetooth serialモジュールを搭載しています。
–
●なのぼ~どのファームウエア対応
Arduinoでは、多くのセンサー用ライブラリーが公開されており、いくつかある超音波距離センサーのライブラリーからNewPingをなのぼ~どのATMega8用に修正して利用しました。
Scratchからセンサーを使うため、なのぼ~ど上のarduinoスケッチを改造しました。 抵抗Aに距離センサーの値(2~100cm,100cm以上は0になります。)が表示されます。
NanoBoardAGWithMotorTrio_diag_sonerm4
2モーターで距離センサが使えるMode2を追加、bluebotは、Mode3に変更しました。
また、電源投入時に現在のモードの回数だけLEDが0.2秒間隔で点滅します。
ー
●なのぼ~どAG モーター用Scratchファイル一式ダウンロード
ー
改造したファームウエアNBAGQuat_diag_soner384(94DC)です。
Bootloaderは、通信ボーレートが38400bpsに変更されています。
●PCと接続してarduino環境を使う
Arduino IDE V1.05で、動作確認しています。
arduinoフォルダの中にある、hardware\arduino\boards.txt に下記を追加します。
##############################################################
atmega8o83.name=chibiDuino pro ATmega8 38400 optiboot
atmega8o83.upload.protocol=arduino
atmega8o83.upload.maximum_size=7680
atmega8o83.upload.speed=38400
atmega8o83.bootloader.low_fuses=0x94
atmega8o83.bootloader.high_fuses=0xDC
atmega8o83.bootloader.path=optiboot
atmega8o83.bootloader.file=optiboot_cp83.hex
atmega8o83.bootloader.unlock_bits=0x3F
atmega8o83.bootloader.lock_bits=0x0F
atmega8o83.build.mcu=atmega8
atmega8o83.build.f_cpu=8000000L
atmega8o83.build.core=arduino
atmega8o83.build.variant=standard
##############################################################
–
Arduinoの Tools ? board プルダウンメニューから”chibiDuino pro ATmega8 38400 optiboot”を選択し、Tools ?portで、USB接続したポート名を選択します。
これでスケッチのアップロードができるようになります。
今後は、なのぼ~どは、このファームウエアで出荷いたします。
__________________________________________________
[…] 超音波距離センサーで壁までの距離を測って、迷路抜け等をプログラミングできます。 […]