#define Do 523
#define Mi 659
#define So 784
void setup()
{
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()
{
if(digitalRead(2)==LOW)tone(8,Mi,100);
}
按板子上的按鈕會發出聲音
arduino:
#define Do 523
#define Mi 659
#define So 784
void setup()
{
Serial.begin(9600);
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()
{
while(Serial.available()>0)
{
Serial.read();
tone(8,So, 100);
}
//if(digitalRead(2)==LOW)tone(8,Mi,100);
}
processing:
import processing.serial.*;
Serial myPort;
void setup(){
size(200,200);
myPort = new Serial(this,"COM4",9600);
}
void draw()
{}
void mousePressed()
{
myPort.write("1");
}
這段程式碼是利用電腦控制小電腦,按一下processing的視窗就會發出叫聲
arduino:
#define Do 523
#define Mi 659
#define So 784
void setup()
{
Serial.begin(9600);
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()
{
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);
}
//if(digitalRead(2)==LOW)tone(8,Mi,100);
}
processing:
import processing.serial.*;
Serial myPort;
void setup(){
size(200,200);
myPort = new Serial(this,"COM4",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");
}
這兩段可以用鍵盤的1、3、5控制do mi so,跟滑鼠的do
arduino:
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784
#define La 880
#define Ti 988
void setup()
{
Serial.begin(9600);
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()
{
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=='0') noTone(8);
}
//if(digitalRead(2)==LOW)tone(8,Mi,100);
}
processing:
import processing.serial.*;
Serial myPort;
void setup(){
size(200,200);
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");
}
void keyReleased()
{
myPort.write("0");
}
void mousePressed()
{
myPort.write("1");
}
這段程式碼就是真正的鋼琴了,音階的擴充要去網路上找蜂鳴器的聲音頻率,再把頻率寫到arduino裡就可以了




沒有留言:
張貼留言