Code Morse coder/decoder - Girlea Anana Catalina 333CA

Introducere

Am ales sa fac un aparat care sa traduca din si in codul morse. Pe langa functia de traducere, aparatul poate sa intre in modul joc unde utilitatorul poate invata sa scrie in codul morse.

Scopul proiectului este crearea unei metode placute si rapide de a traduce si de a invata codul morse.

Descriere generală

Aparatul va avea un switch cu ajutorul caruia utilizatorul va selecta modul de functionare: coder / decoder sau joc.

Aparatul va avea doua tastaturi: * pentru literele alfabetului cu un buton pentru a trimite mesajul * pentru tastatura pentru ”.” si “__” cu un buton pentru a trimite mesajul

Aparatul va retine istoricul mesajelor pe un card micro SD. Mesajele vor aparea pe un ecran LCD.

Atunci cand aparatul este in modul de joc si utilizatorul introduce un raspuns gresit se va aprinde un LED rosu, in caz contrar, se va aprinde un LED verde.

Hardware Design

Lista componente:

  • Arduino UNO
  • Breadboard
  • Ecran LCD + modul I2C
  • Card micro sd + adaptor
  • Intrerupator cu 4 optiuni
  • Butoane
  • Rezistente

Alimentarea și încărcarea codului se va face prin USB.

girlea_anana_code_morse_hardware.jpeg girlea_anana_lcd.jpeg

Software Design

Optiunile programului:

1) Decoder

Este un dictionar cu toate literele alfabetului limbii engleze traduse in codul morse. Pentru a afla traducerea unei litere trebuie tinut apasat butonul asignat acesteia.

2) Coder

Este traducator din alfabetul limbii engleze in codul morse. Programul primeste input de la tastatura pana la apasarea tastei ENTER. Programul apoi traduce datele primite si afisaza corespondentul in alfabetul limbii engleze. Tot ce este trimis programului in cadrul acestei optiuni este retinut pe cardul SD in fisierul test.txt pentru a forma mesajul complet.

3) Game

Este un joc care arata utilizatorului o litera din alfabetul limbii engleze si asteapta codificarea acestuia in codul morse. Dupa trimiterea mesajului prin apasarea tastei ENTER programul afisaza in paralel raspunsul corect si raspunsul jucatorului.

Am creat 3 functii de care ma folosesc pe tot parcursul proiectului:

  • char *getChar(char c) - primeste un caracter din alfabetul limbii engleze intoarce traducerea sa in codul morse
  • char *getMorse(char *c) primeste un caracter in codul morse si intoarce traducerea sa in alfabetul englezesc
  • char *readWord() - citeste de la butoane pana primeste ca input tasta ENTER

girlea_anana_cod_morse.jpg

Pentru modului I2C:

Am folosit libraria #include <LiquidCrystal_I2C.h>

Am folosit pini speciali pentru i2c :

  • SDA - A4
  • SCL - A5

Pentru modului SPI:

Am folosit librariile: #include <SPI.h> #include <SD.h>

Am folosit pini speciali pentru SPI:

  • MOSI - 11
  • MISO - 12
  • SCK - 13
  • CS - 10

Am initializat cardul SD cu FAT32

Rezultate Obţinute

Proiectul este functional.

Am folosit laboratoarele:

  • 1 - UART
  • 3 - Timere
  • 5 - SPI
  • 6 - I2C

Aici puteti gasi demo-ul in care sunt prezentate toate modurile de utilizare ale proiectului!
https://www.youtube.com/watch?v=hCZUtScfvDM

Concluzii

Utilizatorul poate sa foloseasca proiectul pentru a invata codul morse si pentru a transmite mesaje.

Download

Aici puteti gasi codul meu!
girlea_anana_catalina_333ca_code_morse.zip

Jurnal

  • 2 mai - creare documentatie
  • 16 mai - hardware
  • 23 mai - software
  • 28 mai - finalizare documentatie

Bibliografie/Resurse

pm/prj2023/adarmaz/code-morse-coder-decoder.txt · Last modified: 2023/05/29 13:49 by anana.girlea
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