This shows you the differences between two versions of the page.
pm:prj2024:tdicu:alexandra.burnichi [2024/05/27 03:31] alexandra.burnichi [Software Design] |
pm:prj2024:tdicu:alexandra.burnichi [2024/05/27 03:35] (current) alexandra.burnichi [Introducere] |
||
---|---|---|---|
Line 3: | Line 3: | ||
<note tip> | <note tip> | ||
+ | |||
Proiectul este reprezentat de un mic robotel de birou, creat special pentru a ii oferi utilizatorului interactiuni placute si a ajuta cu singuratatea. Acesta este dotat cu un senzor de atingere si unul de distanta, reactionand la factori externi prin expresii faciale care pot fi vazute pe ecranul sau LCD. Are de asemenea si un servomotor care serveste la miscarea capului. | Proiectul este reprezentat de un mic robotel de birou, creat special pentru a ii oferi utilizatorului interactiuni placute si a ajuta cu singuratatea. Acesta este dotat cu un senzor de atingere si unul de distanta, reactionand la factori externi prin expresii faciale care pot fi vazute pe ecranul sau LCD. Are de asemenea si un servomotor care serveste la miscarea capului. | ||
+ | |||
</note> | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Line 49: | Line 51: | ||
=== Exemple === | === Exemple === | ||
+ | Aceste fragmente de cod evidențiază principalele funcționalități ale robotelului. | ||
+ | |||
+ | |||
1. measureHCSR04Distance | 1. measureHCSR04Distance | ||
Această funcție măsoară distanța folosind senzorul ultrasonic HC-SR04 și returnează valoarea măsurată în centimetri. | Această funcție măsoară distanța folosind senzorul ultrasonic HC-SR04 și returnează valoarea măsurată în centimetri. | ||
Line 81: | Line 86: | ||
</code> | </code> | ||
- | 3. draw...Face() | + | 3. draw[]Face() |
Aceasta functie foloseste libraria Adafruit pentru a desena pe ecran diferite expresii faciale: | Aceasta functie foloseste libraria Adafruit pentru a desena pe ecran diferite expresii faciale: | ||
Line 88: | Line 93: | ||
tft.init(); | tft.init(); | ||
tft.fillScreen(lightPink); | tft.fillScreen(lightPink); | ||
+ | | ||
tft.fillCircle(64, 85, 20, ST7735_BLACK); | tft.fillCircle(64, 85, 20, ST7735_BLACK); | ||
tft.fillRect(44, 65, 45, 20, lightPink); | tft.fillRect(44, 65, 45, 20, lightPink); | ||
+ | | ||
tft.fillCircle(40, 64, 20, ST7735_BLACK); | tft.fillCircle(40, 64, 20, ST7735_BLACK); | ||
- | tft.fillCircle(50, 60, 5, ST7735_WHITE); | + | tft.fillCircle(50, 60, 5, ST7735_WHITE); |
+ | tft.fillCircle(40, 64, 7, ST7735_WHITE); | ||
- | tft.fillCircle(88, 64, 20, ST7735_BLACK); | + | tft.fillCircle(88, 64, 20, ST7735_BLACK); |
- | tft.fillCircle(98, 60, 5, ST7735_WHITE); | + | tft.fillCircle(98, 60, 5, ST7735_WHITE); |
+ | tft.fillCircle(88, 64, 7, ST7735_WHITE); | ||
+ | |||
+ | tft.fillRect(20, 75, 40, 10, lightPink); | ||
+ | tft.fillRect(68, 75, 40, 10, lightPink); | ||
} | } | ||
+ | |||
</code> | </code> | ||
<note tip> | <note tip> | ||
- | Funcția principală a programului, care monitorizează senzorul de atingere și senzorul de distanță, schimbând expresiile faciale și ajustând servo motorul în funcție de stările detectate. | + | Funcția principală a programului (loop) monitorizează senzorul de atingere și senzorul de distanță, schimbând expresiile faciale și ajustând servo motorul în funcție de stările detectate. |
- | Aceste fragmente de cod evidențiază principalele funcționalități ale proiectului Desk Buddy, oferind un exemplu clar de implementare pentru interacțiunile robotului. | + | |
</note> | </note> | ||
Line 118: | Line 130: | ||
<note> | <note> | ||
+ | |||
{{:pm:prj2024:tdicu:pm_burnichi_alexandra_deskbuddy.zip|}} | {{:pm:prj2024:tdicu:pm_burnichi_alexandra_deskbuddy.zip|}} | ||
</note> | </note> |