Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3964|回復: 3
打印 上一主題 下一主題

LED燈跟蜂鳴器同時進行

[複製鏈接]
1#
發表於 2017-6-16 15:36:10 | 顯示全部樓層
因為這個迴圈
while(distance>0)
{
....
}
你的程式就會卡在這個迴圈內
因為在這個迴圈內, 不會改變 distance 的值
所以 一旦 distance 大於 0,
就會永遠卡在裡面出不來
2#
發表於 2017-6-16 21:25:21 | 顯示全部樓層
本帖最後由 超新手 於 2017-6-19 12:37 編輯

應該是delay(duration);這個寫錯了
你把兩個變數命名成同一名稱 duration
delay(duration);用的應該是 int duration[]
而不是 float duration
超音波用  float duration
蜂鳴器用  int duration[]
兩個沖到了

1) 把 float duration 名稱改掉
float dura, distance;;
................
  dura= pulseIn (echo, HIGH);
  distance = (dura/2)/29;
2) 把 delay 改正確
delay(duration[thisNote]);

至於 while 雖然是錯的
但因為裡面加了兩個 break
所以負負得正,所以又變得沒問題
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-5 01:41 , Processed in 0.242712 second(s), 6 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表