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

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

pm/prj2021/alazar/smartlightcontrol.txt · Last modified: 2021/05/31 13:27 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