Arduino代码无法正常工作

时间:2012-01-19 01:56:41

标签: arduino

我的计划是制作一个可调速的闪光灯。我正在学习编码,这是我到目前为止所做的。

int potentiometer_pin = A0;
int led_pin = 7;
int on_time = 100;
int analog_value_multiplier = 15;
int strobe_delay = 0;
int minimum_delay = 500;
void setup() {
  pinMode(led_pin, OUTPUT);
}
void loop() {
  strobe_delay = minimum_delay + analogRead(potentiometer_pin) * analog_value_multiplier;
  digitalWrite(led_pin, HIGH);
  delayMicroseconds(on_time);
  digitalWrite(led_pin, LOW);
  delayMicroseconds(strobe_delay - on_time);
}

我的数字7上的LED +带有一个220欧姆的电阻器和模拟0上的电位器,它是一个10K电位器,一端连接到5v +,另一端接地。我的问题是LED保持开启并且转动电位器只会改变亮度。有关做什么的任何帮助 - 不只是新代码,而是做什么?我想知道如何解决这个问题。

2 个答案:

答案 0 :(得分:4)

像大卫说的那样,但我会补充一下,我想你想要延迟而不是延迟微秒。

http://arduino.cc/en/Reference/delay

答案 1 :(得分:3)

你的速度都 WAY 太快了。将所有延迟乘以约100.您已经制作了脉冲宽度调制器。