2019年11月21日 星期四

week11

板子測試

1.下載驅動程式

2.去裝置管理員看USB連接的序列鋪
   勾勾試驗證程式碼
  箭頭是上船到版子上



3.兩行程式碼讓板子不會發出聲音


pinMode(13,OUTPUT);
  digitalWrite(13,HIGH);

4. 83行程式碼讓板子發出聲音

https://github.com/CytronTechnologies/MakerUno_Examples/blob/master/MakerUno_DefaultSketch/MakerUno_DefaultSketch.ino?fbclid=IwAR3Vg3jy-q5Lq4-cXtXMjKs0LNQFt6wcsnb4EmIhkLuf7Kt6pJu5NAXFL2M

5.板子亮13個燈一起亮


for(int i=2;i<=13;i++){
  pinMode(i,OUTPUT);
  digitalWrite(i,HIGH);
  }
6.按下去13個燈暗掉,沒按13個燈是亮的


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;
  else bLightHIGH=false;//按下去,按下去Low

  for(int i=3;i<=13;i++){
      if(bLightHIGH) digitalWrite(i,HIGH);//要做很多次
      else digitalWrite(i,LOW);//要做很多次
    }

}

音符發聲

1.點選範例程式
.
2.裡面會有音符的宣告



#define NOTE_C5  523
#define NOTE_D5  587
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_G5  784
void setup() {
  // put your setup code here, to run once:
  pinMode(2,INPUT_PULLUP);//把button(2)打開 使用INPUT_PULLUP預設要拉高(HIGH)
 pinMode(8,OUTPUT);//發生的Buzzer
 
}
bool bLightHIGH=true;//自己發明的變數true亮,false不亮
void loop() {
  // put your main code here, to run repeatedly:
 if(digitalRead(2)==HIGH)bLightHIGH=true;
 else bLightHIGH=false;//按下去,按下去Low

 if(bLightHIGH);
 else{
 tone(8,NOTE_G5,300);
 delay(300);//請等300ms
 tone(8,NOTE_E5,300);
 delay(300);//請等300ms
 tone(8,NOTE_E5,300);
 delay(300);//請等300ms

 tone(8,NOTE_F5,300);
 delay(300);//請等300ms
 tone(8,NOTE_D5,300);
 delay(300);//請等300ms
 tone(8,NOTE_D5,300);
 delay(300);//請等300ms

tone(8,NOTE_C5,300);
 delay(300);//請等300ms
 tone(8,NOTE_D5,300);
 delay(300);//請等300ms
 tone(8,NOTE_E5,300);
 delay(300);//請等300ms
 tone(8,NOTE_F5,300);
 delay(300);//請等300ms
 tone(8,NOTE_G5,300);
 delay(300);//請等300ms
 tone(8,NOTE_G5,300);
 delay(300);//請等300ms
 tone(8,NOTE_G5,300);
 delay(300);//請等300ms
 }

}

用鍵盤控制音符
Arduino和processing結合


#define NOTE_C5  523
#define NOTE_D5  587
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_G5  784
void setup() {
  // put your setup code here, to run once:
 pinMode(8,OUTPUT);//發生的Buzzer
 Serial.begin(9600);
 
}

void loop() {
  // put your main code here, to run repeatedly:
  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);
  }

}


import processing.serial.*;
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');
}



沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...