現在Arduino UNOを秋月電子から購入勉強中でよろしくお願いします。
先日有難う御座いました投稿してくださった方に感謝申し上げます。
以下のプログラムで動いています。
★記号の所教えてくださる方どうかよろしくお願いします。
13番ピンは現在ボードにて成功 12番ピン~8番ピンがOFFから始まりますお願いします。
class Blink { static const int delayStep = 10; enum { OFF=LOW, ON=HIGH }; int pin; long onPeriod, offPeriod; long cnt; int stat; public: Blink(int _pin, long _onPeriod, long _offPeriod) : pin(_pin) { onPeriod = _onPeriod / delayStep; offPeriod = _offPeriod / delayStep; pinMode(pin, OUTPUT); stat = ON; cnt = 0; } void loop() { int led = stat; if (stat == OFF) {//今消灯中? if (cnt > offPeriod) {//消灯時間過ぎた? led = HIGH;//点灯する stat = ON;//点灯サイクルの始まり cnt = 0;//時刻クリア } } else {//今点灯中? if (cnt > onPeriod) {//点灯時間過ぎた? led = LOW;//消灯する stat = OFF;//消灯サイクルの始まり cnt = 0;//時刻クリア } } cnt++;//時刻一つ進める digitalWrite(pin, led);//led設定 } static void delay() { ::delay(delayStep); } }; Blink *bl[6]; void setup() { bl[0] = new Blink(8, 1000, 1000); // ★OFF31分ON15秒OFF50分 ON15秒OFF19分 bl[1] = new Blink(9, 1200, 800); //★OFF28分ON15秒OFF50分 ON15秒OFF22分 bl[2] = new Blink(10, 500, 750); // ★OFF25分ON15秒OFF50分 ON15秒OFF25分 bl[3] = new Blink(11, 5000, 1000); //★OFF6分ON15秒OFF50分 ON15秒OFF44分 bl[4] = new Blink(12, 250, 250); //★OFF3分ON15秒OFF50分 ON15秒OFF47分 bl[5] = new Blink(13, 1000000, 5000); //★ON15秒OFF50分 ON15秒OFF50分 } void loop() { for (int i = 0; i < 6; i++) { bl[i]->loop(); } Blink::delay(); }
Uno
に関する質問