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
    • 杜邦線:
  • 外觀圖
    • 註: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);

}

}