This is an old revision of the document!


Codificator/Decodificator Cod Morse

Introducere

Prezentarea pe scurt a proiectului vostru:

  • Proiectul constă într-un sistem care, în funcție de regimul ales, poate fie să convertească semnale introduse de la tastatură în cod Morse și să le transmită prin semnale sonore și vizuale, fie să recepționeze semnale în cod Morse (prin microfon sau buton) și să le decodeze, afișând literele corespunzătoare pe un ecran LCD.
  • Scopul proiectului este de a crea un instrument educativ și funcțional care să faciliteze învățarea și utilizarea codului Morse, oferind codificare și decodificare automată a mesajelor.
  • Am pornit de la ideea de a explora comunicația non-verbală și a învăța bazele codului Morse.
  • Proiectul poate fi util pentru noi ca să învățăm să integrăm senzori și concepte software într-un sistem complex.Pentru alții, acesta poate fi folosit în scop educativ, la fel și ca metodă alternativă de comunicare.

Descriere generală

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Software Design

Mediu de dezvoltare: Arduino IDE Librării utilizate: LiquidCrystal_I2C.h Structuri și algoritmi implementați:

Codarea și decodarea codului Morse prin detectarea sunetului de la un microfon analogic

Algoritm de detecție frecvență prin măsurarea trecerilor prin zero pentru identificarea semnalelor valide

Temporizare non-blocantă folosind millis() pentru diferențierea semnalelor Morse (punct, linie, spațiu literă, spațiu cuvânt)

Debouncing software și praguri de intensitate pentru filtrarea zgomotului și recunoașterea corectă a impulsurilor sonore

Tabel static cu codurile Morse pentru litere (A-Z) și cifre (0-9)

Algoritmi pentru generarea semnalului sonor (beep-uri) pentru punct și linie folosind tone() și PWM pe buzzer

Interfață LCD 16×2 pentru afișarea codului Morse recepționat și transmis

Funcționalitate UART simplă pentru transmiterea și primirea textului

Detectare și afișare mesaje speciale (SOS, HELP) cu mod de alertă sonoră și vizuală (LED-uri)

Gestionare buffer și poziționare cursor pentru afișarea pe LCD cu împărțirea pe linii și resetarea textului

Funcții principale implementate:

setup() – inițializează LCD, buzzer, microfon, porturi și UART

loop() – buclă principală ce gestionează cele două moduri de operare (codare și decodare Morse)

detectFrequency() – măsoară frecvența semnalului audio de la microfon

flashSequence() – generează secvența de semnale sonore corespunzătoare unui cod Morse

playFrequency() – redă sunet pe buzzer la o frecvență dată și durată specifică

gestionare buffer cod Morse și decodare literă prin compararea secvenței de puncte și linii

afisare pe LCD și control cursor pentru o vizualizare clară a textului primit sau transmis

mod alertă cu tonuri și LED-uri pentru mesaje speciale ===== Rezultate Obţinute =====

Proiectul și-a atins toate obiectivele, creând un joc fara probleme.

Limitări identificate:

-Lipsa persistenței datelor la restart (scoruri, statistici)

-Feedback audio limitat la un singur buzzer (monoton)

-Interface fixă fără personalizare pentru utilizatori

-Dependența de alimentarea externă (fără baterie)

Ce mai poate fi adaugat:

-LED RGB pentru efecte vizuale mai complexe în loc de LED-urile simple

-Card SD pentru salvarea scorurilor și statisticilor de joc

-Mod Multiplayer - doi jucători alternează

-Mod Sprint - ghicește cât mai multe numere în timp limitat

===== Rezultate Obţinute =====

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

===== Concluzii =====

===== Download =====

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.

===== Jurnal =====

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

===== Bibliografie/Resurse =====

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/rnedelcu/artiom.pujleacov.1748431170.txt.gz · Last modified: 2025/05/28 14:19 by artiom.pujleacov
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