This shows you the differences between two versions of the page.
pm:prj2025:fstancu:dan.vrinceanu [2025/05/28 02:47] dan.vrinceanu [Motivația Alegerii Bibliotecilor] |
pm:prj2025:fstancu:dan.vrinceanu [2025/05/28 09:28] (current) dan.vrinceanu [Main application flow] |
||
---|---|---|---|
Line 101: | Line 101: | ||
- `LiquidCrystal_I2C` oferă un mod convenabil de a afișa mesaje de stare, diagnostic sau feedback pentru utilizator. | - `LiquidCrystal_I2C` oferă un mod convenabil de a afișa mesaje de stare, diagnostic sau feedback pentru utilizator. | ||
- | ==== Motivația Alegerii Bibliotecilor ==== | + | ==== Laboratoarele ==== |
- | + | ||
- | === Arduino Libraries === | + | |
- | + | ||
- | ==== Laboratoarele ==== | + | |
=== Laboratorul 0: GPIO === | === Laboratorul 0: GPIO === | ||
Line 125: | Line 121: | ||
Robotul poate schimba direcția și viteza în timp real, oferind feedback pe LCD și folosind un servomotor pentru scanare laterală. | Robotul poate schimba direcția și viteza în timp real, oferind feedback pe LCD și folosind un servomotor pentru scanare laterală. | ||
Această combinație de autonomie și interactivitate mobilă face proiectul versatil și inovator. | Această combinație de autonomie și interactivitate mobilă face proiectul versatil și inovator. | ||
+ | |||
+ | ==== Calibrarea senzorilor ==== | ||
+ | Senzor ultrasonic (HC-SR04) | ||
+ | Am setat o distanță maximă de detecție (200 cm) și un prag pentru obstacol (20 cm). | ||
+ | Am testat valorile în monitorul serial pentru a verifica funcționarea corectă. | ||
+ | Senzor IR | ||
+ | Am calibrat detectarea marginii ca semnal LOW. | ||
+ | Am verificat comportamentul apropiind senzorul de o margine (ex. masă). | ||
+ | Servomotor + senzor ultrasonic | ||
+ | Am setat unghiuri fixe (50° și 130°) pentru scanare laterală. | ||
+ | Am verificat că senzorul măsoară distanța corect în ambele direcții. | ||
Line 266: | Line 273: | ||
void moveForward() | void moveForward() | ||
{ | { | ||
- | digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); | + | GPIO.out_w1ts = (1 << IN1) | (1 << IN3); // Set IN1 și IN3 HIGH |
- | digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); | + | GPIO.out_w1tc = (1 << IN2) | (1 << IN4); // Set IN2 și IN4 LOW |
Serial.println("Înainte"); | Serial.println("Înainte"); | ||
} | } | ||
Line 273: | Line 280: | ||
void moveBackward() | void moveBackward() | ||
{ | { | ||
- | digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); | + | GPIO.out_w1ts = (1 << IN2) | (1 << IN4); // Set IN2 și IN4 HIGH |
- | digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); | + | GPIO.out_w1tc = (1 << IN1) | (1 << IN3); // Set IN1 și IN3 LOW |
Serial.println("Înapoi"); | Serial.println("Înapoi"); | ||
} | } | ||
Line 280: | Line 287: | ||
void turnLeft() | void turnLeft() | ||
{ | { | ||
- | digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); | + | GPIO.out_w1ts = (1 << IN2) | (1 << IN3); // IN2 și IN3 HIGH |
- | digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); | + | GPIO.out_w1tc = (1 << IN1) | (1 << IN4); // IN1 și IN4 LOW |
Serial.println("Stânga"); | Serial.println("Stânga"); | ||
} | } | ||
Line 287: | Line 294: | ||
void turnRight() | void turnRight() | ||
{ | { | ||
- | digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); | + | GPIO.out_w1ts = (1 << IN1) | (1 << IN4); // IN1 și IN4 HIGH |
- | digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); | + | GPIO.out_w1tc = (1 << IN2) | (1 << IN3); // IN2 și IN3 LOW |
Serial.println("Dreapta"); | Serial.println("Dreapta"); | ||
} | } | ||
Line 294: | Line 301: | ||
void stopMotors() | void stopMotors() | ||
{ | { | ||
- | digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); | + | GPIO.out_w1tc = (1 << IN1) | (1 << IN2) | (1 << IN3) | (1 << IN4); // Toți LOW |
- | digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); | + | |
Serial.println("Oprire"); | Serial.println("Oprire"); | ||
} | } | ||
Line 407: | Line 413: | ||
{{:pm:prj2025:fstancu:img_2149.jpg?260|}} | {{:pm:prj2025:fstancu:img_2149.jpg?260|}} | ||
} | } | ||
+ | ===== VIDEO ===== | ||
+ | https://www.youtube.com/shorts/16-T-_LEwkY | ||
+ | |||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
{{:pm:prj2025:fstancu:img_dan1.jpg?307|}} | {{:pm:prj2025:fstancu:img_dan1.jpg?307|}} | ||
Line 421: | Line 430: | ||
LCD Help: | LCD Help: | ||
https://www.youtube.com/watch?v=860eErq9c3E> | https://www.youtube.com/watch?v=860eErq9c3E> | ||
+ | |||
+ | Piese: | ||
+ | https://sigmanortec.ro | ||
+ | https://www.optimusdigital.ro/ro/ | ||