Cuprins:
- Pasul 1: furnizați energie panoului dvs. de calcul
- Pasul 2: puneți la masă panoul dvs
- Pasul 3: introduceți butonul
- Pasul 4: împingeți la sol butonul
- Pasul 5: Conectați-vă butonul
- Pasul 6: introduceți buzzerul
- Pasul 7: legați la masă soneria
- Pasul 8: alimentați buzzerul
- Pasul 9: Scrieți codul
- Pasul 10: Utilizați monitorul serial pentru a vă citi rezultatul
- Pasul 11: Vrei mai multe proiecte de acest gen?
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Î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
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
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. 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
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
Î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 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
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
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
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
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?
Obțineți piese pentru 2-3 proiecte pe lună și instrucțiuni și videoclipuri pentru a le construi cu MakeCrate!