樂(lè)高單片機(jī)刷卡機(jī)制作,用單片機(jī)做一個(gè)游戲機(jī)
網(wǎng)上關(guān)于樂(lè)高單片機(jī)刷卡機(jī)制作,用單片機(jī)做一個(gè)游戲機(jī)的刷卡知識(shí)比較多,也有關(guān)于樂(lè)高單片機(jī)刷卡機(jī)制作的問(wèn)題,今天第一pos網(wǎng)(www.cnksdq.com.cn)為大家整理刷卡常見知識(shí),未來(lái)的我們終成一代卡神。
本文目錄一覽:
樂(lè)高單片機(jī)刷卡機(jī)制作
前言:上次的測(cè)評(píng)結(jié)束后一直想利用板載的 ATMEGA328P 做個(gè)完整的應(yīng)用,但是最近的工作和生活都不如意,一直抽不出時(shí)間,一晃就到這個(gè)時(shí)候了。心情也是一如昨天的天氣,但是剛好有時(shí)間了,那就做點(diǎn)有意思的事情。畢竟拿到這樣一塊板子也不容易,既然活動(dòng)能夠給我發(fā)過(guò)來(lái),那我也是該盡力而為,也算是投桃報(bào)李。
1、界面演示
Arduino 對(duì)328p的支持也挺好,剛好在論壇看到一個(gè)帖子,使用arduiboy的庫(kù)寫了個(gè)小游戲,看了下很有意思的。而且連芯片都是一樣的,甚至連移植都不需要。有一塊328p的處理器,再加上一塊OLED12864就OK了。
接下來(lái)給大家看看運(yùn)行中的界面,還是挺有意思的。想想那會(huì)在學(xué)校在proteus上找打一個(gè)51單片機(jī)的仿真,記得當(dāng)時(shí)做的是萬(wàn)年歷,足足高興了一周。想想現(xiàn)在日漸消沉的心態(tài),越發(fā)得懷念大學(xué)。
開始界面===
運(yùn)行界面1===
開始界面2===
游戲的操作就和以前的小霸王上的 炸彈人 是一樣的,上下左右控制小人的方向;一個(gè)A鍵,一個(gè)B鍵,A鍵投彈,B鍵暫時(shí)擱置,你也可以把這個(gè)鍵編程為暫停或者投彈。只是游戲的難度可能要小一點(diǎn),趣味性不足真正的 炸彈人,每一關(guān)的過(guò)關(guān)標(biāo)準(zhǔn)只要炸死一個(gè)怪物就行。但是,若是想學(xué)習(xí)在單片機(jī)上的游戲編程,這個(gè)選擇非常不錯(cuò),邏輯簡(jiǎn)單,電路清晰,并且直觀呀。
程序的注釋也是非常詳細(xì)的:
/*=========================================================
主菜單
=========================================================*/
void MENU() {
bool POA = false;
while (POA == true || KeyBack != 4) {
key();
switch (KeyBack) {
case 0:
POA = false;
break;
case 1:
POA = true;
break;
case 4:
if (POA == true) {
KeyBack = 255;
arduboy.clear();
arduboy.setCursor(0, 0);
arduboy.println(F(" >About"));
arduboy.println(F(""));
arduboy.println(F("LHW programming"));
arduboy.println(F("LHW Art"));
arduboy.println(F("E-mail"));
arduboy.println(F("1281702594@qq.com"));
arduboy.println(F(""));
arduboy.println(F("Any key back..."));
arduboy.display();
delay(200);
while (KeyBack == 255) key();
delay(200);
}
break;
}
arduboy.clear();
arduboy.drawSlowXYBitmap(39, 1, START_TITLE , 87, 39, 1); //大標(biāo)題
arduboy.drawSlowXYBitmap(0, 23, TITLE_TNT , 37, 41, 1); //TNT圖標(biāo)
arduboy.drawSlowXYBitmap(65, 58, LHW , 39, 5, 1); //作者信息
arduboy.setCursor(70, 39);
arduboy.println(F("PLAY"));
arduboy.setCursor(70, 47);
arduboy.println(F("ABOUT"));
if (POA == false) arduboy.setCursor(62, 39); else arduboy.setCursor(62, 47);
arduboy.println(F("*"));
arduboy.display();
}
}
2、電路的設(shè)置以及修改
整個(gè)電路的設(shè)計(jì)參照Arduboy,這是一個(gè)開源項(xiàng)目,設(shè)計(jì)的這塊辦卡大小僅相當(dāng)于信用卡。 裝有經(jīng)典的8位游戲,我們可以在官網(wǎng)的開源中下載相關(guān)的游戲編譯通過(guò)之后,下載到我們的板子。但是,注意一下哦,這里的主控是 Atmega32U4 ,在使用我們的DFRobot藍(lán)牙控制器 做主控時(shí)使用我附件提供的庫(kù)文件 Arduboy2 。
具體的電路設(shè)置參考 Arduboy2 文件夾中的電路,為了大家查看方便,我已經(jīng)在附件 原理圖 單獨(dú)提取出來(lái)了。電路中中特別重要的是6個(gè)按鍵和IIC通信的OLED12864,其他的什么晶振電路,復(fù)位都不用管,實(shí)際采用的電路如下,需要修改的地方已經(jīng)用藍(lán)色筆畫出來(lái)了:
根據(jù)我們的模塊來(lái)看,其中有兩個(gè)地方需要修改。其中的D3和D4的功能是作為我們游戲機(jī)的按鍵,現(xiàn)在連接了藍(lán)牙模塊的引腳。D3我沒有試過(guò),D4連接到藍(lán)牙模塊的時(shí)候,游戲開始的時(shí)候,上下鍵都沒有反應(yīng)。所以我干脆一不做二不休,將兩個(gè)電阻都挑開了。但是來(lái)到咱們板子上找電阻的時(shí)候,上面沒有標(biāo)號(hào)的絲印。這也不難,將萬(wàn)用表打到蜂鳴器檔位,然后從ATMEGA328P 的PIN1和PIN32定位到電阻,然后挑開。為了保險(xiǎn)只是將上面的兩個(gè)電阻挑開,沒有直接拆掉是為了下次需要的時(shí)候再接上:
現(xiàn)在只需要加上OLED屏就行,然后加上我們的按鍵。我找了一塊以前的洞洞板做了個(gè)小小的固定,隨便焊接的,有點(diǎn)丑,但是不影響使用。焊接按鍵的時(shí)候需要注意,焊接完成后開機(jī)試試,這個(gè)時(shí)候玩游戲若是沒問(wèn)題,那是最好。否則,在GND上插上一根跳線,然后在各個(gè)引腳上一路掃過(guò)來(lái),確定這個(gè)按鍵。當(dāng)然,優(yōu)先參看原理圖。
按鍵===
OLED12864===
3、程序的導(dǎo)入以及下載
程序的下載鏈接:GITHUB:https://github.com/createskyblue/Bomberman
首先編譯程序,在沒有庫(kù)文件的情況下會(huì)報(bào)錯(cuò)。這里不是導(dǎo)入官方的Arduboy2 庫(kù) ,上面介紹Arduboy 就說(shuō)了注意事項(xiàng),這里兩者的芯片不一樣,這里導(dǎo)入我給的庫(kù)。找到帖子中提到的 Arduboy2庫(kù),然后將 Arduboy2 到自己 arduino IDE的庫(kù)里面,庫(kù)的位置可以使查看編譯的輸出信息。比如,我的庫(kù)位置:C:\\Users\\Administrator\\Documents\\Arduino\\libraries。
然后直接打開 工具 對(duì)自己的開發(fā)板進(jìn)行設(shè)置,這里不設(shè)置為Pro mini,而是設(shè)置為 nano,8MHZ,3.3V(頻率和手冊(cè)里面的數(shù)據(jù)一樣),因?yàn)榭赡軙?huì)出現(xiàn)不能下載的情況下,記得勾選 old bootloader ,然后再下載。如果選擇Pro mini 下載DFRobot藍(lán)牙控制器 官網(wǎng)下的文件可以,這里卻不行,具體的原因我也不清除,反正試了很多遍,感覺這個(gè)設(shè)置比較靠譜就推薦給大家了。
上傳成功===
結(jié)語(yǔ):
若是在程序改寫中有疑問(wèn),可以聯(lián)絡(luò)源程序作者:https://www.arduino.cn/thread-81825-1-1.html
細(xì)水長(zhǎng)流,江湖再見。
需要所有源資料的同學(xué),私信我:ATMEGA328P + 洞洞板:arduiboy游戲機(jī)。
以上就是關(guān)于樂(lè)高單片機(jī)刷卡機(jī)制作,用單片機(jī)做一個(gè)游戲機(jī)的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于樂(lè)高單片機(jī)刷卡機(jī)制作的知識(shí),希望能夠幫助到大家!

轉(zhuǎn)載請(qǐng)帶上網(wǎng)址:http://www.cnksdq.com.cn/shuaka/46476.html