【報告】第四回:音と光で遊ぼう!終了しました(その1)

12月15日(土)、16日(日)Tokushima LED Terakoyaで
4回目の宇宙手芸の授業を行いました。

今回のテーマは、前回に引きつづき「暗くなると光るものをつくろう!」と
音と光であそぼう!」です。

今回使うプログラムは「Tone Melody」
これを使いこなすといろいろな音楽が演奏できるようになる!・・・はず。

最初の回路はこちら。あれ、ずいぶん簡単!

組み立てた回路にプログラムを読み込ませます(クリックで拡大)。

 

 

まず冒頭にでてきた #include
これは”別ファイルを取り込みます”という意味。
今回は “pitches.h” というファイルを取り込みます(内容については後述 )。

◉ 赤線部分、1つめにはメロディを記入します。
NOTEの後ろにある C4、G3 というのは音階、ドレミのことです。
アルファベットの後ろは音の高さ。ピアノを前にしたときに
おへその位置にくるドがC4といわれています。 ※1

音階 C D E F G A B
音階 ファ

◉ 赤線部分、2つめには音の長さを。
4と書いてあるのは四分音符(♩)、8と書いてあるのは八分音符(♪)です。

この◉ 音と音の長さ(melodyとnoteDurations)はint(変数)で対応しています。
表にするとこんなかんじ。※2

変数 0 1 2 3 4 5 6 7
音階 C4 G3 G3 A3 G3 0 B3 C4
長さ 4 8 8 4 4 4 4 4

 

setupにでてきた赤い囲み部分、 for という記述。
これは

{} 内の文の繰り返しに使います。
for(初期化(a);制御式(b);増分操作(c)){ }  と記述し、
aは最初に一度だけ実行。繰り返しのはじめにbが評価され、
bが正しければ繰り返されます。その後cが実行され、bに戻ります。
bが正しくなくなったとき繰り返しは終了します。

とのこと(参考:Arduinoリファレンス)。

今回の場合は、

for ( int thisNote=0(a);  thisNote <8(b) ;  thisNote ++(c)){}

となっており、これは

1.変数0を1回だけ実行(a)
2.8より小さければ(b)、変数0に+1していく(c)
3.これを繰り返し変数7までいったら(0〜7で8なので)繰り返し終了

ということです。
thisNote は、上記の表です。
そしてこれを再生すると・・・

大成功!のはずなのに、なぜか情けないメロディが流れる
天の邪鬼なArduinoちゃんなのでした。(次回につづく)

タグ: , ,
カテゴリー: お知らせ