Robofun 機器人論壇

標題: 詭異的LED燈 [打印本頁]

作者: liming    時間: 2012-7-2 00:25
標題: 詭異的LED燈
我是初學者,想按照書上教學,用一個按鈕控制LED燈,線路照片所示。
可是詭異事情發生,當我的手靠近燈,燈才會亮,手遠離就會熄滅
我把加在上面那塊原型版移除,只用uno同樣線路去測試就很正常
所以是那快板子問題嗎,手怎會影響?

作者: sinocgt    時間: 2012-7-2 10:36
你接線怎麼接的? 看不清楚!
作者: liming    時間: 2012-7-2 14:07
LED接在digital 12跟GND
Button是四腳的,一腳接在PIN 7,另一斜對腳接在5V

同樣接法,把上面這個原形版(應該是這樣稱呼吧?)移除,同樣接法接在UNO上面就正常...
是會受到手的靜電之類影響嗎?有什麼方法改善嗎?因為原型版在擴充方面比較方便,不想移除使用。
作者: sinocgt    時間: 2012-7-2 18:32
因為你的Pin 7在未按上button時,電壓值是浮動,因為是浮動所以非常敏感! 要接一顆電阻,參考這裡 http://arduino.cc/it/Tutorial/Button
作者: coopermaa    時間: 2012-7-2 21:45
怪~ 好像有好幾個人反應同樣的問題了
而且都是「照書上做的」....

很好奇大家都是看哪本書..
作者: liming    時間: 2012-7-3 21:39
因為你的Pin 7在未按上button時,電壓值是浮動,因為是浮動所以非常敏感! 要接一顆電阻,參考這裡
sinocgt 發表於 2012-7-2 18:32



感謝你的方法,我依照此圖,並用Serial.println把按鈕的值印出來,很穩定...但又產生另一個問題

就是不管我按鈕怎麼按,LED都不會有反應...LED也需要接電阻嗎?我接一個220 ohm也沒用...


  1. void loop()  
  2. {
  3.     val = digitalRead(btn);
  4.     Serial.println(val);

  5.     if(btn == HIGH)
  6.         digitalWrite(led, HIGH);
  7.     else
  8.         digitalWrite(led, LOW);
  9. }
複製代碼



哪本書喔...就在市面上可以看到跟入門套件組一起賣的那本書
作者: coopermaa    時間: 2012-7-3 22:00
這行不對:
if (btn == HIGH) ...

這樣是比較 btn  是否為 HIGH,但是 btn 是 pin number ,並不是 digitalRead() 回來的結果喔

原來是那本書..... 我認識作者,應該要叫他請我們吃東西 haha~~
作者: liming    時間: 2012-7-4 00:09
這行不對:
if (btn == HIGH) ...

這樣是比較 btn  是否為 HIGH,但是 btn 是 pin number ,並不是 digi ...
coopermaa 發表於 2012-7-3 22:00


竟然犯這種錯誤Orz...昏倒,明天再來測試看看


感謝...




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2