今天除了展示期中作品,拿到了新的電腦--MAKER UNO!!
一開始就創造了音樂,太好玩啦~~
#define G4 392
#define A 440
#define B 493
#define C 523
#define D 587
#define E 659
#define F 698
#define G 783
#define BUTTON 2
#define BUZZER 8
int melody[] = {
C,D,E,C,G,E,D,G,D,C,A,E,C,B,0,C,B,A,B,C,D,G4,C,D,E,F,F,E,D,C,D,0,C,D,E,C,G,E,D,G,D,C,A,E,C,B,0,C,B,A,B,C,D,G4,C,D,E,F,F,E,D,C,C
};
int noteDurations[] = {
6,6,
6,6,2,6,
3,3,3,
6,6,2,6,
2,6,6,6,
3,3,6,6,
3,3,6,6,
3,6,6,6,6,
2,6,6,6,
6,6,2,6,
3,3,3,
6,6,2,6,
2,6,6,6,
3,3,6,6,
3,3,6,6,
3,6,6,6,6,
1
};
int pin;
int ledArrayHigh;
int ledArrayLow;
boolean mode = false;
boolean buttonPressed = false;
void setup()
{
delay(1000);
pinMode(BUTTON, INPUT_PULLUP);
for (pin = 3; pin < 14; pin++) {
pinMode(pin, OUTPUT);
}
for (int thisNote = 0; thisNote < sizeof(melody)/2; thisNote++) {
int noteDuration = 1000 / noteDurations[thisNote];
tone(BUZZER, melody[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
for (pin = 3; pin < 14; pin++) {
int n=random(2);
if(n==1)digitalWrite(pin, HIGH);
else digitalWrite(pin, LOW);
}
delay(pauseBetweenNotes);
noTone(BUZZER);
}
}
void loop()
{
for (pin = 0; pin < 5; pin++) {
if (digitalRead(BUTTON) == LOW &&
buttonPressed == false) {
buttonPressed = true;
mode = !mode;
pin = 0;
if (mode == false) {
tone(BUZZER, C, 100);
delay(100);
tone(BUZZER, G, 100);
delay(100);
noTone(BUZZER);
}
else if (mode == true) {
tone(BUZZER, G, 100);
delay(100);
tone(BUZZER, C, 100);
delay(100);
noTone(BUZZER);
}
}
if (mode == false) {
ledArrayHigh = 13 - pin;
ledArrayLow = 7 - pin;
}
else if (mode == true) {
ledArrayHigh = 9 + pin;
ledArrayLow = 3 + pin;
}
digitalWrite(ledArrayHigh, HIGH);
digitalWrite(ledArrayLow, HIGH);
delay(100);
digitalWrite(ledArrayHigh, LOW);
digitalWrite(ledArrayLow, LOW);
if (pin == 4) delay(100);
}
if (buttonPressed == true) {
buttonPressed = false;
}
}
沒有留言:
張貼留言