DeskPet

Introducere

Un robotel asistent de birou ce va fi conectat la telefon pentru a transmite notificările si a interacționa cu utilizatorul. Se va mișca si va atenționa stăpânul in cazul in care se împotmolește sau se răstoarnă.

Descriere generală

Voi folosi un ESP32 ce va controla cu ajutorul unui driver dual doua motoare DC Polulu, iar drept interfața grafica voi folosi un display de smartwatch. Pentru a asigura faptul ca nu va cădea de pe masa, voi folosi un senzor de distanță analog.

De asemenea, am folosit un step-down pentru a putea alimenta ESP32 si motoarele de la o baterie de 9v.

Hardware Design

Lista componente:

  • ESP32
  • Driver Dual Motoare
  • 2 x Motoare Polulu
  • Display LCD Smartwatch
  • Conectica
  • Carcasa

  • Pentru controlul motoarelor am ales sa folosesc driver-ul TB6612, deoarece este cel mai versatil in cadrul implementării acestui proiect; acesta folosește doua semnale PWM, plus 2 pini de control ai direcției de rotire
  • Pentru senzorul IR voi folosi un pin ADC pentru a putea impune un threshold
  • Controlul display-ului de smartwatch se face pe baza SPI

Software Design

Codul include următoarele funcționalități principale:

Citirea Valorilor Senzorilor IR: ESP32 citește valorile analogice de la doi senzori IR conectați la pinii GPIO32 și GPIO34 folosind funcția analogRead(). Dacă ambele valori depășesc pragul de 3000, se trimit notificări și se schimbă animația pe ecran.

Controlul Motoarelor: Biblioteca TB6612_ESP32 este utilizată pentru a controla două motoare conectate la controlerul TB6612FNG. Motoarele sunt programate să meargă înainte timp de 5 secunde, să se oprească timp de 2 secunde, apoi să meargă înapoi timp de 3 secunde într-un ciclu continuu.

Animația pe Ecranul TFT: Biblioteca TFT_eSPI este utilizată pentru a desena o animație pe un ecran TFT. Animația constă într-o pereche de ochi care clipesc și se schimbă în culoare (de la verde la roșu) atunci când valorile senzorilor depășesc pragul specificat.

Trimiterea Notificărilor prin IFTTT: Biblioteca WiFi permite conectarea ESP32 la rețeaua WiFi pentru a trimite cereri HTTP GET către serviciul Webhooks de la IFTTT. Când valorile senzorilor depășesc pragul de 3000, se trimite o notificare către telefonul utilizatorului prin intermediul unui applet IFTTT configurat.

Librăriile Folosite WiFi.h: Permite conectarea ESP32 la rețele WiFi pentru a putea trimite cereri HTTP. TFT_eSPI.h: Oferă funcții pentru desenarea graficelor pe un ecran TFT, utilizată pentru a crea animația ochilor. TB6612_ESP32.h: Oferă funcții pentru controlul motoarelor prin intermediul controlerului TB6612FNG, utilizată pentru a controla mișcarea motoarelor.

Concluzii

Robotul construit reprezinta o însumare a cunoștințelor dobândite pe parcursul laboratoarelor, integrând mai multe concepte învățate: SPI, PWM, ADC. De asemenea, conectivitatea cu telefonul realizată prin IFTTT aduce un bonus asupra abordării proiectului fiind un alt concept interesant pe care l-am descoperit.

Rezultate

Link Youtube Demonstratie:https://youtube.com/shorts/Reu3ltOCtuw

Bibliografie/Resurse

pm/prj2024/amocanu/tudor.enache.txt · Last modified: 2024/05/27 17:01 by tudor_matei.enache
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