-1
LEDを制御するデューティ・サイクルのデューティ・サイクルと周波数を制御したいと考えています。なぜ私のArduinoハンドルはPWM信号を作ることができませんか?
float dutycycle = 1000;//base dutycycle is x microseconds
float duty_on = 500;//on-time in microseconds
float multiplicator = 1;//dutycycle multiplicator to tune the frequency of the signal
float duty_off = dutycycle - duty_on;
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);//bright
delayMicroseconds(duty_on*multiplicator); //waiting
digitalWrite(LED_BUILTIN, LOW);//dark
delayMicroseconds(duty_off*multiplicator);//waiting
}
私のコードは、LEDが半ミリ秒ごとに点滅することを意味していると思います。しかし、私はストロボスコープとしてもLEDを使用したいと考えています(500msのオンタイムと500msのオフタイムなど)。そのため、乗算器を自分のコードに導入しました。この乗算器はオンとオフの時間を伸ばすだけです。
問題は、それがこの時間スパンで動作しないと、私はなぜ自分自身を説明することはできませんということです。もし誰かが私を助けることができたら、私はとても喜ぶでしょう。