Il codice Morse è un sistema di comunicazione per codificare qualsiasi carattere in due diverse durate di segnali chiamati Dots e Dashes . Il codice Morse è sviluppato da Samuel FB e ulteriormente utilizzato in telegrafia per il trasferimento di informazioni segrete. Era più utilizzato al tempo della seconda guerra mondiale. Un codice Morse può essere eseguito toccando, lampeggiando o scrivendo. Il codice Morse è disponibile in due versioni, l'originale e il codice morse internazionale. Nel codice morse internazionale, la versione originale viene modificata rimuovendo gli spazi e disegnando i trattini in una lunghezza specifica. Il codice Morse è disponibile per la codifica di alfabeti e numeri. Viene utilizzato principalmente nelle comunicazioni radio e oceaniche e anche come parte dell'addestramento dei soldati.
La lingua è sempre stata la barriera per il codice Morse, poiché è difficile eseguire il codice per i caratteri diacritici in un'altra lingua. Ci sono alcune parole famose considerate come una caratteristica importante del codice Morse come "SOS". La forma completa di SOS è Save Our Souls, creato come un segnale di soccorso universale che rappresenta il pericolo.
L'immagine sotto mostra il codice Morse per gli alfabeti dalla A alla Z.
Oggi in questo tutorial costruiremo un traduttore di codice Morse usando Arduino che prenderà qualsiasi carattere come input dal monitor seriale e lo convertirà in segnali acustici equivalenti in codice Morse dal buzzer.
Componenti richiesti
- Arduino Uno
- Cicalino
- Breadboard
- Cavi jumper
Schema elettrico
Collegare il pin positivo del buzzer all'8 ° pin del Arudino UNO ed il perno negativo a terra di Arduino. Carica il codice usando l'IDE di Arduino e digita i caratteri sul monitor seriale per creare il suono. Un LCD può anche essere aggiunto con Arduino per visualizzare il trattino e i punti.
Spiegazione della programmazione
Alla fine viene fornito il codice completo per Arduino Morse Code Generator, qui stiamo spiegando il programma per capire il funzionamento del progetto.
Il codice seguente viene utilizzato per ricevere la stringa di caratteri e quindi convertirla in codice morse.
char stringToMorseCode = "";
Quindi definisci il pin del buzzer collegato ad Arduino e il tono del suono generato da quel buzzer. Quindi stiamo definendo la lunghezza di punto e trattino.
int audio8 = 8; // emette l'audio sul pin 8 int note = 1200; // nota musicale / intonazione int dotLen = 100; // lunghezza del codice morse 'punto' int dashLen = dotLen * 3; // lunghezza del codice morse "trattino"
Nella funzione void loop () , se sono disponibili dati seriali, verranno salvati in una variabile indata . Quindi legge i caratteri uno per uno utilizzando il comando inData . Il comando variable.toUppercase () viene utilizzato per modificare i caratteri minuscoli in maiuscoli. Quindi crea il suono in base a ogni personaggio.
void loop () { char inChar = 0; char inData = ""; // lunghezza dati di 6 caratteri Variabile stringa = ""; String variable1 = ""; 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 (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } ritardo (20);
Le seguenti funzioni MorseDot e MorseDash vengono utilizzate per creare rispettivamente il suono per punto e trattino.
void MorseDot () { tone (audio8, note, dotLen); // avvia la riproduzione di un tono ritardato (dotLen); // tieni in questa posizione } void MorseDash () { tone (audio8, note, dashLen); // avvia la riproduzione di un tono ritardato (dashLen); // tieniti in questa posizione }
La funzione GetChar ha il codice per tutti gli alfabeti. Quindi, ogni volta che digitiamo un alfabeto, il rispettivo codice morse viene preso da questa funzione per creare il suono particolare.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); ritardo (100); MorseDash (); ritardo (100); rompere; ... ... ... di default: break; } }
Ora carica il codice in Arduino usando l'IDE di Arduino e digita qualsiasi carattere nel monitor seriale e premi il pulsante Invio per inviare i caratteri ad Arduino.
Qui abbiamo digitato "SOS" che è un segnale di soccorso universale, per creare il suono per lo stesso.
La dimostrazione per lo stesso è data nel video qui sotto.