This is an old revision of the document!


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:

  • Modul ESP32 Dev Kit
  • Plăcuță PCB prototipare 10x10cm
  • 2.8'' SPI TFT display touchscreen
  • Modul ceas RTC DS3231
  • Senzor umiditate si temperatura DHT11
  • Modul senzor de presiune atmosferică BMP280

Schematic:

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

  • Temperatura și umiditatea sunt citite cu ajutorul senzorului DHT11
  • Ora curentă și data sunt citite cu senzorul RTC D23231 prin I2C
  • Presiunea aerului este citită cu senzorul BMP280 prin SPI

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

Etapa 1:

Software Design

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

  • Pentru display: TFT_eSPI.h
  • Pentru senzorul de temperatură: DHT.h
  • Pentru modulul de ceas: RTClib.h si Wire.h
  • Pentru senzorul de presiune atmosferică: Adafruit_BMP280.h
  • Pentru crearea unui server web asincron: WiFi.h si ESPAsyncWebServer.h

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.

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

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.

Jurnal

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

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/sseverin/nicoleta.dobrica.1716496388.txt.gz · Last modified: 2024/05/23 23:33 by nicoleta.dobrica
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0