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:09]
artiom.pujleacov [Hardware Design]
pm:prj2025:rnedelcu:artiom.pujleacov [2025/05/30 12:44] (current)
artiom.pujleacov [Download]
Line 29: Line 29:
     - LED verde - [[https://​ardushop.ro/​ro/​led-uri/​293-470-led-5mm.html#/​2-culoare-verde|External Link]]     - LED verde - [[https://​ardushop.ro/​ro/​led-uri/​293-470-led-5mm.html#/​2-culoare-verde|External Link]]
     - LED albastru - [[https://​ardushop.ro/​ro/​led-uri/​293-469-led-5mm.html#/​1-culoare-albastru|External Link]]     - LED albastru - [[https://​ardushop.ro/​ro/​led-uri/​293-469-led-5mm.html#/​1-culoare-albastru|External Link]]
-    - Rezistențe 220Ω +    - Rezistențe 220Ω - [[https://​ardushop.ro/​ro/​componente-discrete/​465-807-rezistor-1-4w-1-buc-alege-valoarea.html?​gad_source=1&​gad_campaignid=17003133061&​gbraid=0AAAAADlKU-5WOkqEeDGcOvT5Vnc3TcYZ-&​gclid=CjwKCAjw_pDBBhBMEiwAmY02NqE2D26vC7bz3fOxpFKvlSvxdjccRAUTVFNum87BEqQ-DuYAlhZcTBoCOtgQAvD_BwE#/​valoare_rezistenta-22k|External Link]] 
-    - Breadboard +    - Breadboard ​- [[https://​www.optimusdigital.ro/​en/​breadboards/​44-400p-hq-breadboard.html?​gad_source=1&​gad_campaignid=19615979487&​gbraid=0AAAAADv-p3BfEEZZl7O_k8PCbMoE1d4yA&​gclid=CjwKCAjw_pDBBhBMEiwAmY02NiZhQ5tRYIZTZMqll1Wu7q1wsCBx8mWhR79dLeNtyXTgipxKVVf7QBoC_X0QAvD_BwE|External Link]] 
-    - Fire jumper M-M +    - Fire jumper M-M - [[https://​www.dioda.ro/​cabluri-i-fire-jumper-pentru-campuri-de-contact-fara-lipire-de-testare-09830043/​pid/​24850.html|External Link]] 
-    - Cablu USB Mini-B+    - Cablu USB Mini-B ​- [[https://​ardushop.ro/​ro/​fire-si-conectori/​2494-cablu-usb-a-b-43cm-albastru-6427854038272.html?​gad_source=1&​gad_campaignid=17003133061&​gbraid=0AAAAADlKU-5WOkqEeDGcOvT5Vnc3TcYZ-&​gclid=CjwKCAjw_pDBBhBMEiwAmY02Nm4DoaDkkdbuqbMaSpFdAJMbH3KJFzjhP3wFTgUUTjI1jSzEHPvBkxoCRScQAvD_BwE|External Link]]
  
   * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png)   * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png)
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.1747217373.txt.gz · Last modified: 2025/05/14 13:09 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