This shows you the differences between two versions of the page.
pm:prj2021:agrigore:sistemporti [2021/05/31 04:03] ionut.nen [Hardware Design] |
pm:prj2021:agrigore:sistemporti [2021/05/31 18:22] (current) ionut.nen [Bibliografie/Resurse] |
||
---|---|---|---|
Line 4: | Line 4: | ||
===== Introducere ===== | ===== Introducere ===== | ||
* Proiectul este inspirat din sistemele de porti batante existente si in realitate care actioneaza deschiderea automata a portilor de acces intr-o curte. | * Proiectul este inspirat din sistemele de porti batante existente si in realitate care actioneaza deschiderea automata a portilor de acces intr-o curte. | ||
- | * Scopul proiectului este simularea unui astfel de sistem pe un Arduino si implementarea unui aplicatii web pentru a actiona acest sistem prin intermediul unui telefon. | + | * Scopul proiectului este simularea unui astfel de sistem pe un Arduino si implementarea unui aplicatii pentru a actiona acest sistem prin intermediul telefonului. |
Line 10: | Line 10: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Un arduino va primi comenzi de la shield-ul ethernet, prin intermediul aplicatiei sau prin intermediul unui senzor IR dintr-o telecomanda si va actiona motorasele pentru a face diferite actiuni precum: deschidere, inchidere, deschidere partiala etc. In acelasi timp un led va lumina pentru a indica faptul ca sistemul actioneaza. | + | Un arduino va primi comenzi de la modulul bluetooth, prin intermediul aplicatiei sau prin intermediul unui senzor IR dintr-o telecomanda si va actiona motorasele pentru a face diferite actiuni precum: deschidere, inchidere, deschidere cate 1 poarta etc. In acelasi timp un led va lumina pentru a indica faptul ca sistemul actioneaza. |
{{:pm:prj2021:agrigore:sistem_porti_diagrama.jpg?nolink|}} | {{:pm:prj2021:agrigore:sistem_porti_diagrama.jpg?nolink|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
== Listă piese == | == Listă piese == | ||
- | * Arduino UNO | + | ^ Nume ^ Numar piese | |
- | * Modul Bluetooth HC-05 | + | | Arduino Uno | 1 | |
- | * Senzor IR | + | | Modul Bluetooth HC-05| 1 | |
- | * LED | + | | Servo Motoare SG-90 | 2 | |
- | * Motorase Servo SG-90 | + | | Leduri | 1 | |
- | * Telecomanda | + | | Rezistori | 3 | |
- | * Fire | + | | Fire tată-tată | **-** | |
- | {{:pm:prj2021:agrigore:sistem_porti_schema.png?nolink|}} | + | | Fire mamă-tată | **-** | |
+ | | Breadboard | 1 | | ||
+ | | Senzor IR | 1 | | ||
+ | |||
+ | |||
+ | |||
+ | Pentru o mai buna vizualizare, am creat o schema pe Tinkercad: https://www.tinkercad.com/things/eRdqGUfK44h-proiect-pm. Singurul lucru care lipseste, este modulul Bluetooth, indisponibil pe Tinkercad. | ||
+ | |||
+ | |||
+ | {{pm:prj2021:agrigore:sistem_porti_schema.png?700| nolink}} | ||
+ | |||
+ | |||
+ | == Conexiuni == | ||
+ | |||
+ | ^ Pini Senzor IR ^ Pini Arduino | | ||
+ | | Out | 11 | | ||
+ | | GND | GND | | ||
+ | | Vcc | 5V | | ||
+ | |||
+ | ^ Pini Servo ^ Pini Arduino | | ||
+ | | Signal | 8/9 | | ||
+ | | GND | GND | | ||
+ | | Power | 5V | | ||
+ | |||
+ | ^ Pini HC-05 ^ Pini Arduino | | ||
+ | | RX | 4 | | ||
+ | | TX | 3 | | ||
+ | | GND | GND | | ||
+ | | Vcc | 3.3V | | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | * Mediul de lucru: **Arduino IDE** | ||
+ | * Biblioteci folosite: | ||
+ | * **Servo** - biblioteca care controleaza motorasele servo. | ||
+ | * **IRremote** - biblioteca folosita la primirea si decodarea semnalelor de la telecomanda | ||
+ | * **SoftwareSerial** - biblioteca folosita pentru primirea mesajelor de la modulul bluetooth | ||
+ | |||
+ | == Functionalitati == | ||
+ | |||
+ | Sistemul are mai multe functionalitati, acestea putand fi adaugate ulterior in functie de preferinte, eu am ales sa implementez functionalitatile de baza: | ||
+ | |||
+ | * **Deschidere**: Aceasta functionalitate deschide ambele porti, intr-o anumita ordine(am stabilit stanga apoi dreapta), si aprinde un led care semnaleaza faptul ca sistemul actioneaza si avertizeaza ca portile sunt deschise. | ||
+ | |||
+ | * **Inchidere**: Aceasta functionalitate inchide ambele porti, in ordine inversa deschiderii(intai dreapta, apoi stanga) si stinge ledul in momentul in care ambele porti s-au inchis. | ||
+ | |||
+ | * **Actionare stanga**: Aceasta functionalitate actioneaza doar poarta din stanga(deschidere, inchidere) si aprinde ledul semnaland ca sistemul actioneaza si una din porti este deschisa. | ||
+ | |||
+ | * **Actionare dreapta**: Aceasta functionalitate actioneaza doar poarta din dreapta **doar** daca poarta din stanga este deschisa. In caz contrar, aceasta actiune nu se va aplica. | ||
+ | |||
+ | ==Implementare== | ||
+ | |||
+ | Fiecare functionalitate este o conditie in functie de butonul apasat din telecomanda sau in functie de comanda primita de la modulul bluetooth. | ||
+ | Pentru fiecare poarta in parte este creata o functie de inchidere si deschidere(in functie de fiecare motor si pozitionarea acestora). | ||
+ | Fiecare functionalitate este influentata si de starea portilor/a unei porti, pentru a nu exista momente in care portile sa se deschida desi ele sunt deschise deja, si mai ales pentru functionaliatea de actionare a portii din dreapta, doar cand poarta din stanga este deschisa. | ||
+ | |||
+ | ==Aplicatia Mobile== | ||
+ | Aplicatia mobile a fost dezvoltata utilizand [[https://appinventor.mit.edu/|MIT App inventor]]. Aceasta se conecteaza la modulul bluetooth si trimite date catre acestea, in functie de fiecare buton apasat. | ||
+ | |||
+ | {{pm:prj2021:agrigore:sistem_porti_mobile1.jpg?220x400| nolink}} {{pm:prj2021:agrigore:sistem_porti_mobile2.jpg?220x400| nolink}} | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | |||
+ | Am reusit sa obtin, functional, fix ce mi-am propus, desi estetic nu am reusit sa ascund cablurile cum voiam. | ||
+ | |||
+ | {{:pm:prj2021:agrigore:sistem_porti_montaj1.jpg?700|}} | ||
+ | {{:pm:prj2021:agrigore:sistem_porti_montaj2.jpg?700|}} | ||
+ | |||
+ | ==Demo== | ||
+ | [[https://youtu.be/6Dvy9JFWSOw|Demo Youtube]] | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | * Fiind o replica a unui sistem real, consider ca poate fi usor extins, la un nivel mai inalt, eventual pus direct pe un sistem real de porti, folosind relee. |
+ | * Chiar daca este facut minimalist, consider ca m-a invatat sa inteleg mai bine cum merg sistemele de genul. | ||
+ | * Pot spune ca mi-am atins asteptarile, sistemul functionand exact cum mi-am propus initial. | ||
+ | ===== Download ===== | ||
+ | {{:pm:prj2021:agrigore:nen_ionut_sistem_porti_batante.zip| Arhiva cod + aplicatie mobile}} | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | [[https://www.instructables.com/How-to-Make-IR-Remote-Control-Signals-Decoder/ | IR Senzor tutorial]] \\ | ||
+ | [[https://github.com/Arduino-IRremote/Arduino-IRremote | IRremote library github]] \\ | ||
+ | [[https://www.electronics-lab.com/project/using-sg90-servo-motor-arduino/ | SG-90 Servo tutorial]] \\ | ||
+ | [[https://www.arduino.cc/reference/en/libraries/servo/ | Servo library doc]] \\ | ||
+ | [[https://howtomechatronics.com/tutorials/arduino/diy-arduino-robot-arm-with-smartphone-control/ | How to use HC-05 + MIT App Inventor]] \\ | ||
+ | [[http://appinventor.mit.edu/| MIT App Inventor]] \\ | ||
+ | [[https://www.tinkercad.com| Tinkercad]] \\ | ||
+ | |||
+ | |||
[[https://ocw.cs.pub.ro/courses/pm/prj2021/agrigore/sistemporti?do=export_pdf | Download PDF]] | [[https://ocw.cs.pub.ro/courses/pm/prj2021/agrigore/sistemporti?do=export_pdf | Download PDF]] |