次は超音波センサーを接続してみます。
何で買ったかは記憶に無いのですが・・・EZ1という超音波センサーのユニットが転がっていましたのでそれを接続してみます。
このユニットは3種類の出力方法があります。
・シリアル接続
・普通のアナログ出力
・PWM出力
シリアル接続は・・・難しそうなのでパス。
普通のアナログ出力は、問題なくできました。(あたりまえ!)
で、PWM出力に挑戦です。
EZ1のPW端子をArduinoのデジタル入力(D7)につなぎます。
プログラムは
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,10,5,4,3,2);
void setup()
{
pinMode(7,INPUT);
}
void loop()
{
long x;
x = pulseIn(7,HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print( x,DEC );
delay( 250 );
}
こんな感じです。
いや、もう、簡単にできて良いのでしょうか?
これだと、常に超音波を出し続けることになります。
センサーのRX端子をLOWにするとセンサーを停止し、HIGHにするとセンサーを有効にできますので、必要の無い時には停止し、必要のあるときにだけ超音波を出すことができるようです。