だから私の問題は、タイトルが言うように: Arduino UNO analogRead は常に 1023 を返します。
しかし、同じスケッチを Arduino Mega 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();
}
どんな助けでも大歓迎です