2013年9月28日 星期六

Arduino範例16:讓超音波量測結果顯示在 LCD 銀幕上

P.S.感謝本次程式由林群鈞指導撰寫

繼「Arduino: 使用 16x2 的 LCD 銀幕」、「Arduino: 測試超音波模組(HC-SR04)
這次要結合這兩項東西,讓量測的結果顯示在LCD的銀幕上。
詳細的LCD 規格與 HC-SR04的規格請參考前面兩篇。

接線圖
LCD端的接法跟上一篇一樣,至於HC-SR04則把Pin腳移到Pin6與Pin7上。


Code
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int trig = 6;
const int echo = 7;
int inter_time = 1000;
int time = 0;

void setup() {
  Serial.begin(9600);  
  lcd.begin(16, 2);
  pinMode (trig, OUTPUT);
  pinMode (echo, INPUT);
}

void loop() {
  float duration, distance;
  digitalWrite(trig, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trig, LOW);
  duration = pulseIn (echo, HIGH);
  distance = (duration/50);
  lcd.setCursor (0,0);
  lcd.print("Data No.");
  lcd.print (time);
  time = time +1;
  lcd.setCursor(0, 1);  
  lcd.print ("Distance:");   
  lcd.print(distance);
  lcd.print ("cm");
  delay(900);
  lcd.clear();
  delay(100); 
}

Video
影片有實際測試的結果

-------------------
相關文章:

12 則留言:

  1. 作者已經移除這則留言。

    回覆刪除
  2. 謝謝您無私的分享,上面許多範例讓學習過程事半功倍。

    回覆刪除
  3. 請問 有辦法隨著距離的遠近控制其他元件嗎

    回覆刪除
    回覆
    1. 有阿 讓ARDUINO在某距離的時候 對某引腳放出電壓
      例如倒車雷達 距離接近 蜂鳴器開始鳴叫

      刪除
  4. distance = (duration/50)
    請問這是怎麼來˙的?

    回覆刪除
  5. 作者已經移除這則留言。

    回覆刪除
  6. 有辦法加上藍牙聯手機顯示數據嗎

    回覆刪除
  7. 回覆
    1. VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVERY GOOOOOOOOOOOOOOOOOOOD!

      刪除
  8. 請問可以將超音波感測換成紅外線感測器嗎

    回覆刪除