Sisällysluettelo:

Arduino Morse Code -lähetin: 11 vaihetta
Arduino Morse Code -lähetin: 11 vaihetta

Video: Arduino Morse Code -lähetin: 11 vaihetta

Video: Arduino Morse Code -lähetin: 11 vaihetta
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Joulukuu
Anonim
Arduino Morse Code -lähetin
Arduino Morse Code -lähetin
Arduino Morse Code -lähetin
Arduino Morse Code -lähetin

Tässä ohjeessa voit käyttää Arduino Unoa luomaan Morse -koodilähettimen ja lukemaan lähettämäsi viestit sarjamonitorin avulla.

Tarvittavat osat:

Arduino Uno

Leipälauta

Summeri

Painikkeet

Hyppyjohdot

Vaihe 1: Anna virtaa leipätaulullesi

Anna virtaa leipälaudallesi
Anna virtaa leipälaudallesi

Kytke hyppyjohto Arduino Unon 5 V: n nastasta leipälevyn positiiviseen linjaan.

Vaihe 2: Maadoita leipälevy

Maadoita leipälauta
Maadoita leipälauta

Liitä nyt johto mistä tahansa Arduinon GND -nastasta leipälevyn negatiiviseen linjaan.

Vaihe 3: Aseta painike

Lisää painike
Lisää painike

Aseta painike. Varmista, että kaksi sen jalasta on kanavan molemmilla puolilla leipälaudan keskellä ja jalat ovat tiukasti paikallaan. Niitä on helppo taivuttaa, kun painat voimakkaasti, joten ole varovainen, kun painat painiketta.

Vaihe 4: Maadoita painike

Maadoita painike
Maadoita painike

Kytke painike maadoitukseen asettamalla toinen pää samaan riviin kuin painikkeen yläosa ja toinen pää negatiiviseen riviin, jonka olet aiemmin liittänyt maahan.

Vaihe 5: Yhdistä painike

Yhdistä painike
Yhdistä painike

Sulje painikepiiri ja anna Arduinon lukea tulonsa kytkemällä johdin samalta riviltä kuin alapainikejalka ja nasta 7 Arduinossa.

Vaihe 6: Aseta summeri paikalleen

Aseta summeri paikalleen
Aseta summeri paikalleen

Aseta summeri niin, että yläosassa oleva "+" -merkki tai hieman pidempi jalka on samalla leipälevyn puolella kuin 5V: n johto.

Vaihe 7: Maadoita summeri

Maadoita summeri
Maadoita summeri

Kytke painike maadoitukseen johdolla, joka on samalta riviltä kuin sen lyhyempi jalka, negatiivilevylle leipälaudalla, jonka olet aiemmin liittänyt GND: hen.

Vaihe 8: Käynnistä summeri

Käynnistä summeri
Käynnistä summeri

Anna summerille virta ja anna Arduinon ohjata sitä langalla, joka on samasta rivistä kuin sen pidempi jalka, Arduinon nastaan 8.

Vaihe 9: Kirjoita koodi

Kirjoita koodi
Kirjoita koodi

Kopioi ja liitä koodimme tai lataa liitteenä oleva tiedosto.

staattinen merkkijono Morse = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. ","-","-. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ","-.. "," E "};

staattinen char Aakkoset = {'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'}; allekirjoittamaton pitkä push_length, start_push, end_push; // aika, jonka aikana painiketta painetaan int -painike = 7; // painonapin tulotappi int summeri = 8; // outpu -nasta LED -merkkijonokoodille = ""; // merkkijono, johon yksi aakkoset tallennetaan

void setup () {

Sarja.alku (9600); pinMode (painike, INPUT_PULLUP); // sisäistä vetovoimaa käytetään piirin yksinkertaistamiseen pinMode (summeri, OUTPUT); Serial.println ("Aloita viestisi!"); }

tyhjä silmukka ()

{MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // aika painikkeen painalluksella (summeri, 150); while (digitalRead (painike) == LOW) {} end_push = millis (); // aika painikkeen vapautuksessa noTone (summeri); push_length = end_push - start_push; // aika, jonka aikana painiketta painetaan, jos (push_length> 50) {// ottaa huomioon kytkimen poistokoodi += dot_or_dash (push_length); // funktio pisteen tai viivan lukemiseen} ollessaan ((millis () - end_push) <500) // jos aika painikkeen painamisen välillä on yli 0,5 sekuntia, ohita silmukka ja siirry seuraavaan aakkostoon {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morse_translation (koodi); // -toiminto koodin tulkitsemiseksi aakkosiksi}

char dot_or_dash (kellukkeen pituus)

{if (pituus 50) {return '.'; // jos painiketta painetaan alle 0,6 sekuntia, se on piste} else if (pituus> 600) {return '-'; // jos painiketta painetaan yli 0,6 sekuntia, se on viiva}}

void Morse_translation (String morsecode)

{int i = 0; jos (koodi == ".-.-.-") {Sarjanjälki ("."); // taukolle} else {while (Morse ! = "E") // silmukka syöttökoodin vertaamiseksi kirjaintaulukon kanssa {if (Morse == morsecode) {Serial.print (Aakkoset ); tauko; } i ++; } if (Morse == "E") {Serial.println ("Virhe!"); // jos syöttökoodi ei vastaa mitään kirjainta, error}} code = ""; // palauta koodi tyhjäksi merkkijonoksi}

Vaihe 10: Käytä sarjamonitoria tuloksen lukemiseen

Käytä sarjamonitoria tuloksen lukemiseen!
Käytä sarjamonitoria tuloksen lukemiseen!

Avaa sarjamonitori nähdäksesi viestisi samalla kun painat painiketta luodaksesi Morse -koodin. Käytä yllä olevaa opasta pisteiden ja viivojen järjestykseen!

Vaihe 11: Haluatko lisää tällaisia projekteja?

Haluatko lisää tällaisia projekteja?
Haluatko lisää tällaisia projekteja?

Hanki osat 2-3 projektiin kuukaudessa ja ohjeet ja video niiden rakentamiseen MakeCraten avulla!

Suositeltava: