ランダムなフェードイン、ランダムなフェードアウト、ランダムなオン/オフの期間で、ランダムな時間にオンとオフを切り替えるために8つの異なるライトが必要なプロジェクトがあります。私の戦略は、フェードオンし、ランダムな時間オンのままにし、フェードオフし、ランダムな時間オフにし、繰り返すことです。現在、各forループの前にランダムなピンを選択していますが、forループを使用して、全体のオン/オフサイクルを実行するピンをランダムに選択したいと思います。
これが私の擬似コードです。または多分それは私のコードです。
void setup() {
int pin = 0;
int fadeIn = 0;
int fadeOut = 0;
int onDuration = 0;
int offDuration = 0;
}
void loop() {
pin = random(2,8)
onDuration = random(2000,15000)
for (fadeIn=0;fadeIn<255;i++) {
analogWrite(pin,fadeIn)
}
delay(onDuration)
pin = random(2,8)
offDuration = random(1000,7000)
for (fadeOut=254;fadeOut>0;fadeOut--) {
analogWrite(pin,fadeOut)
}
delay(offDuration)
}
ループ(オン、次にオフ)は、サイクルの1つのインスタンスになります。最初のサイクルの実行中にサイクルの2番目のインスタンスを別のピンで開始したい場合、それはプログラムで実行できることですか?または、それぞれが同時にライトをフェードインおよびフェードアウトする8つのコントローラーが必要ですか?