16雙人彈珠台
(2016/12/01)
此作品也是參考徐爸的作品來做的
題目一:雙人彈珠台(利用「搖桿」來控制揮棒擊球)
- 說明:利用智高的積木,製作一個雙人彈珠台,如下圖所示,並利用「搖桿」控制SG90伺服馬達來進行揮棒動作
- 所需材料:
- 智高積木:
- Arduino控制板 X 1
- 小型麵包板 X 1 (用來延伸VCC及GND的接腳用 )
- SG90伺服馬達 X 4
- 搖桿 X 2
- 杜邦線:
- 外觀圖
- 啟動Transformer 2.0
- Scratch 2.0的程式 (程式的部分非常簡單)
- 測試看看,是不是成功?利用一支搖桿來控制二個伺服馬達(VRx控制一個伺服馬達;VRy控制另一個伺服馬達),有時不是很好控制,所以題目二改用四個「按鈕(或按鍵)」來控制伺服馬達!!
題目二:雙人彈珠台(利用「按鈕」來控制揮棒擊球)
- 說明:同上,只是改利用「按鈕」控制SG90伺服馬達來進行揮棒動作
- 所需材料:
- 智高積木:
- Arduino控制板 X 1
- 小型麵包板 X 1 (用來延伸VCC及GND的接腳用 )
- SG90伺服馬達 X 4
- 按鈕 X 4
- 杜邦線:
- 外觀圖
- 啟動Transformer 2.0
- Scratch 2.0的程式 (程式的部分非常簡單)
- 試試看,利用按鈕是不是比搖桿好制控一些!!
題目三:雙人彈珠台(離線版,利用MotoBlockly來寫程式)
- 說明:同上,還是使用「按鈕」來控制SG90伺服馬達進行揮棒動作,但最大不同就是採用離線版,這樣才能將這遊戲教具發揮最大功效!(之前利用Transformer+Scratch來寫程式,最主要是測試用)
- 所需材料:
- 智高積木:
- Arduino控制板 X 1
- 小型麵包板 X 1 (用來延伸VCC及GND的接腳用 )
- SG90伺服馬達 X 4
- 按鈕 X 4
- 杜邦線:
- 外觀圖
- 進入Moto Blockly (檔案於附件)
- 註:MotoBlockly的積木沒有宣告「輸入(pull-in)」的功能,所以到Arduino IDE下要再手動修改
- 完整Arduino程式如下
#include <Servo.h>
Servo servo_2;
Servo servo_3;
Servo servo_4;
Servo servo_5;
void setup()
{
pinMode(8, INPUT_PULLUP);
servo_2.attach(2);
pinMode(9, INPUT_PULLUP);
servo_3.attach(3);
pinMode(10, INPUT_PULLUP);
servo_4.attach(4);
pinMode(11, INPUT_PULLUP);
servo_5.attach(5);
}
void loop()
{
if (digitalRead(8) == 0) {
servo_2.write(90);
delay(0);
} else {
servo_2.write(180);
delay(0);
}
if (digitalRead(9) == 0) {
servo_3.write(90);
delay(0);
} else {
servo_3.write(0);
delay(0);
}
if (digitalRead(10) == 0) {
servo_4.write(90);
delay(0);
} else {
servo_4.write(0);
delay(0);
}
if (digitalRead(11) == 0) {
servo_5.write(90);
delay(0);
} else {
servo_5.write(180);
delay(0);
}
}