Table of Contents

Lampa ADN

Introducere

Descriere generală

In contextul realizarii proiectului, am inceput prin a identifica toate modulele hardware si software pe care mi-am propus sa le folosesc. Schema bloc se alcatuieste pe baza modulelor de Arduino Uno cu ATMega, lampa cu LED-uri si motor stepper, butoane, senzorii, modulul WiFi si Interfata Web.

Modulele Hardware sunt conectate la Arduino prin intermediul pinilor digitali si analogici, in timp ce modulul WiFi este conectat prin intermediul portului serial. Modulele Software includ programul Arduino care controleaza modurile de iluminare si butoanele si primeste input de la senzori, precum si Interfata Web care permite controlul lampii prin reteaua WiFi.


In ceea ce priveste modul in care interactioneaza modulele intre ele, fluxul de informatii are loc astfel:

  1. Butoanele sunt citite de catre Arduino si transmit informatii despre modul de iluminare selectat. Intr-o maniera asemanatoare, senzorii trimit informatii catre Arduino despre lumina si temperatura din camera.
  2. Prin intermediul Interfetei Web, utilizatorii pot selecta manual modul de iluminare dorit si informatiile sunt transmise catre modulul WiFi prin intermediul protocolului TCP/IP.
  3. Modulul Arduino controleaza LED-urile si motorul in functie de informatiile primite.

Hardware Design

Lista de piese


Conectarea Arduino Uno cu banda de LED-uri

Conectarea butoanelor

Conectarea senzorilor

Conectarea motorului

Conectarea Modulului WiFi

Software Design

Mediul de dezvoltare folosit va fi Arduino IDE pentru a scrie si incarca codul pe Microcontroller.

Biblioteci necesare

Interactiunea utilizatorului cu lampa se va putea face prin intermediul interfetei grafice de pe telefon, in care vor fi afisate diferite moduri de iluminare pe care utlizatorul le poate selecta.

In ceea ce priveste sursele folosite, acestea vor fi in principal diferite tutoriale pentru folosirea bibliotecilor mentionate mai sus si pentru a adapta codul la nevoile specifice.

Codul pentru lampa: adn_lamp.txt

Jurnal

14.05.2023

In primul rand, am realizat scheletul hardware folosind un breadboard pentru a putea face schimbari intr-un mod simplu inainte de a lipi tot proiectul.

Am intampinat cateva dificultati in timpul realizarii proiectului. Mi-am dat seama destul de tarziu ca imi lipseste o rezistenta de 2Ohm, asa ca am improvizat cu 2 rezistente de 1Ohm. Cand am conectat motorul cu ajutorul driverului, am observat ca este nevoie de 2 surse de alimentare, una pentru motor si una pentru driver, aspect pe care nu l-am luat in considerare, asa ca am folosit pentru alimentarea motorului o baterie.

Cea mai interesanta si mai dificila parte a fost lipirea firelor de pinii benzii cu leduri. Desi au fost necesare doar 3 lipituri, a durat foarte mult timp pana am considerat ca lipiturile sunt suficient de bune. Este necesar de mentionat ca Ledconul pe care l-am folosit a fost destul de ieftin si nu se incalzea prea bine, deci este posibil ca acest lucru sa fi influentat dificultatea procesului.

18.05.2023

Am facut modelul de print 3D pentru lampa efectiva si le-am pus la printat. Am uitat sa adaug gauri pentru senzori, asa ca ele trebuie facute de mana.

19.05.2023

Am realizat codul pentru 4 moduri de iluminare si modul automat dupa senzori. La apasarea butonului automat, lampa isi va modifica luminozitatea ledurilor si culoarea lor in functie de lumina respectiv temperatura. De asemenea, motorul se invarte. In cod, acest lucru se realizeaza prin functia handleAutoMode.

Cand se da toggle la manual mode, se itereaza prin 4 moduri. Se comuta fizic la fiecare apasare de buton. Cele 4 moduri definite sunt de rotire cu lumini roz, rotire si cercuri cu culori multiple, fara rotire si culoare galbena, rotire si culori alternante.

Codul pentru lampa: adn_lamp.txt

Am intampinat probleme la rotirea motorului, care nu are suficienta putere sa se roteasca folosind o baterie.

Demo:

Mod 1

Mod 2

Mod 3

Mod 4

https://youtube.com/shorts/DDmrvWfFnrI?feature=share

Bibliografie/Resurse

Banda LED-uri WS2812 cu FastLED:

https://randomnerdtutorials.com/guide-for-ws2812b-addressable-rgb-led-strip-with-arduino/

Butoane:

https://docs.arduino.cc/built-in-examples/digital/Button

Fotorezistor:

https://www.descurcareste.ro/tehnologie/folosirea-unui-fotorezistor-cu-arduino-11

Modul WiFi ESP8266:

https://www.electronicwings.com/sensors-modules/esp8266-wifi-module

https://www.electronicwings.com/arduino/esp8266-wifi-module-interfacing-with-arduino-uno

Motor Stepper Nema17 si Driver A4988:

https://how2electronics.com/control-stepper-motor-with-a4988-driver-arduino/

Model componente 3D:

https://www.thingiverse.com/thing:2801053

Export to PDF