Talaan ng mga Nilalaman:

Business Card / Game Console: ATtiny85 at OLED Screen: 5 Hakbang (na may Mga Larawan)
Business Card / Game Console: ATtiny85 at OLED Screen: 5 Hakbang (na may Mga Larawan)

Video: Business Card / Game Console: ATtiny85 at OLED Screen: 5 Hakbang (na may Mga Larawan)

Video: Business Card / Game Console: ATtiny85 at OLED Screen: 5 Hakbang (na may Mga Larawan)
Video: ATtiny85 Game Console PCB - Multiple Games 2024, Nobyembre
Anonim
Image
Image
Ang lakas ng loob
Ang lakas ng loob

Kumusta kayong lahat

Ngayon ay ipapakita ko sa iyo kung paano mo maitataguyod ang iyong sariling business card / game console / anumang maisip mong nagtatampok ng backlit na I2C OLED display at isang ATtiny85 Microprocessor. Sa Instructable na ito sasabihin ko sa iyo kung paano talagang gumagana ang isang PCB na dinisenyo ko, kung paano mo ito maitatayo, at kung ano ang maaari mong gawin sa pagpapaandar na ito. Kung mayroon ka ng isang I2C screen na naka-link hanggang sa isang ATtiny85, ang Instructable na ito ay maaari pa ring maging kapaki-pakinabang kung sinusubukan mong makakuha ng mga imahe upang ipakita o nais na gumawa ng mga menu, isang laro, at marami pa.

Marahil ay iniisip mo kung ano talaga ang bagay na ito. Ito ay isang simpleng naka-print na circuit board na may isang onboard na baterya, screen, mga pindutan, on / off switch, at pagproseso ng yunit. Isipin ito bilang isang maliit na Gameboy, na madali mong mai-program upang makagawa ng iba't ibang mga bagay. Patuloy!

Hakbang 1: Ang lakas ng loob

Ang lakas ng loob
Ang lakas ng loob
Ang lakas ng loob
Ang lakas ng loob

Kung hindi mo pa nagagawa, lubos kong inirerekumenda na gumawa ka ng isang account sa circuits.io. Papayagan ka nitong ipasadya ang aking disenyo upang umangkop sa iyong mga pangangailangan.

Sa hakbang na ito ipapaliwanag ko kung paano mo talaga makukuha ang iyong mga kamay sa isa sa mga naka-print na circuit board (PCB). Ginawa ko ang aking PCB sa circuits.io, isang mahusay na tool sa online na maaari mong gamitin upang lumikha ng mga circuit iskematiko at PCB. Maaari mong tingnan ang disenyo dito:

Kung interesado kang makuha ang PCB, maaari kang mag-order ng marami hangga't gusto mo mula sa OSH Park gamit ang link na ito:

