用Arduino Pro Mini和0.96英寸SSD1306 OLED顯示器在一個小屏幕上重新創(chuàng)建心愛的Chrome Dino游戲
我們都有過這樣的經(jīng)歷,沒有互聯(lián)網(wǎng),像Chrome恐龍一樣無休止地在仙人掌上跳來跳去。作為一個既喜歡復古游戲又喜歡微控制器的人,我想:為什么不使用Arduino將這個游戲帶到現(xiàn)實世界呢?
這個項目是我嘗試用Arduino Pro Mini和0.96英寸SSD1306 OLED顯示器在一個小屏幕上重新創(chuàng)建心愛的Chrome Dino游戲。
這是一個簡單、有趣、令人上癮的游戲,你可以把它放在口袋里!你可以隨時隨地玩它。我在上下班的公交車上,在編譯代碼的時候,或者在我感到無聊的時候,都會玩這款游戲。這是一種有趣的方式,可以讓你遠離TikTok或Instagram上的厄運滾動。
這個項目的靈感來自AlexIII的T-Rex Duino存儲庫的出色工作。對他大喊大叫。我做了一些修改,以適應我的硬件設置,并解決了游戲不能在SSD1306 OLED顯示器上運行的問題
你將創(chuàng)造什么
一個小型的,獨立版本的Chrome恐龍游戲,運行在Arduino Pro Mini上,并在一個小OLED屏幕上顯示所有內(nèi)容。按下按鈕,恐龍就能跳過障礙物——就像真的一樣
硬件使用
?Arduino Pro Mini (3.3V, 8MHz)
?128x64 OLED顯示屏(I2C)
?USB轉(zhuǎn)UART驅(qū)動程序(FTDI 或任何可用的驅(qū)動程序)
?兩個按鈕(用于跳躍和躲閃)
?面包板和跳線
?選配3.7V LiPo電池或USB-to-Serial為單板供電
游戲功能
?滾動地面和障礙物
?跳躍恐龍動畫
?碰撞檢測
?分數(shù)計數(shù)器
?游戲結(jié)束畫面
接線圖
連接FTDI 進行編程
?FTDI 3V3→3V3
?FTDI GND→GND
?FTDI TX→RX
?FTDI RXX→TX
?FTDI DTR→DTR
您也可以使用Arduino Uno來編程Arduino Pro Mini
連接OLED
?OLED VCC→VCC (Arduino)
?OLED GND→GND
?OLED SCL→A5
?OLEDSDA→A4
連接控制按鈕
?跳躍鍵→D6
?鴨子鍵→D7
編程
以下是如何在Arduino上下載,設置和運行游戲:
1.下載基本代碼
前往Arduino和OLED存儲庫上的Chrome Dino游戲,點擊綠色代碼按鈕>下載ZIP。
2. 提取代碼
解壓縮下載的文件夾。你會找到的。一個文件以及支持的資產(chǎn)。
在Arduino IDE中打開
?啟動Arduino IDE。
?進入File > Open,選擇。從解壓縮的文件夾中取出一個文件。
選擇您的板和端口
?在菜單欄中,進入Tools > Board,選擇Arduino Nano(我們使用的是pro mini,但選擇Nano是完美的)
?在處理器下,選擇ATmega328P (3V, 8 MHz)(或匹配您的主板規(guī)格)。
?進入Tools > Port,選擇正確的COM端口(通常在通過USB插入單板后出現(xiàn))。
安裝所需的庫
確保通過庫管理器安裝了以下庫:
?Adafruit SSD1306
?Adafruit GFX
?提示:轉(zhuǎn)到sketch > Include Library > Manage Libraries,然后搜索并安裝每個庫。
上傳代碼
?點擊上傳按鈕(右箭頭圖標)。
?等待它編譯和上傳——一旦完成,游戲應該開始在你的OLED顯示器上運行。
可選:定制
在這里,你可以修改原始代碼,添加:
?額外的生活
?心用戶界面
?日夜模式
?閃避技工
它是如何工作的
游戲在一個連續(xù)的循環(huán)中運行,逐幀更新顯示。當玩家按下按鈕時,恐龍會根據(jù)基本物理原理改變垂直位置而跳躍。像仙人掌這樣的障礙物從右側(cè)出現(xiàn),并在屏幕上向左移動。一開始你有三條命,與障礙碰撞只會消耗一條命。一旦所有人都死了,游戲就結(jié)束了。然而,你可以在游戲過程中賺取額外的生命——游戲右上角的紅心就是代表。根據(jù)障礙物的類型,恐龍可以跳躍或躲避。游戲的特點是晝夜之間的動態(tài)轉(zhuǎn)換,隨著時間的推移,屏幕變暗,增加了挑戰(zhàn)。你存活的時間越長,分數(shù)計數(shù)器就越高。
本文編譯自hackster.io