Morse Light Decoder
Introducere
Proiectul utilizează un microprocesor Arduino pentru a interpreta date trimise prin lumină, folosind tehnica Morse cu laser. Un fascicul laser emite lumina care este interceptată de un mini panou solar, transformând lumina în codul Morse. Prin utilizarea întreruperilor și a timerelor gestionate de Arduino, se înregistrează durata semnalelor luminoase, oferind astfel o modalitate inovativă de comunicare.
Datorită naturii sale concentrate, fasciculul laser permite acestui tip de comunicare să funcționeze eficient pe distanțe de până la 1 kilometru, asigurând astfel transmiterea precisă și clară a datelor pe distanțe impresionante.
Descriere generală
How to use:
La inițializarea sistemului, pe display-ul OLED se afișează mesajul “Talk to me”
Transmiterea începe când utilizatorul porneste laserul si il indreapta catre panoul solar.
Fasciculul laser emite semnale corespunzătoare mesajului dorit, iar mini panoul solar interceptează aceste semnale.
Semnalele luminoase sunt convertite înapoi în codul Morse și afișate pe display-ul OLED sub forma literelor corespunzătoare.
Buzzer-ul emite tonuri sonore pentru a indica durata semnalelor luminoase interceptate.
When to use:
Hardware Design
Listă de piese:
Placuta Arduino Uno: Controlerul principal care gestionează întregul sistem.
Display OLED cu interfata I2C: Afișează mesajele recepționate în codul Morse convertit în text.
Buzzer: Emite tonuri pentru a indica durata semnalelor luminoase.
Mini solar pannel: Interceptează semnalele luminoase de la laser și le transformă în semnale electrice.
Laser: Emite semnale luminoase în codul Morse.
Rezistenta 22kOhm : Utilizată pentru a forma un divizor de tensiune sau pentru a proteja intrările Arduino.
Conexiuni:
Panou Solar:
Buzzer:
Display LCD I2C:
GND conectat la GND al Arduino (negru)
VCC conectat la 5V al Arduino (roșu)
SDA conectat la pinul A4 al Arduino (verde)
SCL conectat la pinul A5 al Arduino (albastru)
Rezistență de 22kOhm: Conectată între A0 și GND pentru a forma un divizor de tensiune și a proteja intrarea analogică.
Configurare Hardware:
Arduino Uno: Acesta este creierul sistemului care gestionează toate intrările și ieșirile.
Display OLED cu interfata I2C: Conectat la pinii SDA și SCL ai Arduino pentru comunicarea I2C.
Buzzer: Conectat la un pin digital al Arduino (de exemplu, pinul 6) pentru a reda tonuri sonore.
Mini solar pannel: : Conectat la un pin analogic al Arduino pentru a citi semnalele de lumină convertite în semnale electrice.
Laser: Alimentat de la o sursă externă, fasciculul său trebuie să fie îndreptat către mini panoul solar.
Rezistenta 22kOhm : Conectată în serie sau ca parte a unui divizor de tensiune pentru a proteja intrările Arduino sau pentru a asigura corectitudinea semnalului.
Software Design
Motivația alegerii bibliotecilor folosite:
Wire.h - Aceasta este o bibliotecă standard folosită pentru comunicația I2C între microprocesorul Arduino și alte module, cum ar fi display-ul OLED. A fost aleasă pentru fiabilitatea și eficiența sa în gestionarea comunicațiilor pe protocol I2C.
Adafruit_GFX.h și Adafruit_SSD1306.h - Aceste biblioteci sunt esențiale pentru operarea display-ului OLED SSD1306, facilitând inițializarea și manipularea grafică a display-ului. Sunt preferate pentru suportul extins și exemplele bogate care ajută la accelerarea dezvoltării.
Elementul de noutate al proiectului
Proiectul inovează prin utilizarea combinației de tehnologie optică (laser) și solară pentru a realiza comunicații pe distanțe lungi folosind codul Morse, un limbaj simplu dar extrem de eficient în situații critice. Utilizarea laserului pentru transmiterea mesajelor și a unui panou solar ca receptor este o abordare unică ce permite comunicarea discretă și eficientă fără nevoia de rețele tradiționale.
Justificarea utilizării funcționalităților din laborator
Este folosit pentru a citi semnalele analogice generate de panoul solar atunci când acesta este iluminat de laser. De exemplu, când laserul emite o lumină, panoul solar o detectează și produce un semnal analogic care este convertit într-un semnal digital de către ADC-ul Arduino pentru procesare ulterioară.
Este utilizat pentru a comunica între microcontrolerul Arduino și display-ul OLED. Acest protocol simplifică interfațarea, permițându-ți să trimiți comenzi pentru afișarea textului convertit din codul Morse. De exemplu, când un cod Morse este interpretat ca litera “S”, Arduino trimite prin I2C comanda de afișare a literei “S” pe display-ul OLED.
Sunt utilizate pentru a măsura durata fiecărui semnal de lumină interceptat, diferentiind între puncte și linii în codul Morse. De exemplu, dacă un semnal durează mai mult decât un prag definit, este interpretat ca o linie (”-”), altfel este un punct (”.”).
Calibrarea elementelor de senzoristică
Calibrarea panoului solar a fost realizată prin ajustarea sensibilității la lumină pentru a distinge între diferite intensități, ceea ce este crucial pentru detectarea corectă a semnalelor Morse. Acest proces a inclus teste în diverse condiții de iluminare pentru a asigura fiabilitatea, alaturi de aadugarea unui divizor de tensiune pentru a asigura ca panoul solar nu este asa sensibil la lumina din exterior.
Optimizări realizate
Rezultate Obţinute