Cuprins:

BrainGame: 8 pași
BrainGame: 8 pași

Video: BrainGame: 8 pași

Video: BrainGame: 8 pași
Video: 50 World Class Assists By Kevin De Bruyne 2024, Noiembrie
Anonim
Image
Image

Bună în această instrucțiune, vă voi arăta cum să construiți un mic joc folosit pentru practicarea matematicii, cu un Arduino Uno și un ecran Oled.

Totul a început când îl ajutam pe fiul meu cu sarcinile sale școlare.

Mi-a venit ideea să folosesc un dispozitiv pentru a practica ceasul analog și aritmetica de bază.

Dacă mi-ați citit celelalte instrucțiuni, „OLEDDICE”, probabil că recunoașteți cutia și alte lucruri din acel proiect.

Când am făcut designul proiectului zarurilor, am cumpărat mai multe PCB-uri personalizate și le-am proiectat pentru o cutie specifică, prin urmare îl voi refolosi pentru multe proiecte portabile.

Datorită celor de mai sus, videoclipul prezintă jocul final personalizat pentru creier și modul de utilizare, dar în această instrucțiune voi descrie cum să îl construiți pe o placă de calcul.

Există două versiuni disponibile.

1. Versiune standard

2. Versiunea AutoPowerOff

Versiunea AutoPowerOff are câteva componente suplimentare adăugate pentru a opri alimentarea automat pentru a economisi bateriile.

Este alegerea perfectă dacă tu, ca mine, faci una care să fie portabilă.

Pasul 1: Funcții

Funcții
Funcții
Funcții
Funcții

Funcțiile descrise mai jos sunt aceleași pentru ambele versiuni, cu excepția caracteristicii AutoPowerOff.

Jocul are trei comutatoare PCB momentane standard pentru control.

Selectați, OK și Înapoi

Așa se joacă.

Când porniți jocul pentru prima dată, vi se va solicita să selectați jocul din meniul jocului.

Puteți alege din, 2 pagini.

Prima pagina:

  • plus
  • scădere
  • multiplicare
  • Divizia

A doua pagină:

  • conversie binară
  • conversie hexagonală
  • Citiri analogice ale ceasului
  • Mod aleatoriu care rulează prin matematica de bază.

După ce ați decis ce joc doriți să jucați, apăsați OK și veți trece la următorul meniu pentru a alege

nivel de la 1-4

Dacă apăsați butonul Înapoi, veți reveni la meniul anterior.

Pasul 2: Începeți să jucați

Începeți să jucați
Începeți să jucați
Începeți să jucați
Începeți să jucați
Începeți să jucați
Începeți să jucați

Apăsați ok pentru a începe redarea.

Jocul 1-4

Dacă ați ales jocul din primul meniu, veți avea o întrebare și o bară de timp în creștere în partea de jos a ecranului. Când timpul a expirat, jocul va afișa răspunsul corect.

Dacă lovești din nou ok, îți va oferi o nouă sarcină.

Jocul 5-8

Dacă alegeți conversia din a doua pagină, comportamentul este similar, dar aici trebuie să convertiți aleatoriu, de la sau la, între zecimal, binar sau hex.

Jucând acest joc, nu veți avea bara de timp, doar apăsați ok când sunteți gata să afișați răspunsul.

Ultimul joc este citirile analogice ale ceasului, când apăsați pe ok, ceasul începe să se rotească și să încetinească un număr aleatoriu de timp înainte ca acesta să se oprească și vi se va cere apoi să răspundeți la ce oră este.

Pentru a fi mai ușor, ceasul se va opri întotdeauna la intervale de 5 minute.

Pentru toate jocurile veți avea un semnal sonor atunci când jucați dacă sunetul este activat.

Pentru a activa sau dezactiva sunetul, apăsați și țineți apăsat butonul Înapoi mai mult de 1 sec. Dacă sunetul este dezactivat, există un mic simbol mut în colțul din dreapta sus.

Pasul 3: Funcții AutoPowerOff

Dacă construiți versiunea AutoPowerOff, există câteva funcții suplimentare.

Porniți dispozitivul ținând apăsat butonul ok pentru o secundă. Jocul rulează aproximativ 60 de secunde înainte de a primi un avertisment de oprire automată, dacă nu jucați niciun joc.

