This is an old revision of the document!
https://ocw.cs.pub.ro/courses/pm/prj2021/alazar/SmartLightControl
Smart Light Control
Autor: Balan Alexandra-Andreea
Grupa: 331CB
Introducere
Smart Light Control este un proiect care constă în aprinderea sau stingerea unor LED-uri de diferite culori prin comandă vocală.
Descriere generală
Plăcuța Arduino UNO va avea conectate un modul Bluetooth HC-05, un ecran LCD 16×2 și un șir de LED-uri de diferite culori si anume: roșu, verde, galben, albastru și alb.
Cu ajutorul modulului Bluetooth și al aplicației Android Arduino_bluetooth_voice_controller se pot trimite comenzi vocale către plăcuța Arduino. Aceste comenzi vocale vor fi în limba română și care constau în referirea la un LED de o anumită culoare care se dorește a fi aprins sau stins. De asemenea, tot din aceste comenzi se realiza aprinderea/stingerea tuturor LED-urilor odată.
Odată trimisă comanda vocală către plăcuță, LED-ul sau LED-urile referite vor executa comanda și totodată pe ecranul LCD se va afișa acțiunea care a avut loc.
Exemplu:
Comanda vocala = aprinde roșu → se va aprinde LED-ul roșu, iar pe ecran va apărea mesajul LED roșu aprins.
Hardware Design
Piese folosite:
plăcuța Arduino UNO
breadboard
modul Bluetooth HC-05
ecran LCD 16×2
2 x rezistență de 1kOhm
fire mamă-tată
fire tată-tată
5 LED-uri:
1 x LED roșu
1 x LED verde
1 x LED galben
1 x LED albastru
1 x LED alb
Schemă
Software Design
Etapele implementării
Pentru a afișarea mesajelor pe ecranul LCD și selectarea liniei de scriere pe acesta am inclus biblioteca LiquidCrystal.h
Am selectat pinii necesari pentru conectarea ecranului:
GND: VSS, V0, RW, K
5V: VDD
12: RS
11: E
5: D4
4: D5
3: D6
2: D7
3.3V: A
Am selectat pinii pentru conectarea LED-urilor:
RED: 13
GREEN: 10
YELLOW: 9
BLUE: 8
WHITE: 7
Am definit string-ul voice în care voi pune comanda vocală primită
Funcții:
RedOn(), GreenOn(), YellowOn(), BlueOn(), WhiteOn() = funcții care aprind LED-ul specificat
RedOff(), GreenOff(), YellowOff(), BlueOff(), WhiteOff() = funcții care sting LED-ul specificat
allon(), alloff() = funcții care aprind/sting toate LED-urile
în funcția setup() se vor seta următoarele:
pinii specifici culorilor (RED, GREEN, YELLOW, BLUE, WHITE) vor fi setați ca OUTPUT
ecranul LCD va afișa mesajul Buna! Ce LED sa aprind/sting?
loop()
se va citi comanda vocală trimisă de la aplicația Android la plăcuța Arduino in string-ul voice
dacă comanda trimisă este validă (lungimea acesteia este mai mare decât 0) atunci se va verifica comanda:
dacă se primește comanda aprinde tot sau toate atunci se vor aprinde toate LED-urile. De asemenea, pe ecranul LCD se va afișa mesajul Am aprins toate LED-urile.
dacă se primește comanda închide sau închide tot atunci se vor stinge toate LED-urile. De asemenea, pe ecranul LCD se va afișa mesajul Am stins toate LED-urile.
dacă se primește comanda roșu sau aprinde roșu atunci se va aprinde LED-ul roșu. De asemenea, pe ecranul LCD se va afișa mesajul LED roșu aprins.
dacă se primește comanda închide roșu atunci se va stinge LED-ul roșu. De asemenea, pe ecranul LCD se va afișa mesajul LED roșu stins.
dacă se primește comanda verde sau aprinde verde atunci se va aprinde LED-ul verde. De asemenea, pe ecranul LCD se va afișa mesajul LED verde aprins.
dacă se primește comanda închide verde atunci se va stinge LED-ul verde. De asemenea, pe ecranul LCD se va afișa mesajul LED verde stins.
dacă se primește comanda galben sau aprinde galben atunci se va aprinde LED-ul galben. De asemenea, pe ecranul LCD se va afișa mesajul LED galben aprins.
dacă se primește comanda închide galben atunci se va stinge LED-ul galben. De asemenea, pe ecranul LCD se va afișa mesajul LED galben stins.
dacă se primește comanda albastru sau aprinde albastru atunci se va aprinde LED-ul albastru. De asemenea, pe ecranul LCD se va afișa mesajul LED albastru aprins.
dacă se primește comanda închide albastru atunci se va stinge LED-ul albastru. De asemenea, pe ecranul LCD se va afișa mesajul LED albastru stins.
dacă se primește comanda alb sau aprinde alb atunci se va aprinde LED-ul alb. De asemenea, pe ecranul LCD se va afișa mesajul LED alb aprins.
dacă se primește comanda închide alb atunci se va stinge LED-ul alb. De asemenea, pe ecranul LCD se va afișa mesajul LED alb stins.
Rezultate Obţinute
Concluzii
Download
Jurnal
Bibliografie/Resurse