//-------------------------------------- //file :son.ino //author:Victor Chen //web :www.vic8051.com //參考資料:Arduino實作入門與應用 ----台灣/松崗 //-------------------------------------- #include //引用LCD程式庫 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //設定 lcd 腳位 int trig = 10; //設定觸發腳位 int echo = 9; //設定返回信號腳位 float cm; //設定返回信號腳位 void setup()//初始化設定 { Serial.begin(9600); Serial.print("sonar test:"); lcd.begin(16, 2); lcd.print("AR SO measure"); pinMode(trig, OUTPUT); pinMode(echo, INPUT); } unsigned long tco() //高電位脈衝時間寬度量測 { //發出觸發信號 digitalWrite(trig, HIGH); //設定高電位 delayMicroseconds(10); //延遲10 us digitalWrite(trig, LOW); //設定低電位 return pulseIn(echo, HIGH); //傳回量測結果 } void loop()//主程式迴圈 { cm=(float)tco()*0.017;//計算前方距離 Serial.print(cm); //串口顯示資料 Serial.println(" cm"); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print(cm,1); //LCD顯示資料 lcd.print(" c m"); delay(500); }