Turinys:

Arduino Morzės kodo siųstuvas: 11 žingsnių
Arduino Morzės kodo siųstuvas: 11 žingsnių

Video: Arduino Morzės kodo siųstuvas: 11 žingsnių

Video: Arduino Morzės kodo siųstuvas: 11 žingsnių
Video: Создание автомата с помощью Micro:bit 2024, Lapkritis
Anonim
Arduino Morzės kodo siųstuvas
Arduino Morzės kodo siųstuvas
Arduino Morzės kodo siųstuvas
Arduino Morzės kodo siųstuvas

Šioje instrukcijoje naudosite „Arduino Uno“, kad sukurtumėte Morzės abėcėlės siųstuvą, o serijinį monitorių perskaitykite perduotus pranešimus.

Jums reikalingos dalys:

Arduino Uno

Bandomoji Lenta

Garsinis signalas

Mygtukai

Jumperio laidai

1 žingsnis: aprūpinkite maitinimą savo duonos lenta

Suteikite energijos savo duonos lentai
Suteikite energijos savo duonos lentai

Prijunkite trumpąjį laidą nuo 5 V kaiščio „Arduino Uno“prie teigiamos savo duonos lentos linijos.

2 žingsnis: įžeminkite savo duonos lentą

Įžeminkite savo duonos lentą
Įžeminkite savo duonos lentą

Dabar prijunkite laidą iš bet kurio „Arduino“GND kaiščio prie neigiamos savo duonos lentos linijos.

3 žingsnis: įdėkite savo mygtuką

Įdėkite savo mygtuką
Įdėkite savo mygtuką

Įdėkite savo mygtuką. Įsitikinkite, kad dvi jo kojos yra kiekvienoje kanalo pusėje žemyn jūsų duonos lentos viduryje, o kojos tvirtai įkištos. Jas lengva sulenkti, kai stipriai spaudžiate, todėl būkite atsargūs, kol paspausite mygtuką.

4 žingsnis: įžeminkite mygtuką

Įžeminkite savo mygtuką
Įžeminkite savo mygtuką

Prijunkite mygtuką prie žemės, įkišdami vieną galą į tą pačią eilutę kaip ir viršutinė mygtuko kojelė, o kitą galą į neigiamą eilutę, kurią anksčiau prijungėte prie žemės.

5 veiksmas: prijunkite mygtuką

Prijunkite savo mygtuką
Prijunkite savo mygtuką

Uždarykite mygtukų grandinę ir leiskite „Arduino“nuskaityti savo įvestį, prijungdami laidą iš tos pačios eilės, kaip ir apatinė mygtuko kojelė, ir „Arduino“7 kaištį.

6 veiksmas: įdėkite garsinį signalą

Įdėkite garsinį signalą
Įdėkite garsinį signalą

Įdėkite garsinį signalą taip, kad „+“ženklas viršuje arba šiek tiek ilgesnė kojelė būtų toje pačioje duonos lentos pusėje, kaip ir jūsų laidas, prijungtas prie 5 V įtampos.

7 žingsnis: įžeminkite garsinį signalą

Įžeminkite garsinį signalą
Įžeminkite garsinį signalą

Prijunkite mygtuką prie žemės laidu iš tos pačios eilės, kaip ir jo trumpesnė kojelė, prie neigiamos linijos ant duonos lentos, kurią anksčiau prijungėte prie GND.

8 veiksmas: įjunkite garsinį signalą

Įjunkite garsinį signalą
Įjunkite garsinį signalą

Suteikite signalui signalą ir leiskite „Arduino“jį valdyti laidu iš tos pačios eilės, kaip ir jo ilgesnė koja, iki 8 „Arduino“kaiščio.

9 veiksmas: parašykite savo kodą

Parašykite savo kodą
Parašykite savo kodą

Nukopijuokite ir įklijuokite mūsų kodą arba atsisiųskite pridėtą failą.

statinė styginių morzė = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. ","-","-. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ","-.. "," E "};

statinė char abėcėlė = {'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“}; nepasirašytas ilgas push_length, start_push, end_push; // laikas, kurį spaudžiamas mygtukas int mygtukas = 7; // mygtuko įvesties kaištis int buzzer = 8; // outpu pin for LED String code = ""; // eilutė, kurioje saugoma viena abėcėlė

void setup () {

Serial.begin (9600); pinMode (mygtukas, INPUT_PULLUP); // vidinis prisitraukimo rezistorius naudojamas supaprastinti grandinę pinMode (garsinis signalas, OUTPUT); Serial.println ("Pradėkite savo pranešimą!"); }

tuštumos kilpa ()

{MorseTransmission: while (digitalRead (mygtukas) == HIGH) {} start_push = millis (); // laikas paspaudus mygtuką (garsinis signalas, 150); while (digitalRead (mygtukas) == LOW) {} end_push = millis (); // laikas atleidžiant mygtuką noTone (garsinis signalas); push_length = end_push - pradžios_push; // laikas, kurį paspaudžiamas mygtukas, jei (push_length> 50) {// kad būtų atsižvelgta į jungiklio išjungimo kodą += dot_or_dash (push_length); // funkcija skaityti tašką ar brūkšnį}, o ((milis () - pabaiga_push) <500) // jei laikas tarp mygtuko paspaudimo yra ilgesnis nei 0,5 sek., praleiskite ciklą ir pereikite prie kitos abėcėlės {if (digitalRead (button) == LOW)) {goto MorseTransmission; }} Morzės_vertimas (kodas); // funkcija iššifruoti kodą į abėcėlę}

char dot_or_dash (plūdės ilgis)

{if (ilgis 50) {return '.'; // jei mygtukas paspaudžiamas mažiau nei 0,6 sek., tai yra taškas} else if (ilgis> 600) {return '-'; // jei mygtukas paspaudžiamas ilgiau nei 0,6 sek., tai yra brūkšnys}}

void Morse_translation (String morsecode)

{int i = 0; if (kodas == ".-.-.-") {Serijinis atspaudas ("."); // pertraukai} else {while (Morse ! = "E") // kilpa įvesties kodo palyginimui su raidžių masyvu {if (Morse == morsecode) {Serial.print (Alfabetas ); pertrauka; } i ++; } if (Morse == "E") {Serial.println ("Klaida!"); // jei įvesties kodas neatitinka jokios raidės, error}} code = ""; // iš naujo nustatyti kodą į tuščią eilutę}

10 veiksmas: naudokite nuoseklųjį monitorių, kad perskaitytumėte savo išvestį

Naudokite serijinį monitorių, kad perskaitytumėte savo išvestį!
Naudokite serijinį monitorių, kad perskaitytumėte savo išvestį!

Atidarykite serijinį monitorių ir peržiūrėkite pranešimus, kai paspausite mygtuką, kad sukurtumėte Morzės kodą. Naudokite aukščiau pateiktą vadovą, kad tinkamai suskirstytumėte taškus ir brūkšnius!

11 žingsnis: Ar norite daugiau tokių projektų?

Norite daugiau tokių projektų?
Norite daugiau tokių projektų?

Gaukite dalių 2-3 projektams per mėnesį ir instrukcijas bei vaizdo įrašus, kaip jas sukurti naudodami „MakeCrate“!

Rekomenduojamas: