This is an old revision of the document!
Proiect realizat de: Andreea-Daniela GEORGESCU - 333CC
Scopul fundamental al acestui proiect este de a furniza un cadru inițial pentru realizarea unor proiecte mai complexe, demonstrând în același timp cât de ușor poate fi implementat un sistem de achiziție de date folosind Arduino și senzori compatibili, precum senzorul HC-SR04. Datele sunt prelucrate local de placa Arduino, apoi transmise către un desktop PC pentru afișarea lor într-un format accesibil și intuitiv.
Proiectul s-a născut din dorința de a explora și de a înțelege potențialul sistemelor de monitorizare și detecție a obiectelor într-un context accesibil și practic. Adaptând conceptele tehnologice pentru utilizare la scară mică, acest proiect oferă oportunitatea de a experimenta și de a învăța despre interconectarea componentelor hardware și software.
1. Arduino UNO:
2. Breadboard:
3. Servomotor MG90S:
4. Senzor de proximitate HC-SR04:
5. Buzzer:
6. LED RGB:
7. Display LCD:
1. Codul Arduino: În cadrul codului Arduino, servomotorul rotește senzorul ultrasonic și măsoară distanța față de obiecte. Pe baza distanței măsurate, LED-ul își schimbă culoarea, buzzer-ul sună și mesajul de pe ecranul LCD se actualizează. De asemenea, datele despre unghi și distanță sunt trimise către interfața serială pentru a fi prelucrate ulterior de aplicația GUI.
2. Funcționare: În funcția loop, la fiecare pas de rotație al servomotorului, se apelează funcția distanceCheck(). În cadrul funcției distanceCheck(), se primesc datele de la senzorul de distanță ultrasonic. Dacă distanța măsurată este mai mică decât limita impusă: LED-ul schimbă culoarea în roșu (default este verde). Buzzer-ul începe să sune. Mesajul de pe ecranul LCD se schimbă din “NO OBJECTS ENC” în “OBJECT IN RANGE”. Pe interfața serială se trimit datele despre unghi și distanță pentru fiecare iterație a servomotorului în care a fost detectat un obiect.
3. Codul Java folosind framework-ul de Processing: Aplicația GUI primește datele de la placa Arduino prin intermediul portului serial într-un format prestabilit. Datele sunt parsate și împărțite în partea de distanță și de unghi. Dacă distanța primită este mai mică decât limita impusă în cod, se creează un nou obiect de tip punct. Toate aceste obiecte sunt desenate în cadrul funcției drawObjects, împreună cu unghiul și distanța la care s-a făcut detecția. Restul radarului se redesenează la fiecare iterație.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.