2019年11月21日 星期四

week11

makerUNO

先下載














到電腦->內容->裝置管理->查看連線端














寫程式讓有聲變無聲
void setup() {
  // put your setup code here, to run once:
  pinMode(13,OUTPUT);
  digitalWrite(13,HIGH);
}















還原聲音
https://github.com/CytronTechnologies/MakerUno_Examples/blob/master/MakerUno_DefaultSketch/MakerUno_DefaultSketch.ino?fbclid=IwAR05Zaheyz-fYhz3DzFR6jUp0S5MZgSKssgGBBPgrghQTmDotVp1WXfy9J8















void setup() {
  // put your setup code here, to run once:
  for(int i=2;i<=13;i++){//讓燈全亮
  pinMode(i,OUTPUT);
  digitalWrite(i,HIGH);
  }
}

void loop() {
  // put your main code here, to run repeatedly:

}














全亮
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)開關打開
  ///digitalWrite(i,HIGH);//要做很多次
  }
}
bool bLightHIGH=true;//發明變數true亮,false不亮
void loop() {
  // put your main code here, to run repeatedly:
  if(digitalRead(2)==HIGH)bLightHIGH=true;//HIGH亮
  else bLightHIGH=false;//按下去變LOW(不亮)

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














音樂-小蜜蜂
#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);
}

void loop() {
  tone(8,NOTE_G5,330);
  delay(330);
  tone(8,NOTE_E5,330);
  delay(330);
  tone(8,NOTE_E5,330);
  delay(530);

  tone(8,NOTE_F5,330);
  delay(330);
  tone(8,NOTE_D5,330);
  delay(330);
  tone(8,NOTE_D5,330);
  delay(530);

  tone(8,NOTE_C5,330);
  delay(330);
  tone(8,NOTE_D5,330);
  delay(330);
  tone(8,NOTE_E5,330);
  delay(330);
  tone(8,NOTE_F5,330);
  delay(330);
  tone(8,NOTE_G5,330);
  delay(330);
  tone(8,NOTE_G5,330);
  delay(330);
  tone(8,NOTE_G5,330);
  delay(530);
}














使用P語言互動
import processing.serial.*;
Serial myPort;
void setup(){
  myPort=new Serial(this,"COM5",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');
}
傳送至Arduino
#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);
  // put your setup code here, to run once:
  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);
  }
}


沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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