This is an old revision of the document!


Smart mirror

Introducere

Proiectul consta intr-o oglinda “smart” ce afiseaza diverse informatii prin intermediul unui ecran LCD. Aceste informatii includ: ora actuala, vremea de afara si umiditatea camerei, cat si sfaturi bazate pe acestea (e.g. ai nevoie de o jacheta daca iesi din casa, umiditatea camerei tale este prea mica pentru temperatura de afara). Informatia afisata se poate cicla prin intermediul unui buton.

Dispozitivul este perfect pentru diminetile pe fuga in care iti faci rutina de par/machiaj si ai nevoie sa nu pierzi din vedere ora actuala, cat si daca ai nevoie sa iei decizii rapide legate de vestimentatie.

Ideea de baza a plecat de la configuratiile vechi de Rainmeter, un program pentru customizarea Desktop-ului cu diverse widget-uri pentru informatii/shortcut-uri, care practic serveau aceeasi functionalitate: informatii utile intr-un loc foarte convenabil pe care il vezi des.

Descriere generală

La baza, avem un microcontroler cu Wifi ce preia informatii prin cereri de API pentru vreme si citeste valori de la hardware clock si senzorul de umiditate. Aceste informatii sunt afisate prin display-ul LCD, informatia afisata poate fi schimbata prin apasarea unui buton.

Display-ul se afla in spatele unei bucati de sticla pe care este aplicata folie cu efect one way mirror ce permite lumina sa treaca prin spatele ei si pastreaza efectul de oglinda in fata. Fenomenul poate fi observat cel mai bine prin imagine:

res_16ff729f780af3754a87005091a8cb2f.jpg

Hardware Design

Am ales o placuta de dezvoltare cu un modul ESP8266 ce are Wifi deja integrat, un display cat mai puternic care sa poate sa produca destula lumina cat sa treaca prin oglinda si componente standard pentru umiditate si ceas.

Lista componente
Nume Cantitate Link
Placuta WEMOS D1 R2 WIFI 1 cleste.ro
2.8” SPI LCD Module with ILI9341 Controller 1 optimusdigital.ro
Senzor Umiditate DHT22 AM302 1 optimusdigital.ro
DS3231 Real-time Clock Module 1 optimusdigital.ro
Buton tactil 1 cleste.ro
Rezistente 1 cleste.ro
Breadboard 140 puncte 1 cleste.ro
Set 140 fire jumper 1 cleste.ro
Film One Way Mirror 1 emag.ro
Rama fotografie 1 am deja
Hardware

Am legat si testat toate componentele (cu exceptia ceasului pentru care nu am baterie, dar care pare sa raspunda la functiile de bilblioteca otherwise). Singurul lucru ce va fi schimbat in schema finala este display-ul, ce nu va mai fi legat la breadboard direct (n-am avut fire female-male).

Legaturile sunt destul de standard:

  • buton si senzor DHT legate la pini digitali ce nu sunt folositi pentru SPI/I2C/whatever deci D3 si D4.
  • display legat la MOSI/D7 si SCK/D5 pentru SPI + SCL/D1 si SDA/D2 pentru I2C (trebuie neaparat legat la pini cu aceste protocoale)
  • ceas legat la cealalta intrare de I2C (pentru ca ceasul comunica prin I2C)

olv8iak.jpeg

Schematic

Pentru o vizualizare mai simpla a legarii componentelor:

Software Design

Am abuzat de faptul ca placuta mea este compatibila cu Arduino IDE din deplin. Astfel, folosesc Arduino IDE si urmatorele biblioteci:

  • ESP8266 pentru Wifi si cereri HTTP
  • AdaFruit ILI9341 pentru display si AdaFruit GFX pentru a scrie la display
  • DHT Sensor Library pentru comunicare cu senzorul de umiditate
  • DS3231 pentru RTC

blabla

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

  • 12 mai pe la ora 12: mi-au venit toate piesele, optimus digital mi-a trimis display-ul gresit, aia e ne descurcam
  • 12 mai pe la ora 23: am legat si am testat tot mai putin RTC-ul, pentru care nu am deocamdata o baterie CR2032 (ma voi duce in piata sa cumpar probabil)

Bibliografie/Resurse

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

Export to PDF

pm/prj2024/avaduva/adrian.dumitrache02.1715609877.txt.gz · Last modified: 2024/05/13 17:17 by adrian.dumitrache02
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