Sadržaj:

Arduino odašiljač Morseovog koda: 11 koraka
Arduino odašiljač Morseovog koda: 11 koraka

Video: Arduino odašiljač Morseovog koda: 11 koraka

Video: Arduino odašiljač Morseovog koda: 11 koraka
Video: Lesson 21: Using Infrared Remote Control with Arduino | SunFounder Robojax 2024, Srpanj
Anonim
Arduino odašiljač Morseovog koda
Arduino odašiljač Morseovog koda
Arduino odašiljač Morseovog koda
Arduino odašiljač Morseovog koda

U ovom ćete uputstvu koristiti Arduino Uno za stvaranje odašiljača Morseove abecede, a serijski monitor za čitanje poruka koje ste prenijeli.

Dijelovi koji će vam trebati:

Arduino Uno

Oglasna ploča

Zvučni signal

Gumbi

Kratkospojne žice

Korak 1: Omogućite svom Breadboard -u snagu

Omogućite svom Breadboard -u snagu
Omogućite svom Breadboard -u snagu

Spojite kratkospojnik sa 5V pina na vašem Arduino Uno u pozitivnu liniju na vašoj ploči.

Korak 2: Uzemljite svoju pločicu

Uzemljite svoju pločicu
Uzemljite svoju pločicu

Sada spojite žicu s bilo kojeg od GND pinova na Arduinu na negativnu liniju na vašoj ploči.

Korak 3: Umetnite gumb

Umetnite svoj gumb
Umetnite svoj gumb

Umetnite svoj gumb. Uvjerite se da su mu dvije noge sa svake strane kanala dolje na sredini vaše ploče, te da su noge čvrsto umetnute. Lako ih je saviti pri jakom pritisku, stoga pripazite dok pritisnete gumb.

Korak 4: Uzemljite svoje dugme

Uzemljite svoje dugme
Uzemljite svoje dugme

Spojite gumb na masu tako da jedan kraj umetnete u isti red s gornjom nogom gumba, a drugi kraj u negativni red koji ste prethodno spojili na masu.

Korak 5: Povežite gumb

Povežite svoje dugme
Povežite svoje dugme

Zatvorite krug gumba i dopustite Arduinu da očita svoj ulaz povezivanjem žice iz istog reda s donjim krakom gumba i iglom 7 na Arduinu.

Korak 6: Umetnite zujalicu

Umetnite zujalicu
Umetnite zujalicu

Umetnite zvučni signal tako da znak "+" na vrhu ili nešto duža noga budu na istoj strani ploče kao i vaša žica spojena na 5V.

Korak 7: Uzemljite zujalicu

Uzemljite zujalicu
Uzemljite zujalicu

Spojite gumb na masu žicom iz istog reda s kraćom nogom na negativnu liniju na ploči koju ste prethodno spojili na GND.

Korak 8: Uključite zujalicu

Napajanje zujalice
Napajanje zujalice

Omogućite zvučni signal i dopustite Arduinu da ga kontrolira žicom iz istog reda kao i njegova duža noga do pina 8 na Arduinu.

Korak 9: Napišite svoj kôd

Napišite svoj kod
Napišite svoj kod

Kopirajte i zalijepite naš kôd ili preuzmite priloženu datoteku.

statički niz Morse = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. ","-","-. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ","-.. "," E "};

statička znakovna abeceda = {'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'}; unsigned long push_length, start_push, end_push; // vrijeme za koje je gumb pritisnut int button = 7; // ulazni pin za tipku int zujalica = 8; // izlaz za pin za LED String code = ""; // niz u kojem je pohranjena jedna abeceda

void setup () {

Serial.begin (9600); pinMode (gumb, INPUT_PULLUP); // unutarnji pullup otpornik koristi se za pojednostavljenje pinMode kruga (zujalica, OUTPUT); Serial.println ("Započni svoju poruku!"); }

void loop ()

{MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // vrijeme na tonu pritiska tipke (zujalica, 150); while (digitalRead (button) == LOW) {} end_push = millis (); // vrijeme otpuštanja gumba noTone (zujalica); push_length = end_push - start_push; // vrijeme za koje je gumb pritisnut if (push_length> 50) {// kako bi se uzeo u obzir kod debouncing prekidača += dot_or_dash (push_length); // funkcija čitanja točke ili crtice} while ((millis () - end_push) <500) // ako je vrijeme između pritiska tipke veće od 0,5 s, preskočite petlju i prijeđite na sljedeću abecedu {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morseov_prevod (kod); // funkcija za dešifriranje koda u abecedu}

char dot_or_dash (duljina plovka)

{if (duljina 50) {return '.'; // ako je gumb pritisnut manje od 0,6 s, to je točka} else if (duljina> 600) {return '-'; // ako gumb pritisnete više od 0,6 sekundi, to je crtica}}

void Morse_translation (string Morsecode)

{int i = 0; if (kod == ".-.-.-") {Serial.print ("."); // za break} else {while (Morse ! = "E") // petlja za usporedbu ulaznog koda s nizom slova {if (Morse == morsecode) {Serial.print (Abeceda ); pauza; } i ++; } if (Morse == "E") {Serial.println ("Pogreška!"); // ako ulazni kôd ne odgovara nijednom slovu, pogreška}} code = ""; // vraćanje koda na prazan niz}

Korak 10: Upotrijebite serijski monitor za čitanje ispisa

Za čitanje ispisa upotrijebite serijski monitor!
Za čitanje ispisa upotrijebite serijski monitor!

Otvorite serijski monitor za pregled poruka dok pritisnete gumb za stvaranje Morzeovog koda. Upotrijebite gornji vodič za pravilno slaganje točaka i crtica!

Korak 11: Želite li više ovakvih projekata?

Želite li još ovakvih projekata?
Želite li još ovakvih projekata?

Nabavite dijelove za 2-3 projekta mjesečno te upute i video za njihovu izradu s MakeCrate-om!

Preporučeni: