「arduino bpm」でググッたらTimer1とか出てきますよね。
それ、なんかコールバック関数とか言う初心者には超理解し難い仕組みとゆうか、そういうのなんだそうです...
はい、delayで点灯させましょう。
#define LED0 13
#define LED1 12
#define LED2 11
#define LED3 10
#define bpm 120
int millisec = 60000 / bpm ;
void setup() {
pinMode (LED0, OUTPUT);
pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT);
pinMode (LED3, OUTPUT);
}
void loop() {
digitalWrite (LED0, HIGH);
delay (millisec);
digitalWrite (LED0, LOW);
digitalWrite (LED1, HIGH);
delay (millisec);
digitalWrite (LED1, LOW);
digitalWrite (LED2, HIGH);
delay (millisec);
digitalWrite (LED2, LOW);
digitalWrite (LED3, HIGH);
delay (millisec);
digitalWrite (LED3, LOW);
}
コード垂れ流し万歳。HTMLで出力してくれるArduinoIDE万歳。
とりあえずこれで結構大切な部分であるムービングライトが完成~
4 コメント:
PICしかやってない俺参上
delay使うと待ち時間の間処理がなにもできないという罠
たとえばボタン用意してて押したときに変化させようと思ってもdelayの間押しても反応しないのね
そのためにもTIMER1は理解しておくと後々楽だよ
そのうち俺のソースでもブログに晒すかね・・・
ボタンが反応しないのは、ちょっと致命的ですね...
>そのためにもTIMER1は理解しておくと後々楽だよ
やっぱりそうですか。。
とっつきにくい...けどむっちゃシーケンサ作りたいw
むむぅ
アドバイスありがとうございます
ArduinoIDEのSamples見てみ?多分Timer1使ったのがAruduino 。
あとウェブ上の日本語リファレンスもだ
んー、Timer1は後から自分で入れるモジュールなんで多分not arduino...
日本語リファレンスには割り込み的なのがありますね~
コメントを投稿