Codul Morse este un sistem de comunicare pentru a codifica orice caracter în două durate diferite de semnale numite puncte și liniuțe . Codul Morse este dezvoltat de Samuel FB și utilizat în continuare în telegrafie pentru transferul de informații secrete. A fost cel mai folosit în timpul celui de-al doilea război mondial. Un cod Morse poate fi realizat prin atingere, intermitent sau scriere. Codul Morse este disponibil în două versiuni, originalul și codul morse internațional. În codul morse internațional, versiunea originală este modificată prin eliminarea spațiilor și proiectarea liniuțelor într-o anumită lungime. Codul Morse este disponibil pentru codarea alfabetelor și numerelor. Este utilizat în principal în comunicațiile radio și oceanice și, de asemenea, o parte a instruirii soldaților.
Limba a fost întotdeauna bariera pentru codul Morse, deoarece este greu să efectuați codul pentru caracterele diacritice în altă limbă. Există câteva cuvinte celebre considerate ca fiind o caracteristică importantă a codului Morse, cum ar fi „SOS”. Forma completă SOS este Salvarea sufletelor noastre creată ca un semnal de primejdie universal reprezintă pericol.
Imaginea de mai jos prezintă codul Morse pentru alfabetele de la A la Z.
Astăzi, în acest tutorial, vom construi un traducător de cod Morse folosind Arduino, care va lua orice caracter ca intrare de pe monitorul serial și îl va converti în bipuri echivalente codului Morse prin buzzer.
Componente necesare
- Arduino Uno
- Buzzer
- Breadboard
- Sârme de jumper
Diagrama circuitului
Conectați PIN - ul pozitiv soneria de la 8 - lea PIN - ul a Arudino ONU și PIN - ul negativ la sol de Arduino. Încărcați codul utilizând Arduino IDE și tastați caracterele de pe monitorul serial pentru a crea sunetul. Un LCD poate fi, de asemenea, adăugat cu Arduino pentru a afișa liniuța și punctele.
Explicație de programare
Codul complet pentru Arduino Morse Code Generator este dat la sfârșit, aici explicăm programul pentru a înțelege funcționarea proiectului.
Codul de mai jos este folosit pentru a primi șirul de caractere și apoi pentru a-l converti în cod morse.
char stringToMorseCode = "";
Apoi definiți pinul pentru buzzerul conectat la Arduino și tonul pentru sunetul generat de acel buzzer. Apoi definim lungimea punctului și a liniei.
int audio8 = 8; // ieșire audio pe pinul 8 nota int = 1200; // nota muzicală / pitch int dotLen = 100; // lungimea codului morse 'punct' int dashLen = dotLen * 3; // lungimea codului morse „liniuță”
În funcția void loop () , dacă sunt disponibile date seriale, acestea vor fi salvate într-o variabilă indata . Apoi citește caracterul unul câte unul folosind comanda inData . Comanda variabilă.toUppercase () este utilizată pentru a schimba caracterele minuscule în majuscule. Apoi creează sunet în funcție de fiecare personaj.
bucla void () { char inChar = 0; char inData = ""; // lungimea datelor de 6 caractere Șir variabilă = ""; Șir variabilă1 = ""; int index1 = 0; if (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; index1 ++; inData = '\ 0'; } variable.toUpperCase (); for (octet i = 0; i <100; i ++) { variable.concat (String (inData)); } întârziere (20);
Mai jos funcțiile MorseDot și MorseDash sunt utilizate pentru a crea sunetul pentru punct și, respectiv, pentru liniuță.
void MorseDot () { ton (audio8, notă, dotLen); // începeți să redați o întârziere a tonului (dotLen); // țineți în această poziție } void MorseDash () { ton (audio8, notă, dashLen); // începeți să redați o întârziere a tonului (dashLen); // țineți în această poziție }
Funcția GetChar are codul pentru toate alfabetele. Deci, ori de câte ori tastăm orice alfabet, codul morse respectiv este preluat din această funcție pentru a crea sunetul particular.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); întârziere (100); MorseDash (); întârziere (100); pauză; ... ... ... implicit: pauză; } }
Acum încărcați codul în Arduino folosind Arduino IDE și tastați orice caracter pe monitorul serial și apăsați butonul Enter pentru a trimite caracterele către Arduino.
Aici am tastat „SOS”, care este un semnal de primejdie universal, pentru a crea sunetul pentru același lucru.
Demonstrația pentru același lucru este dată în videoclipul de mai jos.