2020年11月30日 星期一

迪克 第十二週 連結Ardino跟Processing

可以搜尋 makeruno github找範例

複習上週內容

試著使用button!

借用一下Processingㄉ範例
點SimpleWrite
之後就可以借用裡面ㄉ程式碼ㄌ(✧≖‿ゝ≖)





我ㄅ知道J要幹嘛( ˊ-ˋ)
我懂ㄌ,點擊P的框框就可以發出Do

P輸入 A輸出
點擊1發出Do 3發出Re 5發出Mi

試著多用幾種聲音
然後設定成只要按著就會放聲音直到放開

J邊把程式碼給你

—————————————————————————————————————
Ardino

#define Do 523  
#define Re 587  
#define Mi 659
#define Fa 698  
#define So 784
#define La 880  
#define Si 988  


void setup() {
  Serial.begin(9600);//USB傳輸速度 (A<=>P 速度要一樣)
  
  pinMode(2,INPUT_PULLUP);
  pinMode(8,OUTPUT);
  tone(8,So);//換聲
  delay(500);
  tone(8,Mi);//換聲
  delay(500);
  tone(8,Do);
  delay(500);
  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 == '0' ) noTone(8);
  }
  //if(digitalRead(2)==LOW) tone(8,Mi,500);
}

—————————————————————————————————————
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("3");
}

—————————————————————————————————————



 

沒有留言:

張貼留言