好久沒來寫文章了
來聊聊最近無聊做的一個小東西吧
暑假剛結束,開學後小朋友回家時總是有一堆功課要寫,偏偏寫到一半,就都會發現他們的頭都快貼到桌面上去了!
每次只要一提醒完沒多久,他們的頭就又慢慢的低下去了
因此就想說試著弄個小東西來提醒一下!!
簡單的想法如上圖
而使用到的東西,因為沒打算洗板子,就拿現有的實驗套件來用吧
主要用到就三個模組, 1. Aduino 主板 2. 超音波測距模組 3. 錄放音模組
程式部分主要就拿簡單的範例來進行修改
--------------------------
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();
}
----------
這樣就完工囉!
先測試一下 接下來再找個盒子來裝他吧
留言列表