Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:abirlica:morse_code_decoder [2021/06/04 13:08]
liza_maria.neacsu
pm:prj2021:abirlica:morse_code_decoder [2021/06/04 18:56] (current)
liza_maria.neacsu
Line 25: Line 25:
  
 Pentru matrice am utilizat 64 de led-uri și 8 rezistențe de 180 ohm fiecare. Led-urile sunt cuplate astfel încât să formeze linii(catod) și coloane(anod) de câte 8. Fiecare linie este apoi conectată la câte un rezistor. Pentru a aprinde un led al matricei(linia 2, coloana 6), este nevoie să fie shiftate aceste valori în registrele de shiftare. Pentru a transmite datele câtre registre vom utiliza un vector de 8 bytes, fiecare element reprezentând o linie și fiecare bit din byte reprezintă câte un led. Pentru matrice am utilizat 64 de led-uri și 8 rezistențe de 180 ohm fiecare. Led-urile sunt cuplate astfel încât să formeze linii(catod) și coloane(anod) de câte 8. Fiecare linie este apoi conectată la câte un rezistor. Pentru a aprinde un led al matricei(linia 2, coloana 6), este nevoie să fie shiftate aceste valori în registrele de shiftare. Pentru a transmite datele câtre registre vom utiliza un vector de 8 bytes, fiecare element reprezentând o linie și fiecare bit din byte reprezintă câte un led.
-Pentru a aprinde led-ul de pe linia 2 și coloana 6, vectorul va arăta astfel: + 
-unsigned char LEDS[8];+<​note>​Pentru a aprinde led-ul de pe linia 2 și coloana 6, vectorul va arăta astfel: 
 +  ​* ​unsigned char LEDS[8];
   * LEDS [7] = B00000000;   * LEDS [7] = B00000000;
   * LEDS [6] = B00000000;   * LEDS [6] = B00000000;
Line 34: Line 35:
   * LEDS [2] = B00000000;   * LEDS [2] = B00000000;
   * LEDS [1] = B00000100;   * LEDS [1] = B00000100;
-  * LEDS [0] = B00000000;+  * LEDS [0] = B00000000; ​ 
 +</​note>​
  
 =====Schemă bloc===== =====Schemă bloc=====
Line 41: Line 43:
  
 ====Hardware Design==== ====Hardware Design====
 +
 +  * Senzor de lumină
 +Senzorul de lumină este utilizat pentru a percepe semnale luminoase de diferite intensități și durate pe care ulterior le transmite ca input pentru a fi analizate.
 +  * LCD
 +LCD-ul este utilizat pentru a afișa semnalele luminoase percepute de senzor transformate în text alfanumeric.
 +  * Registrele de shiftare
 +Acestea sunt utilizate pentru a putea aprinde anumite led-uri de pe matrice, neavând la dispoziție suficienți pini.
 +  * Matricea de led-uri
 +Este utilizată pentru a reprezenta un anumit caracter alfanumeric primit ca input de la senzor.
  
 ===Schemă electrică=== ===Schemă electrică===
Line 64: Line 75:
  
 =====Software Design===== =====Software Design=====
 +
 +Pentru implementarea software am utilizat Arduino IDE.
 +
 +Valorile transmise de senzorul de lumină se încadrează între 0(întuneric) și 1023(valoarea maximă de lumină). Prima etapă în procesul de decodare este calcularea unei valori pentru lumina ambientală,​ aceasta poate varia puțin. Transmiterea semnalelor luminoase se face prin intermediul unei aplicații de pe telefonul mobil și durează aproximativ 270ms pentru un punct și 460, 470ms pentru o linie. Și pentru acestea pot exista mici variațiuni de câteva milisecunde.
 +
 +La momentul identificării unui semnal luminos, procesul de decodificare începe. În funcție de durata sa se stabilește dacă este punct sau linie, și este adăgat într-un buffer pentru a fi transformat în text alfanumeric.
 +
 +==Biblioteci utilizate==
 +#include <​LiquidCrystal.h>​ folosit pentru transmitea datelor către LCD.
 +
 +#include <​SPI.h>​ folosit pentru a transmite date registrelor de shiftare și pentru a accesa Pinii.
 +
 +==Activity Diagram==
 +
 +{{:​pm:​prj2021:​abirlica:​activity_diagram_morse.png?​300|}}
 +
 +
 +====Concluzii====
 +
 +Pe parcursul realizării proiectului am învățat să lipesc și să asamblez componentele,​ să programez pe o plăcuță Arduino și să interpretez datele percepute de senzorul de lumină. Din păcate, nu am reușit să implementez toate funcționalitățile propuse inițial.
 +
 +====Rezultate obținute====
 +
 +{{:​pm:​prj2021:​abirlica:​morsecomponents.jpeg?​300|}}
 +
 +{{:​pm:​prj2021:​abirlica:​morselcd.jpeg?​300|}}
 +
 +
 +=====Download=====
 +
 +{{:​pm:​prj2021:​abirlica:​morse.zip|}}
 +
 +{{:​pm:​prj2021:​abirlica:​morse1.zip|}}
 +
 +====Link YouTube====
 +
 +https://​www.youtube.com/​watch?​v=7oijisAGcJ4
 +
 +====Jurnal====
 +
 +  * 29.04.2021 - Plasare comandă componente
 +  * 05.05.2021 - Primirea ultimelor componente
 +  * 10.05.2021 - Lipire matrice de led-uri, LCD, Senzor de lumină și testare
 +  * 28.05.2021 - Asamblare componente conform schemei electrice
 +  * 01.06.2021-04.06.2021 - Implementare
 +
 +====Bibliografie/​Resurse====
 +
 +<note tip>
 +  * https://​www.youtube.com/​watch?​v=WFPXv2a3RdE
 +  * https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf
 +  * Laboratoare:​ https://​ocw.cs.pub.ro/​courses/​pm
 +  * https://​www.youtube.com/​watch?​v=MGsXzH7EcMY
 +</​note>​
 +
 +
 +
 +
 +
  
  
pm/prj2021/abirlica/morse_code_decoder.1622801326.txt.gz · Last modified: 2021/06/04 13:08 by liza_maria.neacsu
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