Cuprins:

Transmițător de cod Morse Arduino: 11 pași
Transmițător de cod Morse Arduino: 11 pași

Video: Transmițător de cod Morse Arduino: 11 pași

Video: Transmițător de cod Morse Arduino: 11 pași
Video: Morse Code Converter with arduino 2024, Iulie
Anonim
Transmițător de cod Morse Arduino
Transmițător de cod Morse Arduino
Transmițător de cod Morse Arduino
Transmițător de cod Morse Arduino

În acest instructable, veți utiliza un Arduino Uno pentru a crea un transmițător de cod Morse și veți utiliza monitorul serial pentru a citi mesajele pe care le-ați transmis.

Piese de care aveți nevoie:

Arduino Uno

Pană de pâine

Buzzer

Butoane

Sârme de jumper

Pasul 1: furnizați energie panoului dvs. de calcul

Furnizați energie panoului dvs. de calcul
Furnizați energie panoului dvs. de calcul

Conectați un cablu jumper de la pinul de 5V de pe Arduino Uno la linia pozitivă de pe placa dvs. de calcul.

Pasul 2: puneți la masă panoul dvs

Împământați-vă panoul de pâine
Împământați-vă panoul de pâine

Acum conectați un fir de la oricare dintre pinii GND de pe Arduino la linia negativă de pe placa dvs. de calcul.

Pasul 3: introduceți butonul

Introduceți butonul
Introduceți butonul

Introduceți butonul. Asigurați-vă că două dintre picioarele sale sunt de fiecare parte a canalului pe mijlocul plăcii dvs. și picioarele sunt introduse ferm. Este ușor să le îndoiți când apăsați puternic, așa că aveți grijă în timp ce apăsați în jos pe buton.

Pasul 4: împingeți la sol butonul

Împământați-vă butonul
Împământați-vă butonul

Conectați butonul la masă inserând un capăt în același rând ca piciorul superior al butonului și celălalt capăt în rândul negativ pe care l-ați conectat anterior la masă.

Pasul 5: Conectați-vă butonul

Conectați-vă butonul
Conectați-vă butonul

Închideți circuitul butonului și permiteți Arduino să citească intrarea acestuia conectând un fir din același rând cu piciorul butonului inferior și pinul 7 de pe Arduino.

Pasul 6: introduceți buzzerul

Introduceți buzzerul
Introduceți buzzerul

Introduceți buzzer-ul astfel încât semnul „+ 'din partea de sus sau piciorul puțin mai lung să fie pe aceeași parte a panoului de cablu ca firul conectat la 5V.

Pasul 7: legați la masă soneria

Împământați soneria
Împământați soneria

Conectați butonul la masă cu un fir din același rând cu piciorul său mai scurt la linia negativă de pe panoul pe care l-ați conectat anterior la GND.

Pasul 8: alimentați buzzerul

Porniți soneria
Porniți soneria

Furnizați energie sonerului și permiteți-i Arduino să îl controleze cu un fir din același rând cu piciorul său mai lung la pinul 8 de pe Arduino.

Pasul 9: Scrieți codul

Scrieți-vă codul
Scrieți-vă codul

Copiați și lipiți codul nostru sau descărcați fișierul atașat.

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

static char Alfabet = {'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”}; nesemnat lung push_length, start_push, end_push; // ora pentru care butonul este apăsat butonul int = 7; // pinul de intrare pentru butonul int buzzer = 8; // pin de ieșire pentru codul LED String = ""; // șir în care este stocat un alfabet

configurare nulă () {

Serial.begin (9600); pinMode (buton, INPUT_PULLUP); // rezistența de tragere internă este utilizată pentru a simplifica circuitul pinMode (buzzer, OUTPUT); Serial.println („Începeți mesajul!”); }

bucla nulă ()

{MorseTransmission: while (digitalRead (buton) == HIGH) {} start_push = millis (); // ora la tonul de apăsare a butonului (buzzer, 150); while (digitalRead (buton) == LOW) {} end_push = millis (); // ora la eliberarea butonului noTone (buzzer); push_length = end_push - start_push; // ora pentru care este apăsat butonul dacă (push_length> 50) {// pentru a contabiliza codul de debouncing al comutatorului + = dot_or_dash (push_length); // funcție pentru a citi punct sau liniuță} în timp ce ((milis () - end_push) <500) // dacă timpul dintre buton apăsați mai mult de 0,5 sec, săriți bucla și mergeți la următorul alfabet {if (digitalRead (buton) == LOW) {merge la MorseTransmission; }} Morse_translation (cod); // funcție pentru a descifra codul în alfabet}

char dot_or_dash (lungime float)

{if (lungime 50) {return '.'; // dacă apăsați butonul mai puțin de 0,6sec, este un punct} else if (lungime> 600) {return '-'; // dacă butonul apasă mai mult de 0.6sec, este o liniuță}}

void Morse_translation (String morsecode)

{int i = 0; if (cod == ".-.-.-") {Serial.print ("."); // pentru pauză} else {while (Morse ! = "E") // buclă pentru compararea codului de intrare cu matricea de litere {if (Morse == morsecode) {Serial.print (Alfabet ); pauză; } i ++; } if (Morse == "E") {Serial.println ("Eroare!"); // dacă codul de intrare nu se potrivește cu nici o literă, eroare}} cod = ""; // resetează codul la șirul gol}

Pasul 10: Utilizați monitorul serial pentru a vă citi rezultatul

Folosiți monitorul serial pentru a vă citi ieșirea!
Folosiți monitorul serial pentru a vă citi ieșirea!

Deschideți monitorul serial pentru a vizualiza mesajele în timp ce apăsați butonul pentru a crea codul Morse. Folosiți ghidul de mai sus pentru a vă ordona punctele și cratimele în mod corespunzător!

Pasul 11: Vrei mai multe proiecte de acest gen?

Vrei mai multe proiecte de acest gen?
Vrei mai multe proiecte de acest gen?

Obțineți piese pentru 2-3 proiecte pe lună și instrucțiuni și videoclipuri pentru a le construi cu MakeCrate!

Recomandat: