日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > TsinghuaJoking
[導(dǎo)讀]在電子森林推文700個(gè)字節(jié)的代碼在A(yíng)Ttiny10里跑一個(gè)游戲,介紹了一個(gè)開(kāi)源小游戲RunTiny。

電子森林推文 700個(gè)字節(jié)的代碼在A(yíng)Ttiny10里跑一個(gè)游戲[1] 介紹了一個(gè) 開(kāi)源小游戲RunTiny[2] .

用了:

  • 一個(gè)AVR單片機(jī)ATtiny10微控制器(只有6個(gè)腳,Digikey上0.3美元一顆)
  • 一個(gè)128*32的OLED顯示屏
  • 一個(gè)按鍵
  • 一個(gè)電池 - 3.3V~4.5V都可以,可以用1S 150mAh的Lipo,乃至一顆CR2032的紐扣電池

小小的單片機(jī)ATtiny10只有6個(gè)腳:

  • 1個(gè)電源
  • 1個(gè)地
  • 1個(gè)Reset
  • 3個(gè)可用的I/O:
    • PB0: 用于連接OLED的I2C的SDA
    • PB1: 用于連接OLED的I2C的SCL
    • PB2: 按鍵(INT0)

原理圖長(zhǎng)這樣(在面包板上就可以實(shí)現(xiàn),5塊錢(qián)打塊板也可以啊):

▲ 極簡(jiǎn)的電路圖
▲ 面包板上搭建的電路

代碼也超級(jí)簡(jiǎn)單,為了能夠塞到1KB的Flash存儲(chǔ)器里面,作者做了優(yōu)化,用匯編語(yǔ)言寫(xiě)成,最終的代碼只有778個(gè)字節(jié),不僅實(shí)現(xiàn)了游戲的功能,還能處理微控制器的I/O以及顯示的通信

是不是很酷?在Github上有開(kāi)源的資源。[2]


“到底應(yīng)該是先剪短綠色電線(xiàn)?還是紅色的呢?”,這也許是很多動(dòng)作片中的扮演大英雄的主人公在面對(duì)能夠拯救百萬(wàn)人性命的拆彈時(shí)刻經(jīng)常要說(shuō)的臺(tái)詞。

下面這個(gè)電子游戲就是帶有兩個(gè)倒計(jì)時(shí)七段數(shù)碼管,并且有四種不同顏色電線(xiàn)需要你將其按順序移開(kāi)來(lái)阻止炸彈爆炸的電路原理圖。

▲ 拆炸彈電子游戲電路圖

原理圖中的器件參數(shù)可以從網(wǎng)絡(luò)上下載相關(guān)的說(shuō)明。[3] 如果使用PCB來(lái)制作相應(yīng)電路可以做到非常小巧精致,不過(guò)在面包板上DIY這個(gè)游戲電路則更有手感。

▲ 在面包板上搭建的電路游戲

電路上電后,數(shù)碼管顯示“S1”,此時(shí)需要將四根不同顏色線(xiàn)(紅、藍(lán)、綠、白)接入電路,然后按動(dòng)按鈕”K1”,游戲便開(kāi)始了,數(shù)碼管顯示15秒的倒計(jì)時(shí)。單片機(jī)程序自動(dòng)隨機(jī)設(shè)定四根線(xiàn)移除結(jié)果:觸發(fā)炸彈、加快計(jì)時(shí)速度、解除炸彈以及無(wú)結(jié)果。

電路中16F88單片機(jī)程序 BGame.hex[3] 也可以從網(wǎng)站下載。

▲ 視頻游戲控制板電路原理圖

下面是一款基于A(yíng)TTiny3的俄羅斯方塊游戲,它是由 Owen在2011年[4] 開(kāi)發(fā)的電子游戲,被稱(chēng)為T(mén)inyCopter,其中LCD是Nokia3310手機(jī)液晶屏幕。它模擬在A(yíng)pple-II電腦上一款電腦老游戲,使用空格鍵來(lái)控制直升飛機(jī)起飛來(lái)穿越崎嶇的通道。

為了能夠在1k字節(jié)的FLASH, 64字節(jié)RAM中實(shí)現(xiàn)這款小游戲,作者使用匯編語(yǔ)言,用盡了單片機(jī)內(nèi)每一位可用的空間。

▲ 俄羅斯方塊游戲

也許匯編語(yǔ)言是很多程序員的噩夢(mèng),但如果開(kāi)發(fā)時(shí)間充裕,Owen愿意永遠(yuǎn)使用匯編語(yǔ)言。它可以讓程序員把單片機(jī)按倒在地上使勁的摩擦,榨出所有可用的資源。


如果前面的單片機(jī)電子游戲機(jī)只能在微小液晶顯示器上玩,不太過(guò)癮,那么下面這款基于A(yíng)TMEGA328的8位單片機(jī)的 Hackvision[5] 則可以直接利用它的IO口來(lái)產(chǎn)生NTSC(或者PAL)電視信號(hào)來(lái)驅(qū)動(dòng)大屏幕電視機(jī)來(lái)顯示游戲畫(huà)面。有兩條IO口組成的2bitAD所產(chǎn)生的音效也很神奇。

▲ Hackvision游戲板

向Arduino一樣,這款電路設(shè)計(jì)中的單片機(jī)可以讓你通過(guò)它的BootLoader將你自己開(kāi)發(fā)的程序進(jìn)行上載。利用單片機(jī)額外的外設(shè)資源可以增加更多的游戲控制桿。

基于這款硬件可以玩太空入侵者,乒乓球或者小行星等游戲。

▲ 太空入侵者游戲

這款Hackvision相關(guān)的 硬件開(kāi)發(fā)和軟件編程[6] 可以在網(wǎng)上找到相應(yīng)的開(kāi)發(fā)資源和編程指導(dǎo)資料。

▲ Hackvision硬件電路設(shè)計(jì)

參考資料

[1]

700個(gè)字節(jié)的代碼在A(yíng)Ttiny10里跑一個(gè)游戲: https://mp.weixin.qq.com/s/gcqykDVyC8Vx_yztekMNSQ

[2]

開(kāi)源小游戲RunTiny: https://github.com/ridoluc/RunTiny

[3]

原理圖中的器件參數(shù)可以從網(wǎng)絡(luò)上下載相關(guān)的說(shuō)明。: https://www.electronics-lab.com/project/bomb-game/

[4]

Owen在2011年: http://hackedgadgets.com/category/game-hacks/page/7/

[5]

Hackvision: https://nootropicdesign.com/hackvision/

[6]

硬件開(kāi)發(fā)和軟件編程: https://easyeda.com/tomatos/hackvision




老大 想問(wèn)下您 16屆比賽會(huì)如期舉辦嗎?

回復(fù):當(dāng)然。

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀(guān)點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