H8で超音波センサの実験
MX001 LV-MaxSonarをメカロボショップさんから購入しました.
動作チェック.
動画はyoutubeにアップ,超音波センサのテスト.
電源5VとGNDをつなぐだけで,アナログ出力で距離がわかります.
ただし,静止画を見るとわかるように,アナログ出力は不安定,時々パルス状に
レベルが変化したり,大きな距離変化を加えるとアナログ信号が乱れるようです.
2.54cm単位の出力なので長距離レンジでの用途には使えそうです.
英語マニュアルをよく読んだら,パルス幅出力もあることがわかりました.
早速テストしてみると,安定してていい感じです.分解能もちょっといいかも・・・?
そこで,H8で読み取りプログラムを作りました.
アナログよりパルス幅出力(PW)の方が安定してます.
H8のデジタル入力からパルス幅をカウントしてLCDに表示させてみました.
こんな感じ↓
プログラムは,前に書いたラジコンの送信機の信号自動切換えのタイマVの割込みのなかに
もう一つソフトウェアカウンタを2行追加し,LCD表示の関数を組み込んだけ.
パルス幅が147μS/inchらしいので,100μsくらいでカウンタを回すと丁度いい感じです.
if (IO.PDR8.BIT.B6==1) cntU++; // P86 にPW信号入力
else if (cntU!=0){ disO=cntU; cntU=0;} // cntUでカウンタ,disOに保持
ESP32 Wifi Bluetooth開発ボード |
Arduino Nano Every |
Raspberry Pi pico |
FPGA XILINX Artix-7 |