Cuprins:
- Pasul 1: Piese
- Pasul 2: Cablare
- Pasul 3: Cablare alternativă
- Pasul 4: Cod + Explicație
- Pasul 5: Vă mulțumim pentru lectură
Video: Tenis Pong cu LED Matrix, Arduino și Joysticks: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Acest proiect este destinat atât începătorilor, cât și jucătorilor cu experiență. La un nivel de bază, se poate face cu o placă de prindere, fire jumper și lipit de o bucată de material rezidual (am folosit lemn) cu Blu-Tack și fără lipire. Cu toate acestea, la un nivel mai avansat, poate fi lipit pe o placă de perfecționare sau pe un PCB personalizat.
Deoarece acesta a fost un proiect de blocare, nu am avut acces la multe instrumente sau materiale, de aceea este lipit de o bucată de resturi de lemn care este puțin prea mică cu Blu-Tack, cu toate acestea, în ciuda acestui fapt, este un proiect distractiv care vine împreună rapid și este alcătuit din piese disponibile în mod obișnuit, care pot fi găsite ieftin online.
Pasul 1: Piese
Pentru a crea jocul Pong ai nevoie;
- 1x Un Arduino (orice tip va funcționa)
- 4x MAX7219 Matrici LED 8x8
- 2x Joysticks
- 1x Piezo Buzzer (opțional)
- 15x fire jumper feminin-feminin (3x grupuri de 5)
- 15x fire jumper masculin-feminin (3x grupuri de 5)
- 18x fire jumper masculin-masculin
- 1x placă de pâine
- 1x rezistor de 220Ω
În loc de o placă Arduino Uno sau Nano puteți utiliza o placă de calcul Arduino pe bază de;
- 1x ATmega328p 28pin IC
- 1x Oscilator de cristal de 16 kHz
- Condensatori ceramici 2x 22pF
- 1x USB FTDI UART Converter
- 1x condensator electrolitic 100uF
- 1x Micro USB Breakout (Opțional)
Unelte;
- PC cu Arduino IDE (și LedControl Library)
- Cablu USB relevant pentru Arduino
- Power Bank pentru a alimenta jocul departe de computer
Pasul 2: Cablare
Cablarea este foarte simplă, deoarece nu aveți nevoie decât de fire jumper pentru a conecta anteturile Matricelor și Joystick-urilor la Arduino. Singura complicație este puterea, deoarece Arduino Uno are doar 3 conexiuni GND și o conexiune de 5v. În cazul în care panoul de intrare intră și acționează ca o șină de distribuție a energiei pentru toate componentele, dacă folosiți un NANO, placa de pană va avea același scop și vă va permite să conectați totul.
Pentru cablare, urmați aceste conexiuni.
- Joystick stâng - GND și 5v la șinele de alimentare respective. SW - pinul 9, VRx - A0, VRy - A1.
- Joystick dreapta - GND și 5v la șinele de alimentare respective. SW - pinul 8, VRx - A2, VRy - A3.
- Matricea LED din dreapta - GND și 5v la șinele de alimentare respective. DIN - 13, CS - 11, CLK - 12. (Conform liniei 25)
- Toate celelalte matrici cu LED-uri pot fi înlănțuite pe ieșirea primei, mergând de la dreapta la stânga, astfel încât codul să funcționeze corect.
- Buzzer opțional - Anod (+) prin rezistor de limitare a curentului de 220Ω la pinul 10, catod (-) - GND.
Pasul 3: Cablare alternativă
După ce l-am conectat cu un Arduino UNO pentru a economisi spațiu, am decis să pun Arduino IC de la UNO pe panou cu un oscilator de cristal de 16 MHz și o pereche de condensatori de 22 pF de la fiecare parte la masă. Cred că a fost o modificare care merită, deoarece face ca proiectul să pară mai ordonat și mai finalizat, totuși trebuie să utilizați un programator USB FTDI pentru a actualiza programul.
Pasul 4: Cod + Explicație
Pentru a încărca codul în Arduino descărcați biblioteca LedControl de pe GitHub aici, github.com/wayoda/LedControl și adăugați fișierul Zip sau adăugați-l prin Managerul de bibliotecă din IDE. După aceea deschideți schița atașată, selectați Arduino în setările de bord și port sub instrumente și încărcați-l pe arduino.
Explicaţie
Linia 1: adaugă biblioteca
Linia 5-23: Setează toate variabilele, constantele și numerele de pin.
Linia 25: Setează LED-ul Martix și setează pinii de control și câte afișaje.
Linia 27: Setează funcția de resetare.
Linia 30-35: Funcția de oprire pentru a porni / opri toate afișajele împreună.
Linia 38-43: funcția SetIntensity pentru a seta luminozitatea tuturor afișajelor împreună.
Linia 46-51: funcția ClearAll pentru a șterge toate afișajele împreună.
Linia 53-64: joystick Funcție pentru a obține poziția joystick-urilor, le mapează la cele 7 poziții posibile ale liliacului pentru lovirea mingii și apoi mută liliacul în noua poziție.
Linia 67-435: Funcție care mută mingea către jucătorul stâng la înălțimea și viteza specificate, verifică dacă jucătorul a lovit-o și fie continuă și stabilește starea de blocare la adevărat sau rotește mingea înapoi, adaugă 1 la scor și crește viteza.
Linia 438-811: Funcție care mută mingea către jucătorul potrivit la înălțimea și viteza specificate, verifică dacă jucătorul a lovit-o și fie continuă și stabilește starea de blocare la adevărat sau rotește mingea înapoi, adaugă 1 la scor și crește viteza.
Linia 813-823: Funcție pentru afișarea unui Smiley Face, Tick, Cross sau Question Mark pe afișajul specificat (0 în dreapta până la 3 în stânga).
Linia 861-979: Funcție pentru afișarea numerelor 0-9 pe afișajul specificat.
Linia 981-1047: Funcție pentru afișarea scorului pe fiecare parte a jucătorilor de pe ecran.
Linia 1049-1064: Funcție pentru a verifica dacă playerul este pregătit.
Linia 1066-1076: Secțiunea de configurare a codului pentru codul care se execută o dată când pornește programul.
Linia 1078-1136: Secțiunea Buclă principală pentru logica jocului în care sunt utilizate toate funcțiile și unde se decide cine câștigă și apoi repornește programul după 5 secunde de afișare a scorului.
Pasul 5: Vă mulțumim pentru lectură
Vă mulțumim că ați citit acest Instructable, a fost un proiect distractiv de blocare care s-a reunit în câteva zile, pe măsură ce am aflat mai multe despre programarea Arduino. Dacă v-a plăcut, nu ezitați să o votați la concursul Arduino.
Recomandat:
Minge LED pentru tenis de masă: 16 pași (cu imagini)
Bilă de tenis de masă cu LED-uri: fundal După ce am construit un panou plat de mingi de tenis de masă cu ceva timp în urmă, am început să mă întreb dacă ar fi posibil să fac un panou 3D din mingi de tenis de masă. Combinat cu interesul meu de a crea „artă” din forme geometrice recurente, eu
Ceas inteligent IoT Dot Matrix Utilizați Wemos ESP8266 - ESP Matrix: 12 pași (cu imagini)
Ceas inteligent IoT Dot Matrix Utilizați Wemos ESP8266 - ESP Matrix: Creați-vă propriul ceas inteligent IoT care poate: Afișați ceasul cu o pictogramă frumoasă de animație Afișați memento-1 până la memento-5 Afișați calendarul Afișați orele de rugăciune musulmană Afișați informații despre vreme Afișați știri Afișați sfaturi Afișați Afișare rata Bitcoin
Tablou de bord tenis de masă: 16 pași (cu imagini)
Tablou de bord pentru tenis de masă: Prea leneș pentru a ține evidența scorului dvs. de tenis de masă / Ping Pong? Sau poate că v-ați săturat să îl uitați mereu? Dacă da, este posibil să fiți interesat să construiți acest tablou de bord pentru tenis de masă digital. , jocuri, server și p
Trepied cu minge de tenis: 4 pași (cu imagini)
Trepied cu minge de tenis: Reciclează o minge de tenis moartă într-un trepied cu cameră de buzunar. Obține fotografii clare folosind un perete, gard, ramură de copac, ușă, capotă, stâlp de bambus sau un indicator. Velcro, bungee sau atârnă de o ventuză cu găuri de montare opționale
Lanternă cu LED pentru tenis: 4 pași (cu imagini)
Lanternă cu LED pentru tenis: am creat acest felinar în timp ce rătăceam în întuneric cu o lumină tactilă LED și o cutie de mingi de tenis (pe care sunt cunoscut să le jonglez ocazional). Generează o lumină radiantă frumoasă când stai pe o masă și poate fi aprinsă