Part1 MAKER UNO亮燈
Code:
void setup() {
// put your setup code here, to run once:
pinMode(13,OUTPUT);
digitalWrite(13,HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
}
讓MAKER UNO的第13顆燈亮起
Part2 還原MAKER UNO的出廠程式
此網址可取得出廠的原始程式:https://github.com/CytronTechnologies/MakerUno_Examples/blob/master/MakerUno_DefaultSketch/MakerUno_DefaultSketch.ino?fbclid=IwAR0-2dNcbY8TG1g4vp0FaT07W_DRXXjmaSlBI-OsWUrFwhcpFaB7mhys0RE
Code:
#define NOTE_C5 523
#define NOTE_E5 659
#define NOTE_G5 784
#define BUTTON 2
#define BUZZER 8
int melody[] = {
NOTE_E5, NOTE_E5, 0, NOTE_E5, 0, NOTE_C5, NOTE_E5, 0, NOTE_G5
};
int noteDurations[] = {
10, 10, 10, 10, 10, 10, 10, 10, 10
};
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 < 9; thisNote++) {
int noteDuration = 1000 / noteDurations[thisNote];
tone(BUZZER, melody[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
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, NOTE_C5, 100);
delay(100);
tone(BUZZER, NOTE_G5, 100);
delay(100);
noTone(BUZZER);
}
else if (mode == true) {
tone(BUZZER, NOTE_G5, 100);
delay(100);
tone(BUZZER, NOTE_C5, 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;
}
}
上傳程式之後,LED燈閃爍以及可聽到馬力歐的音樂
Part3 MAKER UNO LED全亮燈
Code:
void setup() {
// put your setup code here, to run once:
//0和1是傳輸的角位,所以先避開
for(int i=2; i<=13; i++){
pinMode(i,OUTPUT);
digitalWrite(i,HIGH);
}
}
void loop() {
// put your main code here, to run repeatedly:
}
上傳程式後,2到13的LED燈會全亮
Part4 用Button控制LED燈
Code:
void setup() {
// put your setup code here, to run once:
pinMode(2,INPUT_PULLUP);//把button的2打開,使用INPUT_PULLUP
for(int i=3; i<=13; i++){//2是button,所以OUTPUT從3開始
pinMode(i,OUTPUT);//只做一次,把LED 3~13開關打開
}
}
bool bLightHIGH=true;//自行取的變數名稱,true為亮 false為暗
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(2)==HIGH) bLightHIGH=true;//2是button
else bLightHIGH=false;//按下去會變暗
for(int i=3; i<=13;i++){
if(bLightHIGH) digitalWrite(i,HIGH);//變亮
else digitalWrite(i,LOW);//變暗
}
}
按下Button會變暗,放開就會亮



沒有留言:
張貼留言