Cuprins:

Șarpe pe un panou: 3 pași (cu imagini)
Șarpe pe un panou: 3 pași (cu imagini)
Anonim
Șarpe pe un panou
Șarpe pe un panou
Șarpe pe un panou
Șarpe pe un panou
Șarpe pe un panou
Șarpe pe un panou

"Ai jocuri pe telefonul tău?"

"Nu chiar."

Introducere:

Simplu de controlat, ușor de programat și imortalizat de Nokia 6110, Snake a devenit un proiect preferat printre ingineri. Acesta a fost implementat în orice, de la matrici LED, LCD-uri, iluminat pentru rafturi și chiar ferestre de clădiri întregi. Vom implementa Snake pe o placă mică și pe un ecran OLED. Oamenii au făcut cu siguranță jucători de șarpe mai tineri, dar acest lucru folosește în mod specific o placă, eliminând necesitatea de a proiecta PCB-uri sau lipire.

(Puteți crea o aplicație pe telefonul dvs., dar noi nu facem lucruri pentru că sunt ușoare.)

Condiții preliminare:

O înțelegere de bază a circuitelor, cum să faceți panoul de testare și o înțelegere solidă a programării în Arduino.

Provizii

  • Arduino Nano
  • 2 rezistențe destul de mari (1kOhm)
  • Pană mică
  • 2 butoane
  • Sârmă cu miez solid de 22 AWG
  • 128 x 64 OLED

Acestea sunt linkuri de afiliere Amazon, așa că câștig un mic comision cu fiecare vânzare. Dacă nu aveți deja aceste consumabile și doriți să sprijiniți viitoarele proiecte ale mele, urmați aceste linkuri!:)

Pasul 1: Breadboard

Pană de pâine
Pană de pâine
Pană de pâine
Pană de pâine
Pană de pâine
Pană de pâine

Pentru a realiza produsul nostru final, trebuie să montăm hardware-ul pentru a programa și testa proiectul nostru. Diagrama de sistem pentru acest proiect este destul de simplă, deoarece implică doar un total de 4 componente.

1. Așezați-l:

Luați componentele și așezați-le pe tablă, asigurându-vă că totul se potrivește. Vizualizați ce fire și pini veți folosi și în ce scopuri. Asigurați-vă că firele dvs. anticipate nu se încrucișează, deoarece acest lucru face ca o placă mai dificilă. Scrieți ce puncte va trebui să vă conectați! Deși aceasta este o placă simplă, aceasta vă va face viața mult mai ușoară în timpul procesului de cablare și în general. Datorită cât de mic este spațiul nostru de lucru, acesta este un pas incredibil de important.

Note:

Deoarece OLED utilizează magistrala I2C, trebuie folosiți pinii A4 și A5. Dimensiunea plăcii nu permite o șină de alimentare și de sol, așa că am folosit câteva trucuri pentru ca totul să funcționeze. Tensiunea pozitivă pentru butoane este furnizată de pinii D13 și A2. Am descoperit că pinii Arduino nu numai că pot furniza curent, ci și curent de scufundare, așa că am folosit A3 ca bază pentru butonul din dreapta. Pentru a maximiza spațiul de pe panou, am atârnat jumătate din Nano de pe tablă și am sprijinit pinii din stânga cu o bucată de spumă.

2. Conectați-l:

Cu o pereche de decapanti de sârmă și o cantitate decentă de sârmă solidă de 22 AWG, conectați bine componentele. Folosirea miezului solid pentru realizarea de proiecte semipermanente este esențială, deoarece le puteți tăia la lungime, spre deosebire de firele jumper. Asigurați-vă că nu lăsați prea multă lungime pe firele dvs., aceasta va face o placă dezordonată. Tăiați cablurile rezistențelor de tragere în jos, astfel încât să se potrivească perfect cu placa.

(Puteți urmări, de asemenea, ceea ce am făcut mai sus.)

Pasul 2: Programați și testați

Program și test
Program și test

Pentru a vă salva o durere de cap mai târziu, asigurați-vă că OLED-ul și butoanele funcționează așa cum ar trebui, realizând programe de testare de bază.

1. Planifică, planifică, planifică:

Saltul direct în cod nu este o practică înțeleaptă. Crede-mă, am încercat! De aceea ar trebui să subliniați cum va funcționa programul dvs. O diagramă a fluxului de programe este un mod destul de solid de a planifica ceea ce trebuie să facă codul dvs. și vă va ține cu siguranță pe drumul cel bun. Luați-o pe a mea de exemplu (mai sus)

2. Cod, cod, cod:

Sincer, acest proiect este un exercițiu de programare mai mare decât este un exercițiu hardware. Singura bibliotecă pe care am folosit-o a fost biblioteca OLED a Adafruit, fără a lua în calcul bibliotecile GFX și Wire.

Faceți-vă să instalați biblioteca OLED Adafruit prin intermediul managerului de bibliotecă Arduino IDE.

Nu pot documenta fiecare linie de cod pe care am scris-o, dar iată câteva sfaturi:

Sfaturi:

Comentarii:

- În primul rând, scrieți comentarii îngrijite și utile în timp ce codificați. Viitorul dvs. și alții care vă vor citi codul vă vor mulțumi cu siguranță.

Memorie:

- Cu astfel de proiecte mai complexe, SRAM devine o marfă fierbinte. În biblioteca Adafruit, memoria tampon OLED de 128 x 64 ocupă 1 kB singur, ceea ce reprezintă aproximativ jumătate din memorie într-un ATMega328p. Prin urmare, gestionarea inteligentă a memoriei este mai importantă ca niciodată.

- Cu structuri mari de date, datele deținute se vor acumula și vor ocupa mult spațiu. Pentru a reduce amprenta de memorie a variabilelor mele, am folosit tipuri de date mai mici (cum ar fi scurt și octet) când am putut.

- Șirurile sunt de obicei stocate în SRAM, dar folosind funcția F () le veți introduce în PROGMEM, economisind memorie prețioasă.

Millis:

- Pentru a obține o sincronizare mai precisă a ciclurilor de joc, utilizați funcția millis (). Există o mulțime de tutoriale și exemple bune online.

Definiți în prealabil:

- Utilizați directiva #define preprocesor ca o modalitate ușoară de a seta valori permanente în cod.

Test:

- Testați-vă codul pe măsură ce mergeți. Va fi mult mai ușor să distrugeți erorile.

Pasul 3: Bucurați-vă

Distrează-te cu noul tău joc de șarpe!

(Știu că am câștigat la 20 de puncte în videoclipul de mai sus, puteți seta condiția de câștig mai mare în codul meu.)

Lucruri de extins:

  • O baterie pentru portabilitate
  • Butoane mai sigure
  • Un joc de șarpe și mai mic
  • Chiar și mai multe jocuri?

Recomandat: