2020年11月30日 星期一

Bill_week12

 
今天老師讓我們做 MAKER UNO
先確認他能夠連結,並且選COM6



定且搜尋MAKER UNO Git Hub

去搜尋範例程式碼





先貼上範例程式,讓他發出馬力歐的聲音



接下來開一個新檔案,

並且讓裝置發出DO、MI、SO的聲音。

左邊是預設程式,右邊是心打得程式。



加了一個按按鈕就可以發出聲音的步驟。



增加了使用P語言的程式,一邊用來接收一邊用來傳送,現在就可以使用滑鼠點擊來發出聲音,按下滑鼠左鍵發出SO的音樂。


加入了打數字鍵1.3.5可以發出聲音




加入多音符從Do到Si

(老師的Si打成Ti了)







最終程式備份:

Arduino

#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);
  pinMode(2, INPUT_PULLUP);
  pinMode(8, OUTPUT);
  tone(8,Do);
  delay(1000);
  tone(8,Mi);
  delay(1000);
  tone(8,So);
  delay(1000);
  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);
  }
}

P語言

import processing.serial.*;

Serial myPort;
void setup() 
{
  size(200, 200);
  myPort = new Serial(this,"COM6", 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");
}












沒有留言:

張貼留言