Table of Contents

Ursescu Elena-Catalina 334CA

Morse Code Translator

Introducere

Proiectul implică crearea unui dispozitiv care poate traduce litere și cifre din alfabetul latin în codul Morse, utilizând un LED și o placă Arduino. Scopul acestui proiect este de a ilustra principiile de bază ale codului Morse și de a oferi o modalitate interactivă de a experimenta cu placa Arduino și componentele electronice asociate.Consider că acest proiect este util pentru cei interesați să învețe despre codul Morse și să dobândească cunoștințe practice despre utilizarea plăcilor Arduino în proiecte de electronică.

Descriere generală

Proiectul constă într-un sistem hardware și software care permite utilizatorului să introducă un mesaj în alfabetul latin, iar acesta să fie transmis și afișat în codul Morse utilizând un LED și o placă Arduino, influentat de sursa de lumina si intensitatea acesteia. Schema bloc a proiectului include un modul hardware care constă din LED, rezistor și placă Arduino, iar modulul software este responsabil pentru traducerea mesajului în cod Morse și pentru controlul LED-ului în consecință.

Hardware Design

Pentru realizarea acestui proiect, sunt necesare următoarele piese și componente:

  • LED sau Neopixeli
  • Rezistoare
  • Placă Arduino și cablu USB
  • Breadboard
  • Cabluri de legătură
  • Fotorezistor

Software Design

Cateva idei de baza pentru partea software a proiectului:

  • Funcții separate pentru gestionarea intrărilor seriale, apăsării butonului și controlul LED-ului și buzzer-ului.
  • Intrare serială: Permite introducerea mesajelor text pentru traducere în cod Morse.
  • Buton: Permite introducerea manuală a codului Morse prin apăsări scurte și lungi.
  • Array-uri pentru litere și cifre: Folosite pentru a mapa caracterele la secvențe de cod Morse.
  • Ton de eroare: Emite un ton specific dacă secvența de cod Morse nu este validă.
  • Delays minime: Folosește delay-uri scurte pentru a nu bloca execuția altor funcții importante.

Rezultate Obținute

Rezultatele obținute din proiectul de mai sus includ:

  • Traducerea corectă în Cod Morse a mesajelor text introduse prin intrarea serială sau manual prin apăsarea butonului.
  • Interacțiune intuitivă cu utilizatorul, oferind feedback vizual și auditiv pentru fiecare punct și linie în codul Morse.
  • Utilizare eficientă a resurselor prin gestionarea corespunzătoare a delay-urilor și prevenirea blocării programului.
  • Oportunitatea de învățare și experiență practică în domeniul codului Morse și al utilizării plăcilor Arduino.

Concluzii

Proiectul de realizare a unui translator de cod Morse a evidențiat integrarea sinergică dintre componentele hardware și software, facilitând o soluție robustă și interactivă pentru traducerea mesajelor în cod Morse și invers. Componentele hardware au asigurat o interfață tangibilă pentru utilizatori, permițându-le să interacționeze direct prin intermediul butonului și să primească feedback instant prin intermediul LED-ului și buzzer-ului. În paralel, partea software a proiectului a gestionat eficient intrările și a efectuat traducerea mesajelor, furnizând o experiență intuitivă și plăcută. Astfel, acest proiect ilustrează nu doar abilitățile practice de proiectare și implementare a soluțiilor hardware-software, ci și modul în care aceste două aspecte pot colabora eficient pentru a crea o soluție integrată și funcțională.

Concepte PM utilizate:

  • Funcțiile de tratare a intrărilor de la buton includ o întârziere pentru a preveni efectele de “bouncing”, asigurând citirea corectă a stărilor butonului.
  • Delays: Timpul de întârziere pentru puncte și liniuțe în codul Morse este gestionat folosind funcții de delay, care sunt esențiale pentru sincronizare.
  • Timere și contorizare: Utilizarea funcțiilor millis() pentru a măsura durata dintre apăsări de buton și pentru a gestiona timpul dintre caractere și cuvinte.
  • Senzori: Fotorezistorul este utilizat pentru a măsura nivelul de lumină și a ajusta comportamentul sistemului.

Download

Jurnal

Etapele proiectului:

  • Achizitionare piese
  • Conectarea componentelor pentru partea hardware
  • Creare cod pentru partea de software
  • Conectare hardware + software
  • Testare

Bibliografie/Resurse