Differences

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

Link to this comparison view

pm:prj2025:rnedelcu:artiom.pujleacov [2025/05/14 13:11]
artiom.pujleacov [Hardware Design]
pm:prj2025:rnedelcu:artiom.pujleacov [2025/05/30 12:44] (current)
artiom.pujleacov [Download]
Line 41: Line 41:
  
  
-<note tip> +<note tip> ​Mediu de dezvoltare: Arduino IDE Librării utilizate: LiquidCrystal_I2C.h 
-Descrierea codului aplicaţiei (firmware)+Structuri și algoritmi implementați
-  * mediu de dezvoltare ​(if any) (e.g. AVR StudioCodeVisionAVR+ 
-  * librării şsurse 3rd-party (e.g. Procyon AVRlib+Codarea și decodarea codului Morse prin detectarea sunetului ​de la un microfon analogic 
-  * algoritmi şstructuri ​pe care plănuiţsă le implementaţ+ 
-  ​* ​(etapa 3surse şfuncţii implementate+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 ș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 șlinie folosind tone() și PWM pe buzzer 
 + 
 +Interfață LCD 16x2 pentru afișarea codului Morse recepționat ștransmis 
 + 
 +Funcționalitate UART simplă pentru transmiterea șprimirea textului 
 + 
 +Detectare și afișare mesaje speciale ​(SOS, HELPcu mod de alertă sonoră ș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
 </​note>​ </​note>​
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +<note tip> ​Proiectul funcționează corect atât pentru codarea cât și decodarea mesajelor Morse cu sunet, oferind feedback vizual și sonor
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+Limitări identificate:​
-</​note>​+
  
 +Sensibilitatea microfonului și pragurile de detecție pot fi afectate de zgomotul ambiental, ducând la erori de interpretare
 +
 +Afișajul LCD 16x2 limitează cantitatea de text afișată simultan
 +
 +Lipsa funcțiilor de editare sau ștergere a textului introdus
 +
 +Necesitatea calibrării pragurilor pentru semnale lungi și spații precise între semnale
 +
 +Posibile îmbunătățiri:​
 +
 +Implementarea unui mod automat de calibrare a pragurilor de sunet pentru o detecție mai robustă
 +
 +Stocarea mesajelor în memorie EEPROM pentru salvare și recuperare
 +
 +Utilizarea unui afișaj mai mare (ex: OLED) pentru afișarea textului complet
 +
 +Indicator vizual suplimentar (LED sincronizat cu sunetul) pentru feedback în timp real
 +
 +Adăugarea unei interfețe Bluetooth pentru transmiterea și recepția Morse pe dispozitive mobile
 +
 +</​note>​
 ===== Concluzii ===== ===== Concluzii =====
  
 ===== Download ===== ===== Download =====
  
-<​note ​warning+<​note>​ 
-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ă ;-). +{{:pm:prj2025:rnedelcu:cod_morse.zip|}}
- +
-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**.+
 </​note>​ </​note>​
  
pm/prj2025/rnedelcu/artiom.pujleacov.1747217519.txt.gz · Last modified: 2025/05/14 13:11 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