(1)複習:按123對應的LED發亮,對應buzzer發聲,避開pin8。
void setup() {
pinMode(8,OUTPUT);
pinMode(2,INPUT_PULLUP);
}
void loop() {
if(digitalRead(2)==LOW) tone(8,520,1000);
else noTone(8);
}
(2)用電線(單芯線),作簡單鋼琴,做Ken Liao爵士鼓,對應的射擊聲、配樂等
第一個了解音階的音是多少
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);
}
用陣列讓按紐有不同音階
int Do =523;
int Re =587;
int Mi =659;
int song[9]={Do,Re,Mi,Do,Do,Re,Mi,Do,Mi};
int now=0;
bool UP=true;
void setup() {
pinMode(8,OUTPUT);//buzzer
pinMode(2,INPUT_PULLUP);///Makeruno 按鈕
}
void loop() {
if(UP && digitalRead(2)==LOW) {
tone(8,song[now],200);
UP=false;
now=(now+1)%9;///避免now超過矩陣當掉
}
else{
UP=true;
}
delay(100);
}
用接地線做出鋼琴效果
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);
//pin8要發聲不能接
if(digitalRead(9)==LOW) tone(8,988,200);
}
(3)UDP進行網路投票(超級變變變的投票)(先限定Processing以降低難度,確認有IP)
Client端
import processing.net.*;
Client client;
void setup(){
size(200,200);
client=new Client(this,"120.125.70.42",7777);
}
void draw(){
}
void mousePressed(){
client.write("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);
}
}
(4)手機APP
2019年11月28日 星期四
訂閱:
張貼留言 (Atom)
alanhc 互動技術-week17 [final]
回顧這學期的作品: 期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...
-
先把上次的程式覆蓋 void setup(){ pinMode(8,OUTPUT); pinMode(2,INPUT_PULLUP); } void loop(){ if(digitalRead(2)== LOW ) tone(8,520,...
-
1. 複習按住boutton可以發出聲音 void setup(){ pinMode(8, OUTPUT); pinMode(2, INPUT_PULLUP); } void loop(){ if(digitalRead(2)==LOW) tone(8,...
-
第一張圖是讓使用者的圈圈可以自己移動 但他有個缺點 就是圈圈會跑出視窗外面 於是加上了if 假使中心大於350就會使整個圓跑出去 於是就讓他往回彈 就變成成功的彈彈球 自己製作迷宮 先畫一張自己設計的地圖 並先試看看能不能匯入 並且...
沒有留言:
張貼留言