Tumatagal upang makuha ang mga board (1-3 na linggo), ngunit magtiwala ka sa akin. Sulit naman! Kakailanganin mo ang mga sumusunod na bahagi upang makabuo ng iyong sariling multi-functional card:

  • ATtiny85 sa SOIC-8 na pakete. Ito ang utak ng aming proyekto na kumokontrol sa LAHAT.
  • I2C 128x64 pixel OLED Screen:
  • 2 22k ohm resistors. Ito ang mga pullup resistors para sa mga pindutan.
  • Surface-Mount CR2032 Holder:
  • CR2032 Coin Cell Battery. Ang maliit na baterya na ito ay maaaring mapagana ang circuit nang medyo matagal.
  • 3-pin slide switch. Ito ang switch ng kuryente!
  • Mga Header ng Babae. Maaari mong gamitin ang mga ito upang mai-program ang ATtiny85 habang nasa circuit ito!
  • Mga pindutan ng 6mm:
  • Isang naka-print na circuit board (maaari mo itong i-order gamit ang link sa itaas

Mga tool:

  • Panghinang na bakal (na may isang pinong tip)
  • Panghinang
  • Nangunguna na gunting

Para sa pagprograma sa ATtiny85:

  • 6 Mga wires ng lalaki hanggang lalaki na lumulukso
  • Isang 10 micro-farad capacitor
  • Arduino Uno o ilang iba pang microcontroller na nakabatay sa ATmega

Hakbang 2: Pag-iipon ng PCB

Pagtitipon ng PCB
Pagtitipon ng PCB
Pagtitipon ng PCB
Pagtitipon ng PCB

Ito ay talagang medyo madali. Ang kailangan mo lang gawin ay maghinang ng lahat ng mga bahagi sa kani-kanilang mga lugar, tulad ng ipinahiwatig sa pisara. Ang ilan sa mga OLED screen na ito ay may iba't ibang laki, kaya't kung ang iyo ay masyadong malaki para sa board, maaari mo itong i-hang sa itaas tulad ng sa imahe sa itaas, at yumuko sa mga header sa kabilang panig at solder ang mga ito sa mga butas kung saan pupunta sana sila. Tingnan ang pangalawang imahe kung nalilito ka.

Ilang kapaki-pakinabang na tip:

  • Ang maliliit na tuldok sa ATtiny ay kailangang oriented upang malapit ito sa slide switch, kung hindi man magkakaroon ka ng mga pin sa maling pagkakasunud-sunod.
  • Mahalaga ang oryentasyon ng may hawak ng baterya. Ang dulo ng may hawak na may nakaukit na plus ay kailangang nasa ibabang pad (itinuro patungo sa isang risistor).
  • Hindi mahalaga ang oryentasyon ng mga switch, button, header, at resistor

Kung mayroon kang anumang mga katanungan, mangyaring mag-email sa akin sa impormasyon [sa] coniferapps.com

Hakbang 3: Oras upang Kumuha ng Programming

Nakuha ko ang aking ATtiny / screen combo na gumagana gamit ang sumusunod na Tagubilin: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Sa katunayan, ginagamit ko pa ang silid-aklatan na binago ni AndyB2 sa aking sariling mga sketch.

Ang paraan ng pagpoproseso ng ATtiny ay sa pamamagitan ng isang Arduino Uno. Ipinapakita sa iyo ng sumusunod na Makatuturo kung paano ito gawin: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Kung hindi mo pa napansin, ang lahat ng kinakailangang mga pin ay makakatulong na nasira-out sa PCB na may mga numero ng pin na may label sa likuran.

Kung nais mong magsimula sa isang pangunahing halimbawa, i-upload ang naka-link na sketch sa itaas sa iyong card. Tiyaking inilipat sa kanan ang switch ng kuryente bago mo ito gawin. Hindi mo nais na magkaroon ng baterya at ang Uno parehong pagbibigay ng boltahe nang sabay! Sa folder na iyon ay isang pangkat ng mga file. Pinag-uusapan ko ito nang higit pa sa susunod na hakbang, ngunit ang karamihan sa mga file ng header doon ay may mga hexadecimal na representasyon ng mga imahe ng monochromatic bitmap. Ang mga.bmp file ay ang mga larawang ito na nabanggit ko lamang - tulad ng nakikita mo, ang mga ito ay itim at puti at eksaktong 128x64 pixel. Ang mga ito ay hindi nai-upload sa microcontroller, ngunit naisip kong isasama ko sila para sa sanggunian.

Hakbang 4: Tungkol sa Program na Mismo

Ang sketch na na-upload ko sa nakaraang hakbang ay isang pangunahing halimbawa ng kung paano mo maipapatupad ang isang menu. Habang na-click mo ang bawat isa sa kaliwa at kanang mga pindutan, nag-toggle ito ng isang counter sa programa. Tinawag ang isang pagpapaandar na may check ng ATtiny sa estado ng counter na ito, at batay sa numero ng counter ang ATtiny ay gumuhit ng isang imahe ng kasalukuyang napiling pagpipilian ng menu sa screen. Ang bawat isa sa iba't ibang napiling mga menu-cell ay may sariling imahe. Kung ang tuktok na pindutan ay pinindot, muling suriin ng ATtiny ang estado ng counter upang matukoy kung anong screen ng detalye ang ipapakita. Habang ipinapakita ang mga screen ng detalyeng ito ang ATtiny ay patuloy na suriin upang makita kung ang anumang pindutan ay pinindot. Kapag nakita nito ang isang pindutin ang pindutan, ang pagpapaandar na kumukuha ng mga menu ay tinawag ulit at ang kasalukuyang estado ng menu ay iginuhit sa screen, ibabalik kami sa menu. Tila nakakatakot ito kung bago ka sa pag-program, ngunit ipinapangako ko sa iyo sa sandaling tiningnan mo ang code na magkakaroon ng mas katuturan.

Ang bawat isa sa mga screen ng detalye ay mayroon ding sariling imahe.

Kung hindi mo napansin, ang opsyong sorpresa ay walang ginagawa. Makakarating kami sa susunod na hakbang:).

Hakbang 5: Pagpapasadya ng Iyong Paglikha

Ngayon na nakita mo ang nagawa ko, oras na para sa iyo na ipasadya ang card gamit ang iyong sariling impormasyon. Ang library na isinama ko ay mayroong isang function upang gumuhit ng teksto sa screen, ngunit lubos kong inirerekumenda na pumunta ka sa isang mahigpit na solusyon na nakabatay sa imahe, dahil mas mahusay itong magmukhang mas mahusay. Orihinal na gagawa ako ng pagdaragdag ng mga larawan sa bahagi ng programa ng itinuturo na ito, ngunit sapat na itong mahaba upang magagarantiyahan ang sarili nitong maituturo. Maaari mo itong tingnan dito:

Ngayon na alam mo kung paano magdagdag ng mga larawan, maraming mga bagay na maaari mong gawin ang card. Maaari mong gamitin ang aking mga menu at help screen, at idagdag lamang sa iyong sariling impormasyon sa pakikipag-ugnay. Maaari ka ring gumawa ng isang maliit na laro para sa pagpipiliang "sorpresa". Ito ay magiging medyo simple upang ilipat ang isang napakaliit na 10x10 sprite sa paligid ng screen gamit ang mga pindutan at suriin kung nakabangga ito sa isa pang sprite. Maaari kang gumawa ng isang flappy bird clone gamit ang parehong konsepto! Kung gumawa ka ng isang bagay, mangyaring mag-post ng larawan / video / file nito sa mga komento!

Isa pang maliit na puntong nakalimutan kong banggitin. Hangga't napupunta ang imbakan, ang ATtiny85 ay wala ng marami rito. Para sa mga programa, ito ay tungkol sa 8kb. Ang aking kasalukuyang sketch na may 5 mga larawan at OLED display library ay sumasakop sa halos 7 sa mga 8kb. Anumang mga laro na gagawin mo ay kailangang magkasya sa loob ng medyo maliit na margin na ito, kaya't ito ay magiging isang kasiya-siyang hamon:).

Salamat sa pakikinig sa akin na ramble on, at kung mayroon kang anumang mga katanungan huwag mag-atubiling i-email ako sa impormasyon [sa] coniferapps.com (palitan ang [sa] ng @). Mangyaring iboto ako sa paligsahan sa Autodesk Circuits! Inaasahan mong magkakaroon ka ng iyong sariling card / laro sa negosyo upang ipakita!

Inirerekumendang: