Sommario:
- Passaggio 1: fornisci energia alla tua breadboard
- Passaggio 2: macina il tuo tagliere
- Passaggio 3: inserisci il tuo pulsante
- Passaggio 4: metti a terra il pulsante
- Passaggio 5: collega il tuo pulsante
- Passaggio 6: inserisci il tuo cicalino
- Passaggio 7: mettere a terra il cicalino
- Passaggio 8: accendi il cicalino
- Passaggio 9: scrivi il tuo codice
- Passaggio 10: utilizzare il monitor seriale per leggere l'output
- Passaggio 11: vuoi più progetti come questo?
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
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
Collega un ponticello dal pin 5V sul tuo Arduino Uno alla linea positiva sulla breadboard.
Passaggio 2: macina 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 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
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
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 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
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
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
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
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?
Ottieni parti per 2-3 progetti al mese e istruzioni e video per costruirli con MakeCrate!