Sommario:

Trasmettitore di codice Morse Arduino: 11 passaggi
Trasmettitore di codice Morse Arduino: 11 passaggi

Video: Trasmettitore di codice Morse Arduino: 11 passaggi

Video: Trasmettitore di codice Morse Arduino: 11 passaggi
Video: Realizziamo un sistema di trasmissione Morse "ottico" completo con Arduino - Video 359 2024, Dicembre
Anonim
Trasmettitore codice Morse Arduino
Trasmettitore codice Morse Arduino
Trasmettitore codice Morse Arduino
Trasmettitore codice Morse Arduino

In questo tutorial, utilizzerai un Arduino Uno per creare un trasmettitore in codice Morse e utilizzerai il monitor seriale per leggere i messaggi che hai trasmesso.

Parti di cui avrai bisogno:

Arduino Uno

tagliere

Cicalino

pulsanti

Ponticelli

Passaggio 1: fornisci energia alla tua breadboard

Fornisci energia alla tua breadboard
Fornisci energia alla tua breadboard

Collega un ponticello dal pin 5V sul tuo Arduino Uno alla linea positiva sulla breadboard.

Passaggio 2: macina il tuo tagliere

Metti a terra il tuo tagliere
Metti a terra il tuo tagliere

Ora collega un filo da uno qualsiasi dei pin GND su Arduino alla linea negativa sulla breadboard.

Passaggio 3: inserisci il tuo pulsante

Inserisci il tuo pulsante
Inserisci il tuo pulsante

Inserisci il tuo bottone. Assicurati che due delle sue gambe siano su ciascun lato del canale al centro della breadboard e che le gambe siano inserite saldamente. È facile piegarli quando premi forte, quindi fai attenzione mentre premi il pulsante.

Passaggio 4: metti a terra il pulsante

Metti a terra il tuo pulsante
Metti a terra il tuo pulsante

Collega il pulsante a terra inserendo un'estremità nella stessa riga della gamba superiore del pulsante e l'altra estremità nella riga negativa che hai precedentemente collegato a terra.

Passaggio 5: collega il tuo pulsante

Collega il tuo pulsante
Collega il tuo pulsante

Chiudi il circuito del pulsante e consenti all'Arduino di leggere il suo input collegando un filo dalla stessa riga della gamba del pulsante inferiore e il pin 7 sull'Arduino.

Passaggio 6: inserisci il tuo cicalino

Inserisci il tuo cicalino
Inserisci il tuo cicalino

Inserisci il cicalino in modo che il segno "+" in alto, o la gamba leggermente più lunga, si trovi sullo stesso lato della breadboard del cavo collegato a 5V.

Passaggio 7: mettere a terra il cicalino

Mettere a terra il cicalino
Mettere a terra il cicalino

Collega il pulsante a terra con un filo della stessa riga della sua gamba più corta alla linea negativa sulla breadboard che hai precedentemente collegato a GND.

Passaggio 8: accendi il cicalino

Alimenta il cicalino
Alimenta il cicalino

Fornisci alimentazione al cicalino e consenti all'Arduino di controllarlo con un filo dalla stessa fila della sua gamba più lunga al pin 8 sull'Arduino.

Passaggio 9: scrivi il tuo codice

Scrivi il tuo codice
Scrivi il tuo codice

Copia e incolla il nostro codice, oppure scarica il file allegato.

static String Morse = {".-", "-…", "-.-.", "-..", ".", "..-.", "--.", "…. ", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ", "--..", "E" };

carattere statico Alfabeto = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', ' x', 'y', 'z', 'E'}; push_length lungo senza segno, start_push, end_push; //tempo per il quale viene premuto il pulsante int button = 7; //pin ingresso per pulsante int buzzer = 8; //pin di uscita per codice stringa LED = ""; //stringa in cui è memorizzato un alfabeto

void setup() {

Serial.begin(9600); pinMode(pulsante, INPUT_PULLUP); //il resistore di pullup interno viene utilizzato per semplificare il circuito pinMode(buzzer, OUTPUT); Serial.println("Inizia il tuo messaggio!"); }

ciclo vuoto()

{ MorseTransmission: while (digitalRead(button) == HIGH) {} start_push = millis(); //tempo alla pressione del pulsante tono (cicalino, 150); while (digitalRead(pulsante) == LOW) {} end_push = millis(); //tempo al rilascio del pulsante noTone(buzzer); push_length = end_push - start_push; //tempo per il quale viene premuto il pulsante if (push_length > 50){ //per tenere conto del codice di antirimbalzo dello switch += dot_or_dash(push_length); //funzione per leggere punto o trattino} while ((millis() - end_push) <500) //se il tempo tra la pressione del pulsante è maggiore di 0,5 sec, salta il ciclo e passa all'alfabeto successivo { if (digitalRead(button) == LOW) { vai a MorseTransmission; } } Traduzione_morse(codice); //funzione per decifrare il codice in alfabeto }

char dot_or_dash (lunghezza variabile)

{ if (lunghezza 50) { return '.'; //se il pulsante viene premuto per meno di 0,6 sec, è un punto } else if (lunghezza > 600) { return '-'; //se il pulsante viene premuto per più di 0,6 secondi, è un trattino } }

void Morse_translation(Stringa codice morse)

{ int io = 0; if (codice == ".-.-.-") { Serial.print("."); //for break } else { while (Morse != "E") //loop per confrontare il codice di input con l'array di lettere { if (Morse == morsecode) { Serial.print(Alphabet); rottura; } i++; } if (Morse == "E") { Serial.println("Errore!"); //se il codice di input non corrisponde a nessuna lettera, errore } } code = ""; //reimposta il codice su una stringa vuota }

Passaggio 10: utilizzare il monitor seriale per leggere l'output

Usa il monitor seriale per leggere il tuo output!
Usa il monitor seriale per leggere il tuo output!

Apri il monitor seriale per visualizzare i tuoi messaggi mentre premi il pulsante per creare il codice Morse. Usa la guida qui sopra per mettere in sequenza punti e trattini in modo appropriato!

Passaggio 11: vuoi più progetti come questo?

Vuoi più progetti come questo?
Vuoi più progetti come questo?

Ottieni parti per 2-3 progetti al mese e istruzioni e video per costruirli con MakeCrate!

Consigliato: