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/ | ||