编辑:已解决
正如标题一样,我无法让 ATTiny85 上的任何模拟输入从 POT 中读取。为了调试和测试,它目前连接到一个带有 8 个 LED 的移位寄存器。仅输出 int 值时,此设置工作正常。在这一点上,我有点失落。
我对ATTiny的经验很少,所以我打赌它很傻。POT 与 +5VDC 的一侧和模拟读取引脚上的中心抽头相连。
int data = PB0;
int clock = PB2;
int latch = PB3;
int ledState = 0;
int POT = PB4;
int PWM = 255;
int LED;
const int ON = HIGH;
const int OFF = LOW;
void setup()
{
pinMode(data, OUTPUT);
pinMode(clock, OUTPUT);
pinMode(latch, OUTPUT);
pinMode(POT, INPUT);
}
void loop()
{
LED = analogRead(POT);
LED = map(LED, 0, 1023, 0, 255);
updateLEDs(LED);
delay(1000);
}
void updateLEDs(int value){
digitalWrite(latch, LOW); //Pulls the chips latch low
shiftOut(data, clock, MSBFIRST, value); //Shifts out the 8 bits to the shift register
digitalWrite(latch, HIGH); //Pulls the latch high displaying the data
}