2014年12月29日 星期一

HW16, Week16

Week16期末作品進度:

硬體需要材料:
粗吸管、免洗筷(船桿、支撐船身)
海綿(船槳、扣環)
紙箱(海平面30*30*3、船高20)
鐵絲、鐵片
長電線
尖嘴鉗

各組員負責:
謝采玲:
粗吸管
尖嘴鉗
保麗龍膠
海綿
紙箱

上色用具

劉子陵:
免洗筷
鐵絲、鐵片
長電線
紙箱
美工刀

時間分配:
12/30 上課時間 S405 將 Processing 與 Arduino 結合(初步)
12/31 12:00~14:40 體育館二樓 硬體設計圖,思考遊戲介面與其他功能
01/05 12:50~13:40 二餐三樓 做硬體
01/06週 上課時間 S405 硬軟結合,問老師15、16會不會在學校
01/15 考完期中考 待尋找 其餘事項


上課進度:

A.測試在Arduino中,電線接觸後傳值並印出




B.將已寫好的Processing程式與Arduino結合(使控制物向右部分)

最先設定:



將"向右"設定在pin(2):









Arduino接觸到後傳值給Processing:


C.遇到的問題:向右移動太多,會重複一直傳值

老師解答:
簡單地傳按鈕按下去/放開來的資訊到Processing

In Arduino:
void setup(){
  Serial.begin(9600);
  pinMode(2, PULL_UP);
}

int now=0;//0: not pressed, 1:pressed
void loop(){
  if(now==0 && digitalRead(2)==LOW){//pressed
    Serial.write('a');
  }
  if(now==1 && digitalRead(2)==HIGH){//not pressed
    Serial.write('A');
  }
  delay(10);//to avoid noise while pressing
}

In Processing:

...
int now=0;//0: not pressed, 1:pressed
void draw(){
  if(myPort.available()>0){
    int a=myPort.read();
    if(a=='A') now=0;
    if(a=='a') now=1;
  }
...
  //接下來你就可以看 now的值, 來看要做什麼對應的動作

}


沒有留言:

張貼留言