Sadržaj:
- Korak 1: Omogućite svojoj matičnoj ploči napajanje
- Korak 2: Uzemljite svoju pločicu
- Korak 3: Umetnite dugme
- Korak 4: Uzemljite dugme
- Korak 5: Povežite dugme
- 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 još ovakvih projekata?
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
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
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
Sada spojite žicu s bilo kojeg od GND pinova na Arduinu na negativnu liniju na vašoj ploči.
Korak 3: Umetnite 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
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
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 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 "};
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
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?
Nabavite dijelove za 2-3 projekta mjesečno i upute i video za njihovu izradu uz MakeCrate!