做出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");
}
沒有留言:
張貼留言