Sadržaj:

Arduino Morseov odašiljač: 11 koraka
Arduino Morseov odašiljač: 11 koraka

Video: Arduino Morseov odašiljač: 11 koraka

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

U ovom uputstvu ćete koristiti Arduino Uno za kreiranje odašiljača Morzeove azbuke i koristiti serijski monitor za čitanje poruka koje ste prenijeli.

Dijelovi koji će vam trebati:

Arduino Uno

Breadboard

Zujalica

Buttons

Žice za kratkospojnike

Korak 1: Omogućite svojoj matičnoj ploči napajanje

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 matičnoj 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 dugme

Umetnite svoje dugme
Umetnite svoje dugme

Umetnite dugme. Uvjerite se da se dvije njegove noge nalaze sa svake strane kanala na sredini vaše ploče, i da su noge čvrsto umetnute. Lako ih je saviti pri jakom pritisku, pa pazite dok pritisnete dugme.

Korak 4: Uzemljite dugme

Ground Your Button
Ground Your Button

Spojite dugme na masu tako što ćete jedan kraj umetnuti u isti red sa gornjom nogom vašeg dugmeta, a drugi kraj u negativni red koji ste prethodno povezali sa uzemljenjem.

Korak 5: Povežite dugme

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 svoj zujalicu
Umetnite svoj zujalicu

Umetnite zujalicu 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

Uključite zujalicu
Uključite zujalicu

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 kôd
Napišite svoj kôd

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

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

static char Alphabet = {'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 dugme pritisnuto int button = 7; // ulazni pin za taster int zujalica = 8; // izlazni pin za LED String code = ""; // niz u kojem je pohranjena jedna abeceda

void setup () {

Serial.begin (9600); pinMode (dugme, INPUT_PULLUP); // unutrašnji pullup otpornik koristi se za pojednostavljenje pinMode kola (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 dugmeta noTone (zujalica); push_length = end_push - start_push; // vrijeme za koje je dugme pritisnuto if (push_length> 50) {// kako bi se uzeo u obzir šifra debouncing koda += dot_or_dash (push_length); // funkcija čitanja tačke ili crtice} while ((millis () - end_push) <500) // ako je vreme između pritiska dugmeta veće od 0,5sek, preskočite petlju i pređite na sledeću abecedu {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morse_prevod (kod); // funkcija za dešifriranje koda po abecedi}

char dot_or_dash (float dužina)

{if (dužina 50) {return '.'; // ako pritisnete dugme manje od 0,6 sek, to je tačka} else if (dužina> 600) {return '-'; // ako dugme pritisnete duže od 0,6 sekundi, to je crtica}}

void Morse_translation (Niz morze koda)

{int i = 0; if (kod == ".-.-.-") {Serial.print ("."); // za break} else {while (Morse ! = "E") // petlja za poređenje ulaznog koda sa nizom slova {if (Morse == morsecode) {Serial.print (Abeceda ); break; } i ++; } if (Morse == "E") {Serial.println ("Greška!"); // ako ulazni kod ne odgovara nijednom slovu, greška}} code = ""; // resetiranje koda na prazan niz}

Korak 10: Upotrijebite serijski monitor za čitanje ispisa

Koristite serijski monitor za čitanje vašeg izlaza!
Koristite serijski monitor za čitanje vašeg izlaza!

Otvorite serijski monitor za pregled poruka dok pritisnete dugme za kreiranje Morzeove azbuke. Koristite gornji vodič da biste pravilno rasporedili svoje tačke i crtice!

Korak 11: Želite li još ovakvih projekata?

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

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

Preporučuje se: