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, Juli
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 sve, od LED matrica, LCD -a, rasvjete na policama za knjige, pa čak i do prozora čitavih zgrada. Snake ćemo implementirati na sićušnu ploču i OLED ekran. Ljudi su zasigurno napravili sitnije igrače zmija, ali ovo posebno koristi ploču, uklanjajući potrebu za dizajniranjem PCB -a ili lemljenja.

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

Preduslovi:

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

Supplies

  • Arduino Nano
  • 2 relativno visoka otpornika (1 kOhm)
  • Mala ploča
  • 2 tastera
  • 22 AWG puna žica
  • 128 x 64 OLED

Ovo su Amazon partnerske veze pa zarađujem malu proviziju pri svakoj prodaji. Ako već nemate ove zalihe i želite podržati moje buduće projekte, slijedite ove veze!:)

Korak 1: Oglasna ploča

Breadboard
Breadboard
Breadboard
Breadboard
Breadboard
Breadboard

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

1. Izložite to:

Uzmite svoje komponente i položite ih na ploču, pazeći da sve stane. Zamislite koje žice i iglice ćete koristiti i u koje svrhe. Pazite da se vaše očekivane žice ne ukrštaju jer to čini neuredniju ploču. Zapišite koje tačke trebate da povežete! 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 nevjerovatno važan korak.

Napomene:

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 dobivaju iglice D13 i A2. Otkrio sam da Arduino pinovi ne samo da mogu napajati struju, već i potonuti, pa sam upotrijebio A3 kao uzemljenje za desno dugme. Kako bih maksimalno 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:

Sa parovima za skidanje žice i pristojnom količinom od 22 AWG žice s čvrstim jezgrom, uredno povežite komponente. Korištenje čvrstog jezgra za izradu polutrajnih projekata matične ploče ključno je jer ih možete obrezati po dužini, za razliku od kratkospojnih žica. Pazite da ne ostavite puno viška duljine na žicama, bit će neuredna ploča. Odrežite kabele spuštajućih otpornika tako da pristaju u ravnini s pločom.

(Takođe možete samo pratiti šta sam gore uradio.)

Korak 2: Program i testiranje

Program i test
Program i test

Da biste sebi 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 skok 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 definitivno će vas držati na putu. Uzmi moj za primjer (gore)

2. Šifra, šifra, šifra:

Iskreno, ovaj projekt je veća programska vježba nego hardverska vježba. Jedina biblioteka koju sam koristio bila je Adafruit -ova OLED biblioteka, ne računajući podržavajuće GFX i Wire biblioteke.

Omogućite vam da instalirate Adafruit -ovu OLED biblioteku putem Arduino IDE -ovog upravitelja biblioteke.

Ne mogu dokumentirati svaki red 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š kod definitivno ć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 bafer 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 prostor mojih varijabli, koristio sam manje tipove podataka (poput kratkih i bajtova) kad sam mogao.

- Nizovi su obično pohranjeni u SRAM -u, ali upotreba funkcije F () će ih umjesto toga staviti u PROGMEM, čime se štedi dragocjena memorija.

Millis:

- Da 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 videu pobijedio na 20 bodova, u mom kodu možete postaviti uvjet pobjede.)

Stvari za proširenje:

  • Baterija za prenosivost
  • Sigurniji tasteri
  • Još manja igra zmija
  • Još više igara?

Preporučuje se: