Autorul poate fi deranjat la adresa de domiciliu: DO NOT DISTURB
Proiectul presupune implementarea consacratului joc Snake [/znăic/]. Pentru afișare, folosesc un Display TFT LCD 2.4inch (chip 35702). Deasemenea, exploatez 2 senzori de distanță, pentru a oferi un control mai distractiv.
Deasemenea, cu ajutorul unui Buzzer voi reda diverse sunete.
Denumire piesa | Cantitate | Preț (lei) |
---|---|---|
Starter Kit (ATmega324A & stuff) | 1 | 28 |
Senzor ultrasonic distanta HC-SR04 | 2 | 10 |
Display 2.4' TFT LCD Display | 1 | 35 |
Placa de test | 1 | 5 |
Buzzer activ | 1 | 6 |
Total | 84 |
1. HC-SR04 - Senzorul ultrasonic HC-SR04 este unul dintre cei mai populari și ușor de utilizat senzori de distanță. Este compatibil cu Arduino și prezintă câteva avantaje față de senzorii de distanță analogici: necesită doar pini I/O digitali, are imunitate mai mare la zgomot.
2. TFT LCD 2.4inch - Acest shield LCD are 2.4`` și o rezoluție de 320×240 pixeli. Pentru a-l utiliza, tot ce trebuie să faceți este să-l conectați peste plăcuța Arduino. Shield-ul conține un touchscreen de tip rezistiv. Conține și un slot pentru carduri SD pe care puteți încărca imagini în format .bmp pentru a le afișa pe display.
3. Modul Buzzer - modulul cu buzzer conține un tranzistor PNP ce controlează buzzer-ul, astfel că nu trebuie sa ne facem griji în legătură cu microcontroller-ul.
Pentru intefațarea LCD-ul am „portat” o bibliotecă Arduino în cod „AVR” (impropriu spus). Am folosit AVRDUDE atât pentru compilarea codului, cât și pentru copierea binarului pe flash-ul microcontrollerului. Deasemenea, am conectat și 2 senzori de distanță, folosind întreruperi externe (INT0, INT1), precum și alte lucruri mai puțin răsunătoare. Pentru amplasarea obiectelor de joc am folosit un algoritm care poate fi înțeles ușor urmărind codul.
În urma realizării proiectului am exersat lucruri utile în ceea ce ține de programarea microcontrollerelor, ca: întreruperi externe, timere, PWM, ș.a. Un lucru la fel de important este că am realizat proiectul integral și am reușit să obțin un joc ceva mai original, înlocuind celebrele butoane cu facilitatea adusă de senzorii de distanță.
Descarcă arhiva care conține codul aici.
Resurse software
1. https://github.com/JoaoLopesF/SPFD5408 - codul pentru LCD (Arduino) de la care am pornit
Documentație Hardware
1. http://www.atmel.com/Images/Atmel-42714-ATmega324A_Datasheet.pdf - ATMEL ATMEGA324A
2. http://www.micropik.com/PDF/HCSR04.pdf - Senzor de distanță HC-SR04
3. http://www.rhydolabz.com/documents/SPFD5408A.pdf - TFT 2.4inch LCD 35702 (compatibil cu SPFD5408A)