This shows you the differences between two versions of the page.
|
pm:prj2022:sgherman:propeller_car [2022/05/27 18:01] alexandra.cune [Bibliografie/Resurse] |
pm:prj2022:sgherman:propeller_car [2022/06/02 23:52] (current) alexandra.cune [Rezultate obtinute] |
||
|---|---|---|---|
| Line 30: | Line 30: | ||
| - Pentru masina: | - Pentru masina: | ||
| *Arduino UNO | *Arduino UNO | ||
| - | *Motor Driver | + | *Motor Driver L298N |
| *Servomotor | *Servomotor | ||
| *Breadboard | *Breadboard | ||
| *Motor cu elice X2 | *Motor cu elice X2 | ||
| *Roata X3 | *Roata X3 | ||
| - | *Modul radio | + | *Modul radio nRF24L01 |
| + | *Condensator 47μF | ||
| *Fire de legatura/ mama-tata | *Fire de legatura/ mama-tata | ||
| - | *Releu | ||
| - Pentru telecomanda: | - Pentru telecomanda: | ||
| *Arduino UNO | *Arduino UNO | ||
| *Joystick | *Joystick | ||
| *Potentiometru | *Potentiometru | ||
| - | *Modul radio | + | *Modul radio nRF24L01 |
| + | *Condensator 47μF | ||
| *Fire de legatura/ mama-tata | *Fire de legatura/ mama-tata | ||
| ===== Schema electrica ===== | ===== Schema electrica ===== | ||
| - | {{:pm:prj2022:sgherman:schema_electrica_propeller_car.png?800|}} | + | {{:pm:prj2022:sgherman:car2.png?800|}} |
| - | + | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| Line 58: | Line 57: | ||
| * mediu de dezvoltare Arduino IDE | * mediu de dezvoltare Arduino IDE | ||
| * librării şi surse 3rd-party : SPI.h, nRF24L01.h, RF24.h, Servo.h. | * librării şi surse 3rd-party : SPI.h, nRF24L01.h, RF24.h, Servo.h. | ||
| + | * github: [[https://github.com/AlexandraCune/Propeller-Car]] | ||
| </note> | </note> | ||
| + | Algoritmul ce sta la baza implementarii acestui proiect este urmatorul: | ||
| - | ===== Rezultate Obţinute ===== | + | In transmitter se citesc date de la joystick si potentiometru utilizand functia **__//''analogRead()''//__** . Aceste date sunt stocate intr-o structura 'Data_Package' |
| + | <code> | ||
| + | struct Data_Package { | ||
| + | int dir = 0; | ||
| + | int power = 0; | ||
| + | }; | ||
| + | </code> | ||
| + | care va fi transmisa prin modulul radio, receiver-ului. | ||
| + | Utilizand biblioteca RF24.h, am dispus de numeroase functii de manipulare a semnalelor radio. Astfel, transmitter-ul l-am setat pe modul: **__//''stopListening''//__**, folosind functia corespunzatoare. In loop() acesta are rolul de a citi datele mentionate mai sus si de a le transmite mai departe prin comanda : | ||
| + | <code> | ||
| + | radio.write(&data, sizeof(Data_Package)); | ||
| + | </code> | ||
| - | <note tip> | + | In receiver se seteaza la inceput, in functia de setup, pinul pe care functioneaza servo-ul, starea modululi radio: **__//''startListening''//__** , dar si pinii prin care sunt controlate cele 2 motoare si vitezele lor. |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| - | ===== Concluzii ===== | + | In loop se verifica conectivitatea cu celalalt modul radio **__//''if (radio.available())''//__** , iar daca acestea pot comunica, receiverul citeste datele trimise si le stocheaza intr-o structura ca cea mentionata mai sus. |
| + | <code> | ||
| + | radio.read(&data, sizeof(Data_Package)); | ||
| + | </code> | ||
| + | Cu datele obtinte, se modifica prin //data.dir// directia servo motorului, si prin //data.power// viteaza de rotatie a motoarelor. Tot aici sunt pornite motoarele si li se atribuie un sens setand cate un pin pe HIGH si celalalt pe LOW. | ||
| - | ===== Download ===== | ||
| - | <note warning> | + | ===== Rezultate obtinute ===== |
| - | 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**. | + | [[https://youtube.com/shorts/CA2O0F1du7U?feature=share|Link Demo]] |
| - | </note> | + | |
| - | ===== Jurnal ===== | + | **Proiectul neamplasat pe macheta:** |
| + | |||
| + | ''Telecomanda:'' | ||
| + | |||
| + | {{:pm:prj2022:sgherman:telecomanda.jpeg?400|}} | ||
| + | |||
| + | ''Masina:'' | ||
| + | |||
| + | {{:pm:prj2022:sgherman:masina.jpeg?400|}} | ||
| + | |||
| + | **Macheta proiect:** | ||
| + | |||
| + | ''Telecomanda:'' | ||
| + | |||
| + | {{:pm:prj2022:sgherman:telecomanda_cutie.jpeg?400|}} | ||
| + | |||
| + | ''Masina:'' | ||
| + | |||
| + | {{:pm:prj2022:sgherman:masina_cutie.jpeg?400|}} | ||
| + | |||
| + | |||
| + | |||
| + | ===== Download ===== | ||
| <note tip> | <note tip> | ||
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | {{:pm:prj2022:sgherman:propeller_car1.zip|Arhiva proiect}} |
| </note> | </note> | ||
| + | |||
| + | |||
| + | |||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||