Differences

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

Link to this comparison view

pm:prj2022:agmocanu:bidirectional_morse_translator [2022/05/08 22:31]
catalin.stoian1603 [Jurnal]
pm:prj2022:agmocanu:bidirectional_morse_translator [2022/05/25 22:59] (current)
catalin.stoian1603 [Bibliografie/Resurse]
Line 1: Line 1:
 ====== Bidirectional Morse Translator ====== ====== Bidirectional Morse Translator ======
 +
 +Stoian Cătălin, 331CB
 +
 ===== Introducere ===== ===== Introducere =====
  
Line 8: Line 11:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-{{:​pm:​prj2022:​agmocanu:​stoian_catalin_331cb_diagramapm.png?​300|}}+{{ :​pm:​prj2022:​agmocanu:​stoian_catalin_331cb_diagramapm.png?​450|Diagrama Bidirectional Morse Translator}}
  
 Modul in care interactioneaza modulele este unul destul de simplu: butoanele de input (precum si cel de panica) actioneaza doar ca input, trimitand semnale catre placa Arduino. LED-ul, LCD-ul si buzzer-ul sunt toate output-uri - LED-ul si buzzer-ul redau output-ul traducerii, iar LCD-ul indica starea curenta a sistemului. Comunicarea cu PC-ul este speciala, deoarece este bidirectionala - PC-ul trimite mesaje care urmeaza sa fie traduse, dar si primeste traducerile mesajelor primite la restul input-urilor. Modul in care interactioneaza modulele este unul destul de simplu: butoanele de input (precum si cel de panica) actioneaza doar ca input, trimitand semnale catre placa Arduino. LED-ul, LCD-ul si buzzer-ul sunt toate output-uri - LED-ul si buzzer-ul redau output-ul traducerii, iar LCD-ul indica starea curenta a sistemului. Comunicarea cu PC-ul este speciala, deoarece este bidirectionala - PC-ul trimite mesaje care urmeaza sa fie traduse, dar si primeste traducerile mesajelor primite la restul input-urilor.
  
 ===== Hardware Design ===== ===== Hardware Design =====
 +{{ :​pm:​prj2022:​agmocanu:​stoiancatalin_331cb_tinkercad.png?​350|Tinkercad Diagram}}
 Lista de piese: Lista de piese:
   * Arduino UNO R3   * Arduino UNO R3
Line 19: Line 23:
   * LED   * LED
   * buzzer   * buzzer
-  * 4 butoane+  * 4 butoane ​+ capace colorate 
 +  * potentiometru
   * LCD   * LCD
-  * diverse rezistente+  * rezistenta de 220Ω
   * fire de legatura   * fire de legatura
  
-<note tip> 
-Aici puneţi tot ce ţine de hardware design: 
-  * listă de piese 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) 
-  * diagrame de semnal ​ 
-  * rezultatele simulării 
-</​note>​ 
  
 ===== Software Design ===== ===== Software Design =====
  
 +Mediu de dezvoltare: Arduino IDE
 +Functii implementate:​
 +  * translate_c2m:​ traduce o litera in cod morse
 +  * translate_m2c:​ traduce un cod morse intr-o litera
 +  * sentence2morse:​ se foloseste de translate_c2m sa traduca un mesaj intreg in morse
 +  * morse2sentence:​ se foloseste de translate_m2c sa traduca un mesaj intreg din morse
 +
 +Functia loop() contine majoritatea functionalitatilor (descrise in comentariile din cod):
 +  * debounce pentru toate butoanele
 +  * inceperea traducerii din alfabetul latin in cel morse si invers
 +  * citirea valorii de pe potentiometrul din circuit
 +  * transmisia morse non-blocanta
 +  * scrolling-ul ecranului (cand mesajul de tradus nu incape pe un rand)
 +
 +Codul este inclus la sectiunea Download.
  
-<note tip> 
-Descrierea codului aplicaţiei (firmware): 
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi 
-  * (etapa 3) surse şi funcţii implementate 
-</​note>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Rezultatele obtinute, sunt, dupa cum se observa din pozele urmatoare, foarte bune. Proiectul merge perfect, ba chiar are anumite functionalitati (de exemplu, display scrolling) la care nici nu m-am gandit intr-o prima faza. 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+ 
-</note>+{{ :​pm:​prj2022:​agmocanu:​stoiancatalin_poza1.jpg?300 |Poza ansamblu complet}} 
 + 
 +{{ :​pm:​prj2022:​agmocanu:​stoiancatalin_poza2.jpg?​300 |Poza breadboard}} 
 + 
 +{{ :​pm:​prj2022:​agmocanu:​stoiancatalin_poza3.jpg?​300 |Poza Arduino + LCD}} 
 + 
 +[[https://​drive.google.com/​file/​d/​1JOlMe9MKE9ic_kNRrDLJgakRmNJz96Cs/​view?​usp=sharing|Demo video]].
  
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+O prima concluzie este ca acesta a fost un proiect distractiv, care mi-a placut destul de mult. As prefera ca mai multe discipline sa aiba un proiect de acest tip, practic. 
 +O a doua concluzie este ca ar trebui sa imi organizez mai bine codul/​proiectul,​ deoarece la inceput am avut problema "de unde incep?"​. O planificare mai buna din partea mea a proiectului (de exemplu sa ma gandesc ordinea pasilor care trebuie facuti) m-ar fi ajutat enorm.
  
-<note warning>​ +===== 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**. +[[https://github.com/​catalinstoian16/​Biderectional-Morse-Translator|Link Github]].
-</​note>​+
  
 ===== Jurnal ===== ===== Jurnal =====
Line 64: Line 75:
  
 **08.05.2022** - Introducerea diagramei proiectului **08.05.2022** - Introducerea diagramei proiectului
 +
 +**16.05.2022** - Testarea individuala a tuturor componentelor
 +
 +**20.05.2022** - Combinarea componentelor
 +
 +**21.05.2022** - Scrierea codului in Arduino IDE
 +
 +**23.05.2022** - Rafinarea codului
 +
 +**25.05.2022** - Finalizarea documentatiei
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +Sursele ​folosite
-Listă cu documente, datasheet-uri,​ resurse Internet ​folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  ​[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021|Laboratoarele de PM]] 
-</note>+  * [[https://​www.arduino.cc/​reference/​en/|Documentatia limbajului Arduino]]
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2022/agmocanu/bidirectional_morse_translator.1652038293.txt.gz · Last modified: 2022/05/08 22:31 by catalin.stoian1603
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