This shows you the differences between two versions of the page.
|
pm:prj2021:apredescu:useless-box [2021/05/31 22:50] daniel.rijnita [Software Design] |
pm:prj2021:apredescu:useless-box [2021/06/04 13:25] (current) daniel.rijnita [Rezultat] |
||
|---|---|---|---|
| Line 16: | Line 16: | ||
| ====Hardware Design==== | ====Hardware Design==== | ||
| - | * Arduino UNO | + | * 1x Arduino UNO |
| * 2x Motor servo | * 2x Motor servo | ||
| * 1x Motor stepper | * 1x Motor stepper | ||
| * 3x SPDT Switch | * 3x SPDT Switch | ||
| * 1x Baterie 9V | * 1x Baterie 9V | ||
| - | * Breadboard | + | * 1x Breadboard |
| * 1x Condensator 47uF | * 1x Condensator 47uF | ||
| - | * LCD | + | * 1x LCD |
| ===Schema Electrica=== | ===Schema Electrica=== | ||
| - | {{ :pm:prj2021:apredescu:useless_box_schema_electrica.png?400 |}} | + | {{ :pm:prj2021:apredescu:useless_box_schema_el.png?500 |}} |
| Line 33: | Line 33: | ||
| * Mediul de dezvoltare: Arduino IDE | * Mediul de dezvoltare: Arduino IDE | ||
| - | * Biblioteci folosite: | + | * Biblioteci incluse: |
| - | * - Wire.h | + | * Wire.h |
| - | * - Ordered List Item | + | * LiquidCrystal_I2C.h |
| + | * Servo.h | ||
| + | * Algoritmi si structuri folosite: | ||
| + | * logica simpla | ||
| + | * structuri de baza | ||
| + | * Functii implementate: | ||
| + | * functia **setup()** - initializeaza pozitiile motoarelor servo si duce mecanismul bratului in capat, la pozitia initiala (pozitie detectata de apasarea unui buton de catre mecanism). | ||
| + | * functia **handleSwitch(int currentPos, int finalPos)** - primeste ca parametri pozitia curenta si pozitia finala a bratului. Se verifica in ce directie ar trebui sa se deplaseze bratul in functie de parametrii primiti si se muta la pozitia finala. | ||
| + | * functia **loop()** - se citeste starea switch-urilor la inceput, iar apoi se verifica care din switch-uri este setat pe **ON**, iar apoi se apeleaza functia **handleSwitch** pentru fiecare. La final se scrie un mesaj pe ecranul LCD. | ||
| + | ====Rezultat==== | ||
| + | [[https://www.youtube.com/watch?v=OYFGbN_64QU|Video Demo]] | ||
| + | |||
| + | [[https://github.com/danrijnita99/PM/blob/master/useless_box.ino|Cod sursa]] | ||
| + | |||
| + | ====Concluzii==== | ||
| + | Initial proiectul ales mi-a parut foarte simplu, dar odata ce m-am apucat de partea hardware mi-am schimbat parerea. Am intampinat destul de multe dificultati la capitolul hardware. In contradictie cu hardware-ul, partea software nu este foarte complexa. Consider ca am avut multe de invatat din acest proiect. | ||
| + | |||
| + | ====Bibiliografie/Resurse==== | ||
| + | * https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library | ||
| + | * https://www.instructables.com/How-to-usa-a-Servo-motor-Arduino-Tutorial/ | ||
| + | * https://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/ | ||
| + | * https://www.youtube.com/watch?v=aqAUmgE3WyM | ||
| + | |||
| + | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||