Arduinoの開発環境にはサンプルがたくさん入っています。
その中のtoneMelodyを参考に作っています。pitches.hは同じです。
手持ちのアナログスティックをつないで何かしてみたいと考えたのが上下左右で演奏曲が変わるというもの
曲とは少し大げさです。
接続
電子ブザー(圧電ブザーでも圧電スピーカーでも同じです)
プラス ー D8
マイナス ー GND
ジョイスティック aitendoのジョイスティックモジュール [JOY10K-5P]を使っています。
VCC ー 5V
V ー A0
H ー A1
SEL 未使用
GND ー GND
実はこの中にきよしこの夜2小節だけ入っているのだけど(音符の長さは違う)これが赤鼻のトナカイに聞こえる。
ソースリスト
開発環境 Arduino IDE 1.8.8
スケッチ例 02.Digital のtoneMelodyを主に参考にして作成しています。
それを開いた時にある pitches.hが必要です。
その中のtoneMelodyを参考に作っています。pitches.hは同じです。
手持ちのアナログスティックをつないで何かしてみたいと考えたのが上下左右で演奏曲が変わるというもの
曲とは少し大げさです。
接続
電子ブザー(圧電ブザーでも圧電スピーカーでも同じです)
プラス ー D8
マイナス ー GND
ジョイスティック aitendoのジョイスティックモジュール [JOY10K-5P]を使っています。
VCC ー 5V
V ー A0
H ー A1
SEL 未使用
GND ー GND
実はこの中にきよしこの夜2小節だけ入っているのだけど(音符の長さは違う)これが赤鼻のトナカイに聞こえる。
ソースリスト
開発環境 Arduino IDE 1.8.8
スケッチ例 02.Digital のtoneMelodyを主に参考にして作成しています。
それを開いた時にある pitches.hが必要です。
#include "pitches.h" int melOn=0; int melody[] = { NOTE_F4, NOTE_G4, NOTE_F4, NOTE_D4, NOTE_C5, 0, NOTE_C5, NOTE_A4, NOTE_C4, NOTE_G3, NOTE_D4, NOTE_E4, NOTE_G4, 0, NOTE_A4, NOTE_C5, NOTE_C4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_C4, 0, NOTE_G4, NOTE_G4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_E4, 0, NOTE_D4, NOTE_C4 }; int noteDurations[] = { 4, 8, 8, 4, 4, 4, 4, 4 }; void mel(int num){ if (melOn==1){ return; } // iterate over the notes of the melody: melOn=1; for (int thisNote = 0; thisNote < 8; thisNote++) { int noteDuration = 1000 / noteDurations[thisNote]; tone(8, melody[thisNote+num*8], noteDuration); int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); noTone(8); } melOn=0; } void setup() { mel(0); } void loop() { int sensorV = analogRead(A0); int sensorH = analogRead(A1); if (sensorV>700){ mel(0); } if (sensorH>700){ mel(1); } if (sensorV<300){ mel(2); } if (sensorH<300){ mel(3); } }