1
所以我的問題是作爲標題所說:Arduino的UNO analogRead總是返回1023的Arduino UNO analogRead總是返回1023
但是,當我燒同樣的草圖中的Arduino兆2650一切就像一個魅力。
我試圖改變UNO上的Atmel芯片,嘗試像3個(ATMEGA328P-PU),沒有任何變化。
我試圖計數來自霍爾效應傳感器的信號並在7段顯示器上顯示計數。
下面是代碼:
#include "SevSeg.h"
SevSeg sevseg;
volatile int rpmcount;
void setup() {
Serial.begin(9600);
pinMode(2,INPUT_PULLUP);
rpmcount = 0;
sevseg.Begin(1,3,4,5,6,7,8,9,10,11,12,13);
}
int border=15;
void loop() {
int tmp=0;
tmp = analogRead(0);
if(!digitalRead(2))rpmcount=0;
Serial.println(tmp,DEC);
if(tmp<=border && res >border){
rpmcount++;
if(rpmcount>9999)rpmcount=0;
}
res=tmp;
sevseg.NewNum(rpmcount,(byte) 0);
sevseg.PrintOutput();
}
任何幫助,將不勝感激
你測試了你從pin2如果霍爾傳感器沒有連接?你有沒有嘗試過使用另一個引腳輸入? – MortenSickel 2013-04-23 12:43:12
如果傳感器沒有連接,我仍然得到1023。 剛剛嘗試了更改要使用的模擬引腳的建議 - 結果與之前完全相同。我有點失落在這一個。 – halloweenlv 2013-04-23 12:56:56
因爲你換了CPU,所以聽起來好像PCB壞了......: -/- 嘗試將引腳接地並看它是否顯示0 - 如果不是,則肯定是錯誤的。 – MortenSickel 2013-04-23 13:27:05