2015年9月7日月曜日
赤外距離センサーのサンプルスケッチ
//****************************************
//赤外距離センサーで障害物までの距離を測定。
//距離はLCDとSerialに出力
//****************************************
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,4,5,6,7); //lcdタイプの変数を定義
int inAD;
float volt1,dst1;
int pinAD = 1;
//SETUP*********************************
void setup() {
lcd.begin(16, 2); // 行と列を設定
Serial.begin(115200);
}
//MAIN LOOP******************************
void loop() {
//ADポートから読み取り、電圧値に直し、距離を算出
inAD= analogRead(pinAD);
volt1=5.0*inAD/1024;
dst1=26.549*pow(volt1,-1.2091);
//AD値と電圧を表示
lcd.clear();
lcd.print("AD=");
lcd.print(inAD);
lcd.setCursor(8,0);
lcd.print(volt1);
lcd.print("volt");
//距離表示位置を決める
if (dst1<10) {
lcd.setCursor(3,1);
} else if (dst1<100) {
lcd.setCursor(2,1);
} else if(dst1<1000) {
lcd.setCursor(1,1);
} else {
lcd.setCursor(0,1);
}
//距離を表示
lcd.print(dst1,1); //小数点以下1桁
lcd.print("cm");
//距離をシリアルに送信
Serial.print(dst1);
Serial.println("cm");
//測定表示周期(ms単位)
delay(100);
}
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