This shows you the differences between two versions of the page.
pm:prj2024:vstoica:valentin.ionescu02 [2024/05/22 12:44] valentin.ionescu02 [Bibliografie/Resurse] |
pm:prj2024:vstoica:valentin.ionescu02 [2024/05/26 21:10] (current) valentin.ionescu02 [Download] |
||
---|---|---|---|
Line 57: | Line 57: | ||
=== Schema electrica elice === | === Schema electrica elice === | ||
- | {{:pm:prj2024:vstoica:elice.png?800|}} | + | {{:pm:prj2024:vstoica:elice.png?500|}} |
=== Componentele conectate === | === Componentele conectate === | ||
Line 108: | Line 109: | ||
**Funcția setup** este utilizată pentru a inițializa hardware-ul și setările necesare. | **Funcția setup** este utilizată pentru a inițializa hardware-ul și setările necesare. | ||
<note tip> | <note tip> | ||
- | void setup() { | + | void setup() { |
- | Serial.begin(9600); | + | Serial.begin(9600); |
- | pinMode(in1, OUTPUT); | + | DDRD |= (1 << in1) | (1 << in2) | (1 << in3) | (1 << in4); |
- | pinMode(in2, OUTPUT); | + | DDRB |= (1 << ena) | (1 << enb) | (1 << led); |
- | pinMode(in3, OUTPUT); | + | PORTB |= (1 << led); |
- | pinMode(in4, OUTPUT); | + | analogWrite(ena, 0); |
- | pinMode(ena, OUTPUT); | + | analogWrite(enb, 0); |
- | pinMode(enb, OUTPUT); | + | |
- | pinMode(led,OUTPUT); | + | lcd.init(); |
- | analogWrite(ena, 0); | + | lcd.backlight(); |
- | analogWrite(enb, 0); | + | lcd.setCursor(1, 0); |
- | //Inițializarea ecranului LCD | + | lcd.print("SPEED IS 0"); |
- | lcd.init(); | + | } |
- | lcd.backlight(); | + | |
- | lcd.setCursor(1, 0); | + | |
- | lcd.print("SPEED IS 0"); | + | |
- | } | + | |
</note> | </note> | ||
* Inițializare comunicarea serială (Serial.begin(9600)) | * Inițializare comunicarea serială (Serial.begin(9600)) | ||
Line 169: | Line 167: | ||
else if (value == 'M' || value == 'N') | else if (value == 'M' || value == 'N') | ||
{ | { | ||
- | digitalWrite(led, LOW); | + | PORTB &= ~(1 << led); |
} | } | ||
else if (value == 'm' || value == 'n') | else if (value == 'm' || value == 'n') | ||
{ | { | ||
- | digitalWrite(led,HIGH ); | + | PORTB |= (1 << led); |
- | } | + | } |
+ | | ||
} | } | ||
+ | } | ||
</note> | </note> | ||
Funcțiile **“Forward()“,“BACK()“ ,“LEFT()“, “RIGHT()“ și “STOP()“** sunt responsabile de controlul mișcării masinii. | Funcțiile **“Forward()“,“BACK()“ ,“LEFT()“, “RIGHT()“ și “STOP()“** sunt responsabile de controlul mișcării masinii. | ||
<note tip> | <note tip> | ||
void Forward() { | void Forward() { | ||
- | digitalWrite(in1, HIGH); | + | PORTD |= (1 << in1) | (1 << in3); |
- | digitalWrite(in2, LOW); | + | PORTD &= ~((1 << in2) | (1 << in4)); |
- | digitalWrite(in3, HIGH); | + | |
- | digitalWrite(in4, LOW); | + | |
} | } | ||
void Back() { | void Back() { | ||
- | digitalWrite(in1, LOW); | + | PORTD |= (1 << in2) | (1 << in4); |
- | digitalWrite(in2, HIGH); | + | PORTD &= ~((1 << in1) | (1 << in3)); |
- | digitalWrite(in3, LOW); | + | |
- | digitalWrite(in4, HIGH); | + | |
} | } | ||
void Left() { | void Left() { | ||
- | digitalWrite(in1, HIGH); | + | PORTD |= (1 << in1) | (1 << in4); |
- | digitalWrite(in2, LOW); | + | PORTD &= ~((1 << in2) | (1 << in3)); |
- | digitalWrite(in3, LOW); | + | |
- | digitalWrite(in4, HIGH); | + | |
} | } | ||
void Right() { | void Right() { | ||
- | digitalWrite(in1, LOW); | + | PORTD |= (1 << in2) | (1 << in3); |
- | digitalWrite(in2, HIGH); | + | PORTD &= ~((1 << in1) | (1 << in4)); |
- | digitalWrite(in3, HIGH); | + | |
- | digitalWrite(in4, LOW); | + | |
} | } | ||
+ | |||
void Stop() { | void Stop() { | ||
- | digitalWrite(in1, LOW); | + | PORTD &= ~((1 << in1) | (1 << in2) | (1 << in3) | (1 << in4)); |
- | digitalWrite(in2, LOW); | + | |
- | digitalWrite(in3, LOW); | + | |
- | digitalWrite(in4, LOW); | + | |
} | } | ||
+ | |||
</note> | </note> | ||
Line 218: | Line 209: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | https://drive.google.com/file/d/1ADtn8xu3hT9tyJ2f52uw-6Ngnt1La_3Z/view?usp=drive_link |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
Finalizarea acestui proiect a fost o experiență extrem de satisfăcătoare, oferindu-mi ocazia de a integra și aplica cunoștințele de hardware și software într-un mod creativ și util. Proiectarea și construirea unei mașini de jucărie controlate prin Bluetooth, echipată cu LED-uri pentru faruri și stopuri, și cu o elice pentru tăiatul ierbii, mi-au permis să explorez numeroase aspecte ale ingineriei și programării. Afișarea vitezei pe un ecran LCD a adăugat un plus de interactivitate și funcționalitate proiectului. Acest proiect nu doar că mi-a îmbogățit abilitățile tehnice, dar mi-a și stimulat dorința de a lucra la proiecte similare în viitor. | Finalizarea acestui proiect a fost o experiență extrem de satisfăcătoare, oferindu-mi ocazia de a integra și aplica cunoștințele de hardware și software într-un mod creativ și util. Proiectarea și construirea unei mașini de jucărie controlate prin Bluetooth, echipată cu LED-uri pentru faruri și stopuri, și cu o elice pentru tăiatul ierbii, mi-au permis să explorez numeroase aspecte ale ingineriei și programării. Afișarea vitezei pe un ecran LCD a adăugat un plus de interactivitate și funcționalitate proiectului. Acest proiect nu doar că mi-a îmbogățit abilitățile tehnice, dar mi-a și stimulat dorința de a lucra la proiecte similare în viitor. | ||
===== Download ===== | ===== Download ===== | ||
- | + | {{:pm:prj2024:vstoica:proiect_pm.zip|}} | |
- | <note warning> | + | |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | 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**. | + | |
- | </note> | + | |
- | + | ||
- | ===== Jurnal ===== | + | |
- | + | ||
- | <note tip> | + | |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | **Resurse Software** | + | **Resurse Software**: |
- | * **Arduino Libraries** | + | * **Arduino Libraries** |
- | * **LiquidCrystal_I2C Library Documentation** | + | * **LiquidCrystal_I2C Library Documentation** |
- | * **Wire Library Documentation** | + | * **Wire Library Documentation** |
- | **Resurse Hardware** | + | **Resurse Hardware**: |
- | * **Datasheet Arduino Uno** | + | * **Datasheet Arduino Uno** |
- | * **Datasheet L298N Motor Driver** | + | * **Datasheet L298N Motor Driver** |
- | * **Datasheet HC-05** | + | * **Datasheet HC-05** |
- | * **https://www.youtube.com/watch?v=CvqHkXeXN3M** | + | * **https://www.youtube.com/watch?v=CvqHkXeXN3M** |
- | * **https://www.youtube.com/watch?v=bNZv3dZpmSU** | + | * **https://www.youtube.com/watch?v=bNZv3dZpmSU** |
- | * **https://www.youtube.com/watch?v=ykgt4v7_4y4** | + | * **https://www.youtube.com/watch?v=ykgt4v7_4y4** |
- | * **https://www.youtube.com/watch?v=E2sTbpFsvXI** | + | * **https://www.youtube.com/watch?v=E2sTbpFsvXI** |
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||