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
Starea inițială
Comanda aprinde roșu
Comanda aprinde galben
Comanda aprinde alb
Comanda închide galben
Comanda aprinde tot
Comanda închide tot
Concluzii
Proiectul a fost foarte interesant de făcut. Cel mai mult mi-a plăcut că am reușit să conectez plăcuța Arduino la telefon, primind astfel comenzi din afara sferei codului.
Download
Jurnal
25.04.2021 Alegerea proiectului
24.05.2021 Achiziționarea tuturor pieselor necesare implementării proiectului
26.05.2021 Conectarea modulului Bluetooth la aplicația Android
27.05.2021 Afișarea primul mesaj pe ecranul LCD
29.05.2021 Finalizarea proiectului
Bibliografie/Resurse