我想用电位计设定时间间隔。我想在1到6秒内选择它。我该怎么做呢?
到目前为止,我已经有了这个。如果我用电位器,光就会由亮变暗。
(我使用Arduino Uno,我用C++编程)。
const byte pot = 0;
int potWert=0;
potWert = analogRead(pot);
analogWrite(led,potWert/4);
Serial.println((byte)potWert); //just for output on the serial monitor发布于 2013-05-31 19:01:26
analogRead读取的范围是0到1023。你需要根据你的时间间隔来调整它。
你说你想要1到6秒的范围(而不是0到6?)。为了将其正确缩放到罐子,您需要将1023除以6(如果您需要0到6的范围,则为7)。所以:
1023 / 6 = 170.5因此,您需要使用:
analogWrite(led,potWert/170.5);假设你想要精确到10毫秒单位
1023 / 600 = 1.705因此:
analogWrite(led,potWert/1.705);发布于 2013-06-03 13:31:03
这是一种很困难的方式,并且使代码难以阅读。使用map语句。下面是Arduino参考中的一个示例:
示例
/* Map an analog value to 8 bits (0 to 255) */
void setup() {}
void loop()
{
int val = analogRead(0);
val = map(val, 0, 1023, 0, 255);
analogWrite(9, val);
}https://stackoverflow.com/questions/16852695
复制相似问题