2019年11月28日 星期四

06160805的課堂筆記

2019互動技術概論week11


先下載MakerUNO_driver

上程式碼將原先的聲音蓋掉
執行後,按下Button建,可以發出聲音

void setup() {
  pinMode(8,OUTPUT);
  pinMode(2,INPUT_PULLUP);
}

void loop() {
  if(digitalRead(2)==LOW)tone(8,250,1000); //250是聲音的高低
  else noTone(8);
}


加上Do Re Mi,按下Button按鈕可以發出Do Re Mi

int Do = 523;
int Re = 587;
int Mi = 659;
void setup() {
  pinMode(8,OUTPUT);
  pinMode(2,INPUT_PULLUP);
}

void loop() {
  if(digitalRead(2)==LOW)tone(8,Mi,1000);
  else noTone(8);
}



按下Button按鈕,可以有不同的音符,每按下一次都會發生不同聲音

int Do = 523;
int Re = 587;
int Mi = 659;
int Fa = 698;
int So = 784;
int song[24] = {So,Mi,Mi,Fa,Re,Re,Do,Re,Mi,Fa,So,So,So,So,Mi,Mi,Fa,Re,Re,Do,Mi,So,So,Do};
int now=0;
bool UP=true;
void setup() {
  pinMode(8,OUTPUT);
  pinMode(2,INPUT_PULLUP);
}

void loop() {
  if(UP && digitalRead(2)==LOW){
    tone(8,song[now],200);
    UP=false;
    now=(now+1)%24;
  }
  else{
    UP=true;
  }
  delay(100);
}


執行程式後,將單芯線一頭插入Maker_UNO的GND,另一頭插在1,2,3...的數子裡,就能發出聲音

void setup() {
  for(int i=2;i<=13;i++){
     pinMode(i,INPUT_PULLUP);
  }
  pinMode(8,OUTPUT);
}

void loop() {
  if(digitalRead(2)==LOW) tone(8,523,200);
  if(digitalRead(3)==LOW) tone(8,587,200);
  if(digitalRead(4)==LOW) tone(8,659,200);
  if(digitalRead(5)==LOW) tone(8,698,200);
  if(digitalRead(6)==LOW) tone(8,784,200);
  if(digitalRead(7)==LOW) tone(8,880,200);
  if(digitalRead(9)==LOW) tone(8,988,200);
  if(digitalRead(10)==LOW) tone(8,1047,200);
}


自己連線自己,將Hello傳給自己

Server端

import processing.net.*;
Server server;
void setup(){
  size(300,300);
  server = new Server(this,7777);
}
void draw(){
  Client thisClient = server.available();
  while(thisClient!=null){
    String now=thisClient.readString();
    if(now!=null)println("Server received: "+now);
  }
}

Client端

import processing.net.*;
Client client;
void setup(){
  size(200,200);
  client=new Client(this,"120.125.70.35",7777);
}
void draw(){
}
void mousePressed(){
  client.write("Hello");
}





沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...