Flappy Bird Arduino
我用 Arduino Leonardo 做出了一個類似 Google 小恐龍的一個小遊戲。這個裝置用了一個按鈕來操控遊戲裡小鳥的動作,還有一個LCD液晶電板來顯示整個遊戲。一開始,玩家要先按一次按鈕遊戲才會正式開始,開始後,小鳥會開始往前走,而玩家的工作就是要經由按按鈕來避開前方的障礙物,而當小鳥碰到前方障礙物時,遊戲則會結束並顯示你的分數是多少。這個裝置是設計給上班族和學生,因為這個裝置可以讓他們在許多各種壓力之下能抒發一點壓力,但是又不會因此對這個小遊戲上癮而耽誤正業,因為這個小遊戲玩法很簡單。
這個裝置是由這個連結的作者想做出來的!
https://www.instructables.com/Flappy-Bird-Game-Using-Arduino-LCD-Display/
Supplies
- Arduino Leonardo
- Arduino Breadboard
- 6條電線
- 1個按鈕
- LCD液晶電板
- 1個電腦或電池
- 紙板
- 1條傳輸線
- 透明膠帶
連接線路
這個步驟總共會用到六條電線,將第一條線的一端插到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...
以上是程式的連結!
這個程式主要是分成三大塊
- 將鳥還有障礙物進行構圖
- 利用按鈕來操控鳥的動作
- 顯示出鳥的動作
我改了程式的兩個地方都是改連接口的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號連接口作使用。
完成
將程式灌入 Arduino Leonardo 裡並開始就能暢玩了!