Flappy Bird Exercise Arduino
我用Arduino做出了一個類似Google小恐龍的小游戲,這是設計給上班族需要久坐或久站的人的,因此你要操控遊戲中的小鳥時,操控者必須跳起來裡面的小鳥才會跟著一起跳,這樣就能讓上班族的人動一動筋骨,這個裝置用了一個按鈕來操控遊戲裡小鳥的動作,還有一個LCD液晶電板來顯示整個遊戲。一開始,玩家要先按一次按鈕遊戲才會正式開始,開始後,小鳥會開始往前走,而玩家的工作就是要經由跳起來按按鈕來避開前方的障礙物,而當小鳥碰到前方障礙物時,遊戲則會結束並顯示你的分數是多少。這個裝置可以讓他們在久坐和許多各種壓力之下能抒發一下,順便運動。
這個裝置是由這個連結的作者想做出來的!
https://www.instructables.com/Flappy-Bird-Game-Using-Arduino-LCD-Display/
Supplies
-
Arduino Leonardo
-
Arduino Breadboard
-
10條電線
-
1個按鈕
-
紙版
-
1條傳輸線
-
透明膠帶
-
美工刀
連接線路
這個步驟總共會用到10條電線,將第一條線的一端插到SDA連接口裡,將第二條的一端線插到SCL連接口裡,將第三條的一端線插到GND連接口裡,將第四條的一端線插到5V連接口裡,這四條線是給LCD液晶電板用的。接下來,將第五條的一端線插到7號連接口裡,將第六條的一端線插到GND連接口裡,接下來再由這第五、六條線加長所以用剩下的四條線,把兩條線從第五條線連接讓他加長,再把最後的兩條線從第六條線連接讓他加長,這六條線是給按鈕用的。
把線連接到LCD液晶電板
LCD液晶電板總共有四個地方可以提供連接,第一個是GND,第二個是VCC,第三個是SDA,第四個是SCL。首先,將插在GND上的線的另外一端插上LCD液晶電板的GND連接口,接下來,將插在5V上的線的另外一端插上LCD液晶電板的VCC連接口,然後,將插在SDA上的線的另外一端插上LCD液晶電板的SDA連接口,最後,將插在SCL上的線的另外一端插上LCD液晶電板的SCL連接口。這樣LCD液晶電板就能成功運作了。
把線連接到按鈕上
按鈕有兩個地方可以接上,第一個是正極,第二個是負極。首先,將插在5V的那一串線的另一端插入按鈕上正極的那一端,最後,將插在GND的那一串線的另一端插入按鈕負級的那一端。這樣按鈕就可以成功運作了。
紙板製作
首先些量測麵包版的大小並用比裁下來再去進行切割,接下來在那塊紙板上量測好LCD液晶電板的大小再去切割,然後將LCD液晶電板對好切口並用透明膠帶去固定,然後在側邊割開讓那兩串連接長線出的來,另外再割一個可以讓傳輸線插入的孔,最後再用厚紙板做一個小盒子把按鈕包住,以方便固定在牆上,這樣就不會讓醜陋的麵包版露出來了。
程式
https://create.arduino.cc/editor/aaron629/177650a9-fa11-44ed-b5b9-e0fdf465f54e/preview
以上是程式的連結! 這個程式主要是分成三大塊 將鳥還有障礙物進行構圖利用按鈕來操控鳥的動作顯示出鳥的動作我改了程式的兩個地方都是改連接口的PIN,因為原本作者程式是設計給使用 Arduino Uno 的使用者,但由於我是用 Arduino Leonardo ,所以連接按鈕的連接口位置要改。作者當初是連接在2號連接口,但由於 Arduino Leonardo 的2號連接口不能使用,因此改成了7號連接口。這樣就要連程式也一起修改,所以我就把原本的 #define PIN_BUTTON 2 改成了 #define PIN_BUTTON 7。接下來,我還是編譯錯誤,然後就找到了attachInterrupt(0/*PIN_BUTTON*/, buttonPush, FALLING); 這一段是錯的,因此就查了一下,透過這個網站https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/,才發現attachInterrupt 這個東西裡面的第一個數字會根據使用者用的板子而改變,像是作者是用Arduino Uno 因此他填入數字0就是給 Arduino Uno 的2號連接口作使用,因此我改成了attachInterrupt(4/*PIN_BUTTON*/, buttonPush, FALLING);,我填入數字4就是給 Arduino Leonardo 的7號連接口作使用。
操作說明
一開始會出現一個"Press Start"的文字在閃爍,接下來你只要跳起來按那顆按鈕遊戲則會直接開始,接下來會有隨機的障礙物從上排會下排出現,玩家的工作就是跳起來按那顆按鈕來閃避障礙物,當玩家按下按鈕時遊戲裡的小鳥則會跳躍,所以假如有下排的障礙物出現,就要按按鈕來閃避,可是按太快一樣會撞到,因此要抓好時機才能拿到更多分,最後當小鳥撞到障礙物時,遊戲則會結束,右上角會顯示分數,並且回到一開始閃爍"Press Start"的文字。