Arduino și modulul de joystick PS2

În proiectul anterior am prezentat cum se realizează un joc folosind câteva led-uri și o placă Arduino. Astăzi pe langă acestea vom folosi un modul de joystick PS2, care va înlocui butoanele.

Scopul proiectului este de a îmbunătăți jocul de antrenare a memoriei, prin utilizarea modulului de joystick ce oferă o interacțiune cât mai ușoară jucătorului.

Piese necesare pentru realizarea proiectului:

Cost total: aproximativ 69,03 RON – Costul poate varia în funcție de prețurile actuale, promoții sau eventuale piese și accesorii pe care le aveți deja.

Descrierea proiectului:

Am programat placa de dezvoltare Arduino Uno R3 Atmega328P utilizând aplicația Arduino IDE, codul îl puteți găsi la finalul articolului.
Pe breadboard vor fi plasate led-urile și rezistențele. Alimentarea plăcii Arduino și transferul de date către aceasta se realizează printr-un cablu USB de tip A-B.
Jocul nu are un număr finit de runde, dar are un timp limitat de reacție. Modulul permite deplasarea în patru direcții principale care sunt asociate fiecărui led.
Runda constă în aprinderea unui led, dacă jucătorul trage de butonul joystick-ului în direcția corectă jocul continuă, iar scorul se actualizează.

Se recomandă montarea pieselor pe breadboard și conectarea cablurilor înainte de a alimenta placa Arduino Uno.

Interconectarea pieselor folosite:

  • Amplasarea pe breadboard a pieselor – se vor poziționa pe 7 rânduri câte un led și o rezistență care conectează piciorul lung al led-ului cu un pin digital.
  • Arduino – Breadboard
    • GND – fir albastru într-un pin de minus de pe breadboard
    • Pinii 2,3,4,5 – la piciorul lung ale celor 4 led-uri din mijloc, conectați printr-o rezistență
    • Pinii 6,7 – la piciorul lung ale celor 2 led-uri din stânga, conectați printr-o rezistență
    • Pinul 8 – la piciorul lung al led-ului din dreapta, conectat printr-o rezistență
    • Minus – la piciorul scurt al celor 7 led-uri
  • Modul joystick – Arduino
    • GND modul – GND placă
    • 5V modul – 5V placă
    • VRx modul – Pin A0
    • VRy modul – Pin A1

Procedura de programare:

Se declară variabilele joystick-ului, ale jocului, pinii corespunzători fiecărui led precum și nivelul de dificultate.

Iar în funcția „loop” se va genera random ce led se aprinde, se setează dificultatea și se atribuie led-urilor o direcție de pe joystick.

Pentru informații accesați codul sursă de mai jos unde sunt comentate mai multe linii sau lăsați un comentariu.

Codul sursă:

Codul sursă îl puteți downloada de AICI, iar dacă aveți întrebări nu ezitați să ne contactați.

Idei de dezvoltare ulterioară a proiectului:

  • Adăugarea unui lcd care să afișeze scorul maxim, în loc de led-ul respectiv
  • Crearea unor runde mai complexe, aprinderea mai multor led-uri într-o rundă

Tu ce ai fi făcut diferit la acest proiect sau ce îmbunătățiri crezi că îi poți aduce? Așteptăm răspunsul tău mai jos în comentarii.

Ne rezervăm dreptul de proprietate asupra materialelor foto & video și este interzisă orice preluare de astfel de materiale fără acordul nostru scris.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *