Table of Contents

Smart Lamp

Autor

Ghiculescu Alexandru-Ionut

Introducere

Scopul proiectului este implementarea unei Smart Lamp care are mai multe functionaliti:

  1. se poate seta un interval orar in care sa se aprinda/stinga singura (ex: seara intre 22:00 si 00:00 sa fie aprinsa)
  2. se poate stinge aprinde prin batai din palme
  3. music mode: culoarea se poate schimba in functie de muzica
  4. poate fi aleasa culoarea in functie de preferinta utilizatorului

Descriere generala

Schema bloc

Componenete

  1. Modul sunet OKY3131 OKYSTAR: folosit pentru a capta batai/intensitate sonora
  2. Modul RTC
  3. Arduino: folosit pentru a seta intervalul orar si pentru a configura LED-ul si modulul pentru sunet
  4. Led: lampa proiectului

Hardware Design

Lista de piese

Nume Numar piese
Arduino Uno R3 1
OKY3131 OKYSTAR 1
RTC 1
LED 1
Fire 19
Rezistente 3
Breadbord 1

LED-urile RGB (lampa)

Sunt conectate in serie, folosind rezistente, la pinii 9 (RED), 10 (GREEN), 11 (BLUE) si la ground.

Butoanele

Sunt conectate la ground si la pinii 7 (butonul de on/off), 6 (butonul pentru schimbarea culorilor, folosind o serie de culori presetate), 5 (butonul care activeaza/dezactiveaza modul pentru muzica)

Modulul pentru sunet cu microfon

Acesta are 3 pini: ground (conectat la ground), vcc (conectat la pinul corespondent 5V de pe Arduino UNO) si out (conectat la A0, pin folosit pentru citire analogica a carui rezultat este folosit pentru a determina cand sa se aprinda/stinga lampa in functie de batai din palme si pentru a cicla prin culori in modul de muzica)

Ceas RTC

Acesta are 4 pini: ground (conectat la ground), vcc (conectat la pinul corespondent 5V de pe Arduino UNO), SDA (conectat la pinul corespondent, specific pentru acesta, A4 de pe Arduino UNO) si SCL(conectat la pinul corespondent, specific pentru acesta, A5 de pe Arduino UNO).

Software Design

LED-urile RGB (lampa)

Pentru colorarea led-urilor in diferite culori si intensitati se foloseste analogWrite si pentru asta este folosita o functie setColorRGB care primeste ca parametri 3 valori pentru red, green, blue. Pinii corespunzatori red, green, blue sunt setati pe modul OUTPUT.

Butoanele

Pentru folosirea butoanelor si a functionalitatilor lor, pinii corespunzatori acestora sunt setati pe modul INPUT_PULLUP si se foloseste digitalRead.

Modulul pentru sunet cu microfon

Pentru modulul sonor cu microfon, pinul corespunzator A0 este setat pe modul INPUT. Exista cele doua moduri:

Ceas RTC

Pentru ceasul RTC se foloseste o biblioteca specifica numita RTClib.h care are diverse functii pentru data si ora. Pentru lampa inteligenta avem nevoie doar de functia pentru ora now.hour(), unde now este o variabila luata dintr-o structura specifica rtc. In functie de ora curenta se decide daca lampa se stinge sau se aprinde astfel:

Rezultate Obţinute

Lampa inteligenta se aprinde/stinge singura in functie de un interval orar predefinit (poate fi setat din cod) si raspunde la batai din palme pentru a se atinge si stinge. Modul de muzica este foarte interesant, acesta poate fi activat din butonul de pe lampa. Per total, pentru un prim proiect sunt multumit.

Imagini cu rezultatul final:

Video cu prezentarea proiectului: https://www.youtube.com/watch?v=zJ9fyh92RpE

Concluzii

Proiectarea cu Microprocesoare este un domeniu atat pentru proiecte complexe cat si pentru proiecte micute, ce pot fi folosite in viata de zi cu zi, in principiu diverse automatizari pentru aparate relativ simpliste. Lampa inteligenta este un exemplu perfect de imbinare a acestei materii cu o utilitate rapida, dar interesanta si utila.

Download

Arhiva contine: codul sursa, doua imagini si schematicul.

Arhiva Ghiculescu Alexandru

Jurnal

Bibliografie