最近在公司開發一個Arduino模擬機房的系統,但是碰到一個很奇怪的問題,就是我的Arduino的Pin腳會自己觸發到訊號,整個拔掉只剩Arduino放在旁邊也會這樣,所以我打了一個城市間看是甚麼問題
程式如下:
void setup(){
for(int i=0;i<14;i++)
pinMode(i,INPUT);
pinMode(A0,INPUT);
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A3,INPUT);
pinMode(A4,INPUT);
pinMode(A5,INPUT);
Serial.begin(9600);
}
void loop(){
int j;
for(int i=0;i<14;i++)
{
j=digitalRead(i);
Serial.print(i);
Serial.print("=");
Serial.println(j);
}
delay(500);
Serial.println("===========================");
}

然後序列埠監看視窗長這樣:
0=1
1=1
2=0
3=0
4=0
5=0
6=0
7=0
8=0
9=0
10=0
11=1
12=0
13=1
===========================
0=1
1=1
2=0
3=0
4=0
5=0
6=0
7=0
8=0
9=0
10=0
11=1
12=0
13=1
===========================
有時候就會有些接腳會有HIGH訊號,是這個板子會掉了還是有甚麼辦法可以解決?
之前也有一塊板子會這樣,但是更嚴重,所以買了一塊新的板子,原本使用都沒問題但是要上機實測的時候就發現會這樣了
這位大哥,你應該沒有開發arduino的經驗吧?

輸入腳位你設定INPUT,然後沒接東西,你覺得它會量到幾V的電壓?
sagat wrote:
這位大哥,你應該沒有...(恕刪)

重點就是我沒接任何東西但是讀出來的卻是HIGH而不是LOW
你不接任何東西,讀出來的數值本來就不穩定,稱之為 floating 狀態,

不管讀到high或者low都有可能,這是正常的,你的板子沒有壞。

如果你是要讀取開關的on/off狀態,你要接上pull-up或者pull-down電阻,

arduino板子一般內建了pull-up電阻,只要pinMode設定成 INPUT_PULLUP就可以了,省去外接電阻的麻煩。
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!