Sadržaj:
- Korak 1: Omogućite svom Breadboard -u snagu
- Korak 2: Uzemljite svoju pločicu
- Korak 3: Umetnite gumb
- Korak 4: Uzemljite svoje dugme
- Korak 5: Povežite gumb
- Korak 6: Umetnite zujalicu
- Korak 7: Uzemljite zujalicu
- Korak 8: Uključite zujalicu
- Korak 9: Napišite svoj kôd
- Korak 10: Upotrijebite serijski monitor za čitanje ispisa
- Korak 11: Želite li više ovakvih projekata?
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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
Spojite kratkospojnik sa 5V pina na vašem Arduino Uno u pozitivnu liniju na vašoj ploči.
Korak 2: 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. 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
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
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 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
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
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
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
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?
Nabavite dijelove za 2-3 projekta mjesečno te upute i video za njihovu izradu s MakeCrate-om!