我的计划是制作一个可调速的闪光灯。我正在学习编码,这是我到目前为止所做的。
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保持开启并且转动电位器只会改变亮度。有关做什么的任何帮助 - 不只是新代码,而是做什么?我想知道如何解决这个问题。
答案 0 :(得分:4)
答案 1 :(得分:3)
你的速度都 WAY 太快了。将所有延迟乘以约100.您已经制作了脉冲宽度调制器。