This shows you the differences between two versions of the page.
pm:prj2021:apredescu:smartmenurestaurant [2021/05/14 20:22] teodora.sorescu created |
pm:prj2021:apredescu:smartmenurestaurant [2021/06/03 13:50] (current) teodora.sorescu |
||
---|---|---|---|
Line 13: | Line 13: | ||
Transmitatorul va contine pe langa placa de Arduino Uno, display-ul TFT si un transmitator RF, prin intermediul carora se va realiza alegerea mancarii de catre clienti si totodata, plasarea unei comenzi. Placa Arduino Uno reprezinta creierul transmitatorului, care proceseaza datele, in timp ce transmitatorul RF este folosit pentru a transmite datele selectate catre receiver. | Transmitatorul va contine pe langa placa de Arduino Uno, display-ul TFT si un transmitator RF, prin intermediul carora se va realiza alegerea mancarii de catre clienti si totodata, plasarea unei comenzi. Placa Arduino Uno reprezinta creierul transmitatorului, care proceseaza datele, in timp ce transmitatorul RF este folosit pentru a transmite datele selectate catre receiver. | ||
- | Receiver-ul va contine pe langa placa de Arduino Uno, un modul LCD, pe care se va afisa datele primite, un receiver RF folosit pentru a primi datele de la client si un buzzer, pentru a anunta cand un client a facut o noua comanda. | + | Receiver-ul va contine pe langa placa de Arduino Uno, un modul LCD, pe care se va afisa datele primite, un receiver RF folosit pentru a primi datele de la client. |
- | Pentru a ne apropia cat mai mult de realitate, vor exista doi clienti care pot da o comanda. | + | {{:pm:prj2021:apredescu:schema2.png?500|}} |
- | {{:pm:prj2021:dbrigalda:schema2.png?500|}} | ||
====== Hardware Design====== | ====== Hardware Design====== | ||
===== Lista de componente===== | ===== Lista de componente===== | ||
Line 25: | Line 24: | ||
* 16*2 LCD Module | * 16*2 LCD Module | ||
* I2C Module | * I2C Module | ||
+ | |||
+ | {{:pm:prj2021:apredescu:proiectpm.png?600|}} | ||
+ | |||
===== Software Design===== | ===== Software Design===== | ||
+ | Pentru implementarea proiectului am folosit libraria RadioHead pentru modulul RF de transmitere si primire, si libraria SPFD5408 pentru interactiunea cu display-ul TFT. | ||
+ | |||
+ | Pentru transmitator, am inceput prin definirea coordonatelor cadrului display-ului, pe care l-am colorat folosind functia de fillScreen. Pentru desenarea dreptunghiurilor folosite pentru felurile de mancare, am folosit functia drawRoundRect. Scrierea textului, a fost realizata prin functia print si setCursor, care a setat cursorul in locul in care voiam sa incep scrierea textului. | ||
+ | |||
+ | Transmiterea datelor se face prin functia transmit(), prin care se trimite un mesaj receiver-ului la fiecare secunda. | ||
+ | Interactiunea cu display-ul se face prin touchscreen, odata atins, extragandu-se coordonatele punctului, acestea apoi fiind convertite la coordonate Pixel. Pentru a recunoaste ce tip de mancare a fost selectat, se verifica de fiecare data, daca coordonatele punctului apasat corespund cu coordonatele punctului la care se afla scris tipul de mancare. | ||
+ | |||
+ | Implementarea receiver-ului a fost realizata folosind si libraria SPI.h, care mentine o conexiune intre placa Arduino si recerver-ul RF. In plus, a mai fost adaugata libraria LiquidCrystal_I2C.h pentru folosirea modului I2C. | ||
+ | |||
+ | Se verifica incontinuu daca s-au transmis mesaje, in acest caz mesajul fiind afisat pe LCD-ul 16*2. | ||
+ | |||
===== Rezultate Obţinute===== | ===== Rezultate Obţinute===== | ||
+ | {{:pm:prj2021:apredescu:whatsapp_image_2021-06-03_at_1.06.02_pm.jpeg?500|}} | ||
+ | {{:pm:prj2021:apredescu:whatsapp_image_2021-06-03_at_12.50.04_pm.jpeg?500|}} | ||
+ | * Demo : [[https://www.youtube.com/watch?v=UhRT7p4-Nfo]] | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Acest proiect m-a ajutat sa ma familiarizez cu Arduino si sa inteleg mai bine cum functioneaza. Totodata, am invatat cum se interactioneaza intre un receiver si transmitter prin intermediul unor LCD-uri, atat partea de implementare, cat si partea de grafica. | ||
===== Download ===== | ===== Download ===== | ||
+ | Arhiva cuprinde: | ||
+ | * Componenta software implementata (receiver, transmitter) | ||
+ | * {{:pm:prj2021:apredescu:sorescuteodra_proiectpm.zip|}} | ||
+ | |||
===== Jurnal ===== | ===== Jurnal ===== | ||
+ | - Stabilirea temei proiectului; | ||
+ | - Stabilirea componentelor necesare; | ||
+ | - Compatibilitatea piese; | ||
+ | - Montarea pieselor; | ||
+ | - Implementarea componentei software a proiectului; | ||
+ | - Testare. | ||
+ | |||
===== Bibliografie/Resurse===== | ===== Bibliografie/Resurse===== | ||
- | Documentatia in pdf : {{:pm:prj2021:dbrigalda:smart_restaurant_menu.pdf|}} | ||
- | [[https://ocw.cs.pub.ro/courses/pm/prj2021/dbrigalda/smart-restaurant-menu]] | + | Biblioteci necesare |
+ | * [[https://github.com/PaulStoffregen/RadioHead]] | ||
+ | * [[https://github.com/JoaoLopesF/SPFD5408]] | ||
+ | * [[https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library]] | ||
+ | |||
+ | Folosirea RF Module | ||
+ | * [[https://www.youtube.com/watch?v=b5C9SPVlU4U]] | ||
+ | |||
+ | Documentatia in pdf: | ||
+ | * {{:pm:prj2021:apredescu:smart_menu_restaurant.pdf|}} | ||
+ | [[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/smartmenurestaurant]] | ||