超音波距離センサーを使ってみる

なのぼ~ど に超音波距離センサーを繋いで、Scratchから距離を測れるようにして,

障害物を検知する自律走行車 「なのか~」 を作ってみました

sonor3

今回使用した中国製超音波距離センサーは、スピーカに38KHzのパルスを送り、反射してきた音波をマイクで拾って整形して出力します。センサー上はアナログ回路だけで、反射波の遅延時間から距離を計算する処理はマイコン側のソフトウエアで行います。 5V駆動時で、2cm~100cm以上のレンジがあります。

試してみたい方に、500円で頒布いたします。

soner1

今回使用した距離センサーは、なのぼ~ど基板にコネクタをひとつ追加するだけで実装できました。

3ピンのピンソケットをサーボ端子に斜めにはんだづけ

image010

超音波距離センサーを写真の様に2本を斜めにして、端から1ピン空けてピンソケットに挿入

image011

これで、実装は完了です。

障害物を検知する自律走行車 「なのか~」では、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=0×94
atmega8o83.bootloader.high_fuses=0xDC
atmega8o83.bootloader.path=optiboot
atmega8o83.bootloader.file=optiboot_cp83.hex
atmega8o83.bootloader.unlock_bits=0×3F
atmega8o83.bootloader.lock_bits=0×0F

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接続したポート名を選択します。

これでスケッチのアップロードができるようになります。

今後は、なのぼ~どは、このファームウエアで出荷いたします。

__________________________________________________

One Response to “超音波距離センサーを使ってみる”

  1. [...] 超音波距離センサーで壁までの距離を測って、迷路抜け等をプログラミングできます。 [...]

Leave a comment