This is an old revision of the document!
La atingere, ecranul va afisa o expresie faciala fericita. Atunci cand nu mai este atins, robotelul devine trist, iar atunci cand senzorul detecteaza miscare, robotelul devine entuziasmat, anticipand afectiune.
Listă de piese:
Funcționalități
1. measureHCSR04Distance Această funcție măsoară distanța folosind senzorul ultrasonic HC-SR04 și returnează valoarea măsurată în centimetri.
int measureHCSR04Distance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
if (distance < 2 || distance > 30) {
return maxDistance;
}
return distance;
}
2. adjustServo Această funcție mișcă servo motorul între 0 și 90 de grade de două ori pentru a simula o reacție fizică.
void adjustServo() {
for (int i = 0; i < 2; i++) {
myservo.write(0);
delay(500);
myservo.write(90);
delay(500);
Serial.println("Servo moved to 90 degrees");
}
}
3. draw…Face() Aceasta functie foloseste libraria Adafruit pentru a desena pe ecran diferite expresii faciale:
void drawHappyFace() {
tft.init();
tft.fillScreen(lightPink);
tft.fillCircle(64, 85, 20, ST7735_BLACK);
tft.fillRect(44, 65, 45, 20, lightPink);
tft.fillCircle(40, 64, 20, ST7735_BLACK);
tft.fillCircle(50, 60, 5, ST7735_WHITE);
tft.fillCircle(88, 64, 20, ST7735_BLACK);
tft.fillCircle(98, 60, 5, ST7735_WHITE);
}
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.