close

好久沒來寫文章了

來聊聊最近無聊做的一個小東西吧

暑假剛結束,開學後小朋友回家時總是有一堆功課要寫,偏偏寫到一半,就都會發現他們的頭都快貼到桌面上去了!

每次只要一提醒完沒多久,他們的頭就又慢慢的低下去了

因此就想說試著弄個小東西來提醒一下!!

 

新點陣圖影像 (3).jpg

 

簡單的想法如上圖

而使用到的東西,因為沒打算洗板子,就拿現有的實驗套件來用吧

主要用到就三個模組, 1. Aduino 主板 2. 超音波測距模組 3. 錄放音模組

S_4969882074801.jpg

程式部分主要就拿簡單的範例來進行修改

 

--------------------------

 

void detection

{     

 

Distance();            // 讀取前方距離

 

  if(Fspeedd < 30)         // 假如前方距離小於30公分

  {

   digitalWrite(playPin, HIGH);   // 撥放音檔開始

    delayMicroseconds(2);

    digitalWrite(playPin, LOW);  //撥放音檔結束}

 

}   

void Distance()   // 量出前方距離

{

  myservo.write(90);

  digitalWrite(outputPin, LOW);   // 讓超聲波發射低電壓2μs

  delayMicroseconds(2);

  digitalWrite(outputPin, HIGH);  // 讓超聲波發射高電壓10μs,這裡至少是10μs

  delayMicroseconds(10);

  digitalWrite(outputPin, LOW);    // 維持超聲波發射低電壓

  float Fdistance = pulseIn(inputPin, HIGH);  // 讀差相差時間

  Fdistance= Fdistance/5.8/10;       // 將時間轉為距離距离(單位:公分)

  Serial.print("F distance:");      //輸出距離(單位:公分)

  Serial.println(Fdistance);         //顯示距離

  Fspeedd = Fdistance;              // 將距離 讀入Fspeedd(前速)

} 

 

 

void loop()

{

   detection();        

}

 

----------

這樣就完工囉!

先測試一下 接下來再找個盒子來裝他吧

 

arrow
arrow

    Mr Sitdownplz 發表在 痞客邦 留言(0) 人氣()