在arduino上学习74HC595的用法,想拿电位器控制一排小灯,达到类似调音量的那种效果,写的如下的程序:
int in = 0;
int DS = 2;
int SH_CP = 3;
int ST_CP = 5;
int out;
int out1;
void setup()
{
Serial.begin(9600);
pinMode(DS, 1);
pinMode(SH_CP, 1);
pinMode(ST_CP, 1);
}
void loop()
{
out1 = analogRead(in);
out1 = map(out1, 0, 1023, 0, 8);
out = pow(2, out1) - 1;
digitalWrite(ST_CP, 0);
shiftOut(DS, SH_CP, LSBFIRST, out);
digitalWrite(ST_CP, 1);
Serial.print(out1);
Serial.print(" ");
Serial.println(out);
}
结果输出的out1和out的对应关系是
0 - 0(正确)
1 - 1(正确)
2 - 2(应该是3)
3 - 6(应该是7)
4 - 14(应该是15)
5 - 30(应该是31)
6 - 62(应该是63)
7 - 126(应该是127)
这个问题出的太诡异了,哪位帮忙看看怎么回事,谢谢!!