| 
            
            
                
                    | ソースコードの変更 |  
                    | 
                        
                            
                                | 
                                  
                                    |  | #include <SD.h> #include <SPI.h>
 #include <arduino.h>
 #include <MusicPlayer.h>
 #define NUM_LED 12
 const int knockSensor[NUM_LED] = 
                                    {A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15};
 int sensorReading[NUM_LED] = 
                                    {0,0,0,0,0,0,0,0,0,0,0,0};
 const int threshold = 10;
 bool on_off_flg[NUM_LED] ={ 
                                    false,false,false,false,false,false,false,false,false,false,false,false};
 int led[NUM_LED] ={2,3,4,5,6,7,8, 
                                    9,10,11,12,13};
 int note[NUM_LED] = 
                                    {48,62,64,65,67,69,71,72,74,76,77,79};
 void setup()
 {
 Serial.begin(9600);
 pinMode(led, OUTPUT);
 player.beginInMidiFmt();
 player.midiWriteData(0xB0, 0x07, 127);
 player.midiWriteData(0xB0, 0x0b, 127);
 player.setVolume(10);
 int i;
 for(i=0;i<NUM_LED;i++)
 {
 player.midiWriteData(0x90, note[i], 
                                    127);
 analogWrite(led[i], 150);
 delay(500);
 analogWrite(led[i], 0);
 player.midiWriteData(0x80, note[i], 
                                    0);
 }
 }
 void loop()
 {
 int i;
 for(i=0;i<NUM_LED;i++)
 {
 sensorReading[i] = 
                                    analogRead(knockSensor[i]);
 if (sensorReading[i] >= threshold && 
                                    on_off_flg[i]==false)
 {
 player.midiWriteData(0x90, note[i], 127);
 analogWrite(led[i], 150);
 on_off_flg[i]=true;
 //         
                                    Serial.println(i);
 //         
                                    Serial.println(sensorReading[i]);
 }
 else if (sensorReading[i] < threshold 
                                    && on_off_flg[i]==true)
 {
 player.midiWriteData(0x80, note[i], 0);
 analogWrite(led[i], 0);
 on_off_flg[i]=false;
 }
 }
 }
 
 |  |  
                                | ここでは12個のピエゾとLEDをarduinoに接続して、ピエゾをたたくと、LEDが点灯して発音するようにしています。起動時にハードウェアの動作確認のためにLEDの点灯と発音を行うようにしています。 |  |  |