Dacă nu apăsați niciun buton, alimentarea se oprește, ceea ce vă asigură că nu veți uita niciodată să opriți jocul.

Apăsând orice buton se va reseta cronometrul.

Ținând apăsat butonul Înapoi mai mult de trei secunde, apoi eliberați-l va forța jocul să se închidă.

Schița folosește biblioteca EEPROM care vine împreună cu Arduino IDE pentru a stoca date.

Chiar înainte ca alimentarea să se oprească, microcontrolerul salvează cea mai recentă stare și le va aminti pe cele la următoarea repornire, starea Joc, Nivel și Sunet.

Pasul 4: Să începem să construim

Să începem să construim
Să începem să construim

De asta ai nevoie.

Ambele versiuni:

1 Arduino Uno

1 0.96 i2c Afișaj Oled Afișaj Oled

3 butoane momentane Comutator PCB

3 rezistențe 10K

1 Element piezo

1 BreadBboard fără sudură

niște fire jumper.

Versiune AutoPowerOff:

De asemenea, pentru versiunea AutoPowerOff aveți nevoie.

1 tranzistor Pfet IRF9640 sau similar

1 tranzitor NPN BC547 sau similar

2 diode 1N4148

1 Regulator de tensiune 7805

2 rezistoare 100K

2 condensatoare 10uF

1 condensator 0, 1uF

1 baterie de 9 volți

Construirea versiunii standard înseamnă doar conectarea afișajului oled, a piezo-ului, a butoanelor și a rezistențelor pullup. vezi imaginea descurajantă de mai sus.

SCL de pe afișaj este conectat la Analog5 și SDA este conectat la Analog4 pe Arduino.

Pasul 5: Versiunea AutoPowerOff

Versiunea AutoPowerOff
Versiunea AutoPowerOff
Versiunea AutoPowerOff
Versiunea AutoPowerOff

Dacă construiți versiunea Autopoweroff, trebuie să adăugați componentele suplimentare din listă pe panoul dvs. de calcul.

Rețineți că trebuie să mutați rezistența de extragere de 10K pentru butonul Ok pe circuitul de control al puterii și să adăugați fir suplimentar de la ieșirea digitală 8.

De asemenea, asigurați-vă că alimentați Arduino prin pinul de 5 volți din partea de sus (nu prin mufa DC din lateral).

De asemenea, trebuie să scoateți cablul USB atunci când schița este încărcată, altfel funcția de oprire automată nu va funcționa în funcție de faptul că Arduino este alimentat de USB, chiar dacă circuitul este oprit.

Așa funcționează circuitul de oprire automată.

Când apăsați butonul ok, căderea de tensiune de pe poarta PFet: s permite alimentarea bateriei să curgă prin tranzistor către regulatorul de tensiune care stabilizează tensiunea la 5 volți.

Când Arduino este alimentat, pinul digital 8 este setat pe logic HIGH și Pinul este conectat la baza BC547, care va bloca circuitul atâta timp cât pinul digital 8 este HIGH.

Butonul ok controlează și intrarea digitală 7 de pe Arduino prin dioda D2.

Pasul 6: Schița

Schița
Schița

Schița folosește biblioteca U8g2 pentru afișare, o găsiți aici.

Descărcați și instalați înainte de a compila codul.

Aveți nevoie de ajutor pentru a instala bibliotecile? Https: //www.arduino.cc/en/guide/Libraries

IMPORTANT:

Utilizați aceeași schiță pentru ambele versiuni, dar trebuie să excludeți „#define AUTOPOWER” la începutul schiței dacă creați versiunea standard.

Pasul 7: Modificări

Modificări
Modificări
Modificări
Modificări
Modificări
Modificări

În schiță există câțiva parametri pe care utilizatorul poate dori să îi schimbe pentru a se potrivi mai bine cu referințele jucătorilor.

  1. E timpul să te gândești la diferite niveluri.
  2. Gama aleatorie pentru diferite jocuri și niveluri.

Gama de numere aleatorii este stocată într-o matrice 2dim pentru fiecare joc și fiecare nivel.

Dacă utilizați un oled cu o adresă I2c diferită de cea implicită, o puteți schimba cu ușurință pentru a se potrivi cu afișajul dvs.

Pasul 8: Terminați

Esti gata.

Sper să vă placă proiectul și jocul.

A se distra.

Tomas

Recomandat: