Table of Contents

Desktop robot

Introducere

Proiectul constă într-un robot pentru desktop, dispozitiv ce are ca scop ușurarea activităților de acasă sau de la birou. Acest robot oferă diferite funcționalități utilizatorului: poate afișa temperatura din încăpere, umiditatea, presiunea aerului, ora, sau chiar și notificări pe care utilizatorul le poate seta dintr-o aplicație ce controlează robotul. Cu această aplicație utilizatorul poate alege exact ce va fi afișat pe ecran. Utilitatea acestui robot vine de la faptul că oferă o interfață interactivă utilizatorului și aduce un plus de confort prin oferirea mai multor informații la un loc.

Descriere generală

Robotul este controlat printr-o aplicație. Astfel, este la latitudinea utilizatorului ce va afișa pe ecranul robotului: poate afișa ora curentă, temperatura camerei, umiditatea sau presiunea. De asemenea, dacă utilizatorul dorește să își pună reminders sau notificări pentru viitor, acesta și le poate seta din aplicație, și vor apărea pe ecranul robotului și se va aprinde un LED pentru a semnala afișarea unei notificări.

Odată ce utilizatorul s-a decis ce să fie afișat pe ecran, acesta poate să schimbe prin funcționalitatea touchscreen a ecranului diferitele moduri de afișare ale orei, temperaturii etc, sau chiar și să aleagă diferitele “fețe” ale robotului.

Hardware Design

Listă componente:

Schematic:

Circuitul a fost realizat pe o placă de prototipare PCB de 10x10cm. Toți senzorii sunt legați la modulul ESP32:

În funcție de preferința utilizatorului, datele vor fi afișate pe un display LCD ce comunică prin SPI.

Etapa 1:

Etapa finală

Aici asamblat plăcuța în carcasa imprimată 3D. Pentru a lipi display-ul și plăcuța am folosit silicon, și pentru alimentare am folosit un battery holder cu mufă jack și 4 baterii de 1.5V.

Software Design

Mediul de dezvoltare folosit a fost Arduino IDE. Biblioteci folosite:

Pentru modulul de ceas, care functioneaza prin I2C, a trebuit sa creez separat o instanta de TwoWire pentru a seta 2 pini de pe placuta ESP32 pentru comunicare I2C, deoarece nu am folosit pinii I2C default de pe aceasta.

In functia de setup(), m-am ocupat de initializarea tuturor senzorilor si componentelor necesare:

In functia loop() am implementat flow-ul display-ului: utilizatorul poate afisa pe ecran urmatoarele lucruri: temperatura, umiditatea, data si ora, si presiunea atmosferica si altitudinea. Fiecare dintre aceste componente vin in doua moduri diferite de afisare pe care le poate schimba utilizatorul oricand din aplicatie.

Aplicația a fost făcută cu MIT App Inventor.

Rezultate Obţinute

Acesta este unul dintre modurile de afișare ale temperaturii și unul pentru presiunea atmosferică și altitudine.

Concluzii

Din păcate, nu am reușit să fac să funcționeze touchscreen-ul la display, însă per total a fost un proiect interesant și de la care am învățat multe lucuri (și răbdare).

Download

proiect_pm_ada.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Export to PDF