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

  1. Pentru a afișarea mesajelor pe ecranul LCD și selectarea liniei de scriere pe acesta am inclus biblioteca LiquidCrystal.h
  2. 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
  3. Am selectat pinii pentru conectarea LED-urilor:
    • RED: 13
    • GREEN: 10
    • YELLOW: 9
    • BLUE: 8
    • WHITE: 7
  4. Am definit string-ul voice în care voi pune comanda vocală primită
  5. 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
  6. î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?
  7. 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.
  • După ce s-a efectuat funcția corespunzătoare comenzii string-ul voice se va goli pentru a fi pregătit pentru următoarele comenzi.

Rezultate Obţinute

TODO

Concluzii

TODO

Download

TODO

Jurnal

TODO

Bibliografie/Resurse

pm/prj2021/alazar/smartlightcontrol.1622411087.txt.gz · Last modified: 2021/05/31 00:44 by alexandra.balan0907
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