This shows you the differences between two versions of the page.
pm:prj2021:apredescu:bandaledcontrolataprinbluetooth [2021/06/04 01:23] robert.ivan0805 [Ivan Robert-Constantin 336] |
pm:prj2021:apredescu:bandaledcontrolataprinbluetooth [2021/06/04 03:26] (current) robert.ivan0805 [Bibliografie/Resurse] |
||
---|---|---|---|
Line 9: | Line 9: | ||
culoarea citita din mediul inconjurator. | culoarea citita din mediul inconjurator. | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
+ | {{ :pm:prj2021:apredescu:schemabloc.jpeg?nolink&300 |}} | ||
- | <note tip> | + | 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". |
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | ===== Hardware Design ===== |
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | == Lista componente == |
- | </note> | + | - Placuta Arduino |
+ | - Senzor de culoare TCS 230 | ||
+ | - Modul Bluetooth 4.0 BLE | ||
+ | - Tranzistori MOSFET | ||
+ | - Transformator 12V | ||
+ | - Rezistente de 1k | ||
+ | - Cabluri | ||
+ | - Breadboard | ||
- | ===== Hardware Design ===== | + | == Schema electrica == |
- | + | {{ :pm:prj2021:apredescu:schemaelectrica.jpeg?nolink |}} | |
- | <note tip> | + | |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | |
- | </note> | + | |
+ | == 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 ===== | ===== 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. | ||
- | <note tip> | + | == readFromSensor == |
- | Descrierea codului aplicaţiei (firmware): | + | 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. |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
+ | == 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 ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | 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 |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | {{ :pm:prj2021:apredescu:circuit.jpeg?nolink&300 |}} |
+ | |||
+ | Link videoclip youtube: | ||
+ | [[https://www.youtube.com/watch?v=wfEwk3Su1dk]] | ||
===== Concluzii ===== | ===== 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 ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2021:apredescu:proiect_ivan_robert_336cc.zip|}} |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | ===== Bibliografie/Resurse ===== |
- | </note> | + | |
- | ===== Jurnal ===== | + | * [[https://www.hackster.io/najad/12v-rgb-led-with-arduino-fb6c46]] |
+ | * [[https://howtomechatronics.com/tutorials/arduino/arduino-color-sensing-tutorial-tcs230-tcs3200-color-sensor/]] | ||
+ | * [[https://maker.pro/arduino/tutorial/bluetooth-basics-how-to-control-led-using-smartphone-arduino]] | ||
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </note> | ||
- | |||
- | ===== Bibliografie/Resurse ===== | ||
- | |||
- | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
- | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
- | |||