2020年11月30日 星期一

hans week12

 Week12 

先安裝好Makeuno的driver之後,到makeruno github把程式碼複製到arduino。

1.讓makeruno可以每間隔一秒發出DO.MI.SO的聲音

2.

3.利用數字按鍵發出聲音

processing程式碼:

    import processing.serial.*;
Serial myPort;
void setup(){
    size(200,200);
    myPort = new Serial(this, "COM3", 9600);
}
void draw(){
  
}
void keyPressed(){
    if(key=='1') myPort.write("1");
    if(key=='3') myPort.write("3");
    if(key=='5') myPort.write("5");
}
void mousePressed(){
  myPort.write("1");
}

Arduino程式碼:

    #define Do 523
#define Mi 659
#define So 784
void setup() {
  Serial.begin(9600);
  // put your setup code here, to run once:
  pinMode(2, INPUT_PULLUP);
  pinMode(8, OUTPUT);
  tone(8, Do);
  delay(100);
  tone(8, Mi);
  delay(100);
  tone(8, So);
  delay(100);
  noTone(8);

}

void loop() {
  // put your main code here, to run repeatedly:
    while(Serial.available() > 0){
      int now = Serial.read();
      if( now=='1') tone(8, Do, 100);
      if( now=='3') tone(8, Mi, 100);
      if( now=='5') tone(8, So, 100);
    }
}

4.數字鍵盤可以發出Do-Doo

processing程式碼:

    import processing.serial.*;
Serial myPort;
void setup(){
    size(200,200);
    myPort = new Serial(this, "COM3", 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");
    if(key=='6') myPort.write("6");
    if(key=='7') myPort.write("7");
    if(key=='8') myPort.write("8");
}
void keyReleased(){
  myPort.write("0");
}
void mousePressed(){
  myPort.write("1");
}

Arduino程式碼:

    #define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784
#define La 880
#define Ti 988
#define Doo 1047

void setup() {
  Serial.begin(9600);
  // put your setup code here, to run once:
  pinMode(2, INPUT_PULLUP);
  pinMode(8, OUTPUT);
  tone(8, Do);
  delay(100);
  tone(8, Mi);
  delay(100);
  tone(8, So);
  delay(100);
  noTone(8);

}

void loop() {
  // put your main code here, to run repeatedly:
    while(Serial.available() > 0){
      int now = Serial.read();
      if( now=='1') tone(8, Do );
      if( now=='2') tone(8, Re );
      if( now=='3') tone(8, Mi );
      if( now=='4') tone(8, Fa );
      if( now=='5') tone(8, So );
      if( now=='6') tone(8, La );
      if( now=='7') tone(8, Ti );
      if( now=='8') tone(8, Doo55 );
      if( now=='0') noTone(8);
    }
}



沒有留言:

張貼留言