Sadržaj:
Video: Zmija na pločici: 3 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
"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
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
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:
Meteorološka postaja: ESP8266 s dubokim mirovanjem, SQL, grafički prikaz prema tikvici i plocici: 3 koraka
Meteorološka postaja: ESP8266 s dubokim snom, SQL -om, grafičkim prikazom pomoću boce i plotle: Bilo bi zabavno znati temperaturu, vlažnost ili intenzitet svjetla na vašem balkonu? Znam da bih. Tako sam napravio jednostavnu meteorološku stanicu za prikupljanje takvih podataka. Sljedeći odjeljci su koraci koje sam poduzeo da bih ih izgradio. Počnimo
Kako napraviti tamni senzor na pločici: 5 koraka
Kako napraviti tamni senzor na pločici: Tamni senzor je uređaj koji osjeća prisutnost tame uz pomoć LDR -a. Kad god je svjetlo fokusirano na LDR, LED neće svijetliti i kada je LED držana u mraku u prostoriji bez svjetla LED će svijetliti. Može se nazvati i Aut
Igračke sa prilagodbom: Zmija s jajima daljinski upravljana, dostupno!: 7 koraka (sa slikama)
Switch-Adapt igračke: Zmija s daljinskim upravljanjem, zmija dostupna !: Adaptacija igračaka otvara nove načine i prilagođena rješenja koja omogućuju djeci s ograničenim motoričkim sposobnostima ili s teškoćama u razvoju neovisnu interakciju s igračkama. U mnogim slučajevima djeca kojima su potrebne prilagođene igračke nisu u mogućnosti
8-bitno računalo na pločici Pregled: 3 koraka
8-bitno računalo na pločici Pregled: Moj cilj ovog projekta bio je izgraditi bolje razumijevanje računalne arhitekture, dizajna hardvera i jezika na razini montaže. Budući da sam bio student sveučilišta na studiju računalnog inženjerstva, nedavno sam završio tečajeve elektronike, laboratorije i
Bioinspirirana robotska zmija: 16 koraka (sa slikama)
Bioinspirirana robotska zmija: Bio sam nadahnut za početak ovog projekta nakon što sam vidio istraživačke video zapise robotskih zmija koje se penju na stabla i robotskih jegulja. Ovo je moj prvi pokušaj i izgradnja robota pomoću zmijolikog kretanja, ali neće mi biti zadnji! Pretplatite se na YouTube ako želite