Banda LED controlata prin bluetooth

Introducere

Proiectul meu costa intr-o banda led care va actiona in functie de ce valori primeste placuta Arduino prin Bluetooth. Acesta va avea 2 moduri: ori primeste o culoare pe care o va afisa banda LED, ori se va folosi de senzorul de culoare pentru a imita culoarea citita din mediul inconjurator.

Descriere generală

Pentru a implementa proiectul am avut nevoie de un senzor de culoare TCS230. Acesta este conectat la placuta Arduino si este controlat folosind pinii S0, S1, S2 si S3. La placuta mai sunt conectate si o banda led si un modul Bluetooth prin care va fi controlata. Prin bluetooth se pot da 2 tipuri de mesaje text: unul cu text-ul “9” pentru a seta aparatul in modul in care citeste culoare de la senzor, sau un mesaj din 9 caractere, unde fiecare grup de 3 caractere reprezinta valoarea dorita pentru canalele R, G si B. Exemplu de mesaj acceptat pentru culoarea galben: “255255000”.

Hardware Design

Lista componente
  1. Placuta Arduino
  2. Senzor de culoare TCS 230
  3. Modul Bluetooth 4.0 BLE
  4. Tranzistori MOSFET
  5. Transformator 12V
  6. Rezistente de 1k
  7. Cabluri
  8. Breadboard
Schema electrica

Implementare

Apropape toate componentele se afla pe bradboard, mai putin senzorul de culoare, care este lasat liber pentru a-l muta mai usor peste culorile pentru test. Componentele au VCC setat pe urmatoarele valori din urmatoarele surse:

  • Senzorul de culoare este setat pe 5V folosind pinul VCC de 5V de pe placuta
  • Modulul Bluetooth BLE este setat pe 3.3V folosind pinul VCC de 3.3V de pe placuta
  • Banda LED este conectata la 12V folosind un transformator de 12V bagat in priza

Software Design

Pentru dezolvtarea proiectului am folosit Arduino IDE si am folosit biblioteca standard. Codul este impartit pe mai multe functii, fiecare cu scopul ei.

setup

Aici imi “declar” toti pinii pe care vreau sa ii folosesc, setandu-i ori pe INPUT, ori pe OUTPUT. Pe S0 il setez pe HIGH si pe S1 pe LOW pentru a primi semnalul de la senzorul de culoare scalat cu 0.2.

readFromSensor

Aceasta functie citeste culoarea de la senzor si apoi o scrie pe pinii de output. Senzorul nu poate citi decat o culoare pe rand, in functie de valoarea de pe pinii S2 si S3. Asa ca le modific valorile pe rand pentru a lua intensitatea culorii de pe fiecare canal. Rezultatul primit este frecventa semnalului dreptunghiular generat de senzor. Pentru a tranforma asta in scara 0-255 folosesc functia map.

readFromBluetooth

Aceasta functie citeste caracter cu caracter textul primit prin bluetooth, il modifica in 3 valori numerice pe care le trimite apoi catre pinii de OUTPUT

loop

In functia de loop doar apelez una dintre functiile readFromSensor si readFromBluetooth in functie de ce primesc de la modulul bluetooth.

Rezultate Obţinute

Am obtinut o lampa LED inteligenta care poate fi controlata la distanta si care poate lua culori din mediul inconjurator in cazul in care vrem o culoare dar nu stim reprezentarea ei RGB

Link videoclip youtube: https://www.youtube.com/watch?v=wfEwk3Su1dk

Concluzii

Pot spune ca a fost o placere sa lucrez la proiectul asta. Am invatat bazele programarii placutelor arduino si am invatat sa scriu cod mai apropiat de hardware. Pe langa asta mi-am reimprospatat cunostintele obtinute in cadrul materiilor din anii anteriori.

Download

Bibliografie/Resurse

pm/prj2021/apredescu/bandaledcontrolataprinbluetooth.txt · Last modified: 2021/06/04 03:26 by robert.ivan0805
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