2020年11月30日 星期一

:D~week12

做出Do Mi So三個音

#define Do 523

#define Mi 659

#define So 784


void setup() {

  // put your setup code here, to run once:

  pinMode(8,OUTPUT);

  tone(8,Do);

  delay(1000);

  tone(8,Mi);

  delay(1000);

  tone(8,So);

  delay(1000);

  noTone(8);

}


void loop() {

  // put your main code here, to run repeatedly:

}



發出Do Mi So 三個音,且按按鈕會發出Mi的聲音

#define Do 523

#define Mi 659

#define So 784

#define BUTTON


void setup() {

  // 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:

  if(digitalRead(2)==LOW)tone(8,Mi,100);

}




發出Do Mi 兩個音,並傳送資料到Processing

#define Do 523

#define Mi 659

#define So 784

#define BUTTON


void setup() {

  Serial.begin(9600); //USB傳輸的速度 (A<=>P要一樣)

  // 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);

  noTone(8);

}


void loop() {

  while(Serial.available()>0)

  {

    Serial.read();

    tone(8,So,100);

  }

}

結合Processing

import processing.serial.*;

Serial myPort;

void setup()

{

   myPort=new Serial(this,"COM4",9600); 

}

void draw()

{

  

}

void mousePressed()

{

   myPort.write("1"); 

}



做出類似小鋼琴

#define Do 523

#define Re 587

#define Mi 659

#define Fa 698

#define So 784

#define La 880

#define Si 988

#define Doo 1046

#define BUTTON


void setup() {

  Serial.begin(9600); //USB傳輸的速度 (A<=>P要一樣)

  // 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);

  noTone(8);

}


void loop() {

  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,Si);

    if(now=='8')tone(8,Doo);

    if(now=='0')noTone(8);

  }

}

傳送到processing,按數字鍵即可發出音階

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");

   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"); 

}












沒有留言:

張貼留言