Sadržaj:

Zmija na pločici: 3 koraka (sa slikama)
Zmija na pločici: 3 koraka (sa slikama)

Video: Zmija na pločici: 3 koraka (sa slikama)

Video: Zmija na pločici: 3 koraka (sa slikama)
Video: Документальный фильм о культуре Гёбекли-Тепе и Стоун-Хиллз | ОДИН КУСОЧЕК 2024, Studeni
Anonim
Zmija na pločici
Zmija na pločici
Zmija na pločici
Zmija na pločici
Zmija na pločici
Zmija na pločici

"Imate li igrice na telefonu?"

"Ne baš."

Uvod:

Jednostavna za upravljanje, laka za programiranje i ovjekovječena Nokia 6110, Snake je postala omiljeni projekt među inženjerima. Implementiran je u bilo što, od LED matrica, LCD -a, rasvjete na policama za knjige, pa čak i prozora cijelih zgrada. Snake ćemo implementirati na sićušnu ploču i OLED zaslon. Ljudi su zasigurno napravili sitnije igrače zmija, ali ovo posebno koristi ploču, uklanjajući potrebu za dizajnom PCB -a ili lemljenja.

(Mogli biste samo napraviti aplikaciju na svom telefonu, ali mi ne radimo stvari jer su jednostavne.)

Preduvjeti:

Osnovno razumijevanje sklopova, način izrade matične ploče i dobro razumijevanje programiranja u Arduinu.

Pribor

  • Arduino Nano
  • 2 relativno visoka otpornika (1 kOhm)
  • Mala ploča
  • 2 tipke
  • 22 AWG žica s punom jezgrom
  • 128 x 64 OLED

Ovo su Amazonove partnerske veze pa zaradim malo provizije pri svakoj prodaji. Ako već nemate ove zalihe i želite podržati moje buduće projekte, slijedite ove veze!:)

Korak 1: Oglasna ploča

Oglasna ploča
Oglasna ploča
Oglasna ploča
Oglasna ploča
Oglasna ploča
Oglasna ploča

Kako bismo napravili konačni proizvod, očito moramo sastaviti hardver za programiranje i testiranje našeg projekta. Shema sustava za ovaj projekt prilično je jednostavna jer uključuje samo ukupno 4 komponente.

1. Izložite:

Uzmite svoje komponente i položite ih na ploču, pazeći da sve stane. Zamislite koje ćete žice i igle koristiti i u koje svrhe. Pazite da se vaše očekivane žice ne križaju, jer to čini messiraniju ploču. Zapišite koje točke trebate povezati! Iako je ovo jednostavna ploča, znatno će vam olakšati život tijekom procesa ožičenja i općenito. S obzirom na to koliko je mali naš radni prostor, ovo je nevjerojatno važan korak.

Bilješke:

Budući da OLED koristi sabirnicu I2C, moraju se koristiti pinovi A4 i A5. Veličina matične ploče ne dopušta ožičenje i uzemljenje, pa sam upotrijebio nekoliko trikova kako bih sve uspio. Pozitivni napon za tipke opskrbljuje se pinovima D13 i A2. Otkrio sam da Arduino pinovi ne mogu napajati samo struju, već i struju potonuća, pa sam upotrijebio A3 kao uzemljenje za desni gumb. Kako bih povećao prostor na ploči, objesio sam polovicu Nanoa s ploče i poduprio lijeve bočne igle komadom pjene.

2. Povežite ga žicom:

Uz par skidača žice i pristojnu količinu žice od pune jezgre od 22 AWG, uredno ožičite svoje komponente. Korištenje čvrste jezgre za izradu polutrajnih projekata matične ploče ključno je jer ih možete obrezati po duljini, za razliku od kratkospojnih žica. Pazite da ne ostavite puno viška duljine na žicama, bit će neuredna ploča. Odrežite kabele pull-down otpornika tako da pristaju u ravnini s pločom.

(Također možete samo slijediti ono što sam učinio gore.)

Korak 2: Program i test

Program i test
Program i test

Kako biste si kasnije uštedjeli glavobolju, pobrinite se da OLED i gumbi rade onako kako bi trebali izradom osnovnih programa za testiranje.

1. Plan, plan, plan:

Samo uskakanje u kod nije mudra praksa. Vjerujte mi, pokušao sam! Zato biste trebali opisati kako će vaš program funkcionirati. Dijagram toka programa prilično je solidan način za planiranje onoga što vaš kôd treba učiniti i zasigurno će vas držati na putu. Uzmi moj za primjer (gore)

2. Kôd, kôd, kôd:

Iskreno, ovaj je projekt veća vježba programiranja nego hardverska vježba. Jedina knjižnica koju sam koristio bila je Adafruitova OLED knjižnica, ne računajući podržavajuće GFX i Wire knjižnice.

Omogućite vam da instalirate Adafruitovu OLED knjižnicu putem upravitelja knjižnice Arduino IDE -a.

Ne mogu dokumentirati svaki redak koda koji sam napisao, ali evo nekoliko savjeta:

Savjeti:

Komentari:

- Prije svega pišite uredne i korisne komentare dok kodirate. Budući vi i drugi koji budu čitali vaš kôd svakako će vam biti zahvalni.

Memorija:

- Sa složenijim projektima poput ovih, SRAM postaje prilično vruća roba. U biblioteci Adafruit 128 x 64 OLED međuspremnik zauzima samo 1 kB, što je otprilike polovica memorije u ATMega328p. Stoga je pametno upravljanje memorijom važnije nego ikad.

- S velikim strukturama podataka, podaci će se akumulirati i zauzeti puno prostora. Kako bih smanjio memorijski otisak mojih varijabli, koristio sam manje vrste podataka (poput kratkih i bajtova) kad sam mogao.

- Žice se obično pohranjuju u SRAM -u, no upotrebom funkcije F () stavit će se u PROGMEM, čime se štedi dragocjena memorija.

Milis:

- Kako biste postigli preciznije mjerenje ciklusa igre, upotrijebite funkciju millis (). Na internetu postoji mnogo dobrih vodiča i primjera.

Unaprijed definirajte:

- Upotrijebite #define predprocesorsku direktivu kao jednostavan način za postavljanje trajnih vrijednosti u kodu.

Test:

- Testirajte svoj kôd dok idete. Bit će mnogo lakše uništiti greške.

Korak 3: Uživajte

Zabavite se uz svoju novu igru zmija!

(Znam da sam u gornjem videozapisu pobijedio na 20 bodova, u mom kodu možete postaviti uvjet pobjede.)

Stvari za proširenje:

  • Baterija za prijenos
  • Sigurniji gumbi
  • Još manja igra zmija
  • Još više igara?

Preporučeni: