1.讓maker uno板子的第13個燈可以亮
程式碼:
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:
}
2.讓板子復原
程式碼:
#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;
}
}
3.讓maker uno板子的燈全亮
程式碼:
void setup() {
// put your setup code here, to run once:
pinMode(2,INPUT_PULLUP);//把BUTTON(2)打開,使用INPUT_PULLUP預設要拉高!HIGH
for(int i=3;i<=13;i++){//小心小心!!!2是button,所以output從3開始
pinMode(i,OUTPUT);//只要做一次,把LED(3...13)開關打開
//digitalWrite(i,HIGH);//要做很多次
}
}
bool bLightHIGH=true;//自己發明的變數 true亮,false不亮
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(2)==HIGH)bLightHIGH=true;//2是button,高高的HIGH
else bLightHIGH=false;//按下去,變LOW
for(int i=3;i<=13;i++){
if(bLightHIGH) digitalWrite(i,HIGH);//要做很多次
else digitalWrite(i,LOW);//要做很多次
}
}
4.讓maker uno板子的燈全亮且會撥出小蜜蜂歌曲的聲音
程式碼:
#define NOTE_C5 523
#define NOTE_D5 587
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_G5 784
void setup() {
pinMode(8,OUTPUT);//發聲音的Buzzer
pinMode(2,INPUT_PULLUP);
for(int i=3;i<=13;i++){//小心小心!!!2是button,所以output從3開始
pinMode(i,OUTPUT);//只要做一次,把LED(3...13)開關打開
//digitalWrite(i,HIGH);//要做很多次
}
}
bool bLightHIGH=true;//自己發明的變數 true亮,false不亮
void loop() {
tone(8,NOTE_G5,230);
delay(230);//請等230ms
tone(8,NOTE_E5,230);
delay(230);//請等230ms
tone(8,NOTE_E5,430);
delay(430);//請等430ms
tone(8,NOTE_F5,230);
delay(230);//請等230ms
tone(8,NOTE_D5,230);
delay(230);//請等230ms
tone(8,NOTE_D5,230);
delay(430);//請等430ms
tone(8,NOTE_C5,230);
delay(230);//請等230ms
tone(8,NOTE_D5,230);
delay(230);//請等230ms
tone(8,NOTE_E5,230);
delay(230);//請等230ms
tone(8,NOTE_F5,230);
delay(230);//請等230ms
tone(8,NOTE_G5,230);
delay(230);//請等230ms
tone(8,NOTE_G5,230);
delay(230);//請等230ms
tone(8,NOTE_G5,230);
delay(430);//請等430ms
tone(8,NOTE_G5,230);
delay(230);//請等230ms
tone(8,NOTE_E5,230);
delay(230);//請等230ms
tone(8,NOTE_E5,430);
delay(430);//請等430ms
tone(8,NOTE_F5,230);
delay(230);//請等230ms
tone(8,NOTE_D5,230);
delay(230);//請等230ms
tone(8,NOTE_D5,230);
delay(430);//請等430ms
tone(8,NOTE_C5,230);
delay(230);//請等230ms
tone(8,NOTE_E5,230);
delay(230);//請等230ms
tone(8,NOTE_G5,230);
delay(230);//請等230ms
tone(8,NOTE_G5,230);
delay(230);//請等230ms
tone(8,NOTE_E5,430);
delay(630);//請等630ms
if(digitalRead(2)==HIGH)bLightHIGH=true;//2是button,高高的HIGH
else bLightHIGH=false;//按下去,變LOW
for(int i=3;i<=13;i++){
if(bLightHIGH) digitalWrite(i,HIGH);//要做很多次
else digitalWrite(i,LOW);//要做很多次
}
}
5.按鍵盤1,2,3,4,5可以讓maker uno發出Do,Re,Mi,Fa,So的聲音
程式碼:
P語言:
import processing.serial.*;//in Black P Serial myPort; void setup(){ myPort=new Serial(this,"COM4",9600); } void draw(){ } void keyPressed(){ if(key=='1') myPort.write('1'); if(key=='2') myPort.write('2'); if(key=='3') myPort.write('3'); if(key=='4') myPort.write('4'); if(key=='5') myPort.write('5'); }UNO:
#define NOTE_C5 523
#define NOTE_D5 587
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_G5 784
void setup() {
pinMode(8,OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()){
char now=Serial.read();
if(now=='1') tone(8,NOTE_C5,300);
if(now=='2') tone(8,NOTE_D5,300);
if(now=='3') tone(8,NOTE_E5,300);
if(now=='4') tone(8,NOTE_F5,300);
if(now=='5') tone(8,NOTE_G5,300);
}
}



沒有留言:
張貼留言