Innehållsförteckning:

Arduino Morse Code -sändare: 11 steg
Arduino Morse Code -sändare: 11 steg

Video: Arduino Morse Code -sändare: 11 steg

Video: Arduino Morse Code -sändare: 11 steg
Video: Morse Code Converter with arduino 2024, Juli
Anonim
Arduino Morse Code -sändare
Arduino Morse Code -sändare
Arduino Morse Code -sändare
Arduino Morse Code -sändare

I denna instruerbara kommer du att använda en Arduino Uno för att skapa en Morse Code -sändare och använda den seriella bildskärmen för att läsa meddelandena du har överfört.

Delar du behöver:

Arduino Uno

Bakbord

Summer

Knappar

Bygelkablar

Steg 1: Ge din brödbräda ström

Ge ström till din brödbräda
Ge ström till din brödbräda

Anslut en bygelkabel från 5V -stiftet på din Arduino Uno till den positiva linjen på din brödbräda.

Steg 2: Jorda din brödbräda

Jorda din brödbräda
Jorda din brödbräda

Anslut nu en kabel från någon av GND -stiften på Arduino till den negativa linjen på din brödbräda.

Steg 3: Sätt in din knapp

Sätt i din knapp
Sätt i din knapp

Sätt i din knapp. Se till att två av dess ben är på vardera sidan av kanalen ner på mitten av din brödbräda och att benen sitter ordentligt. Det är lätt att böja dem när du trycker hårt, så var försiktig medan du trycker ner knappen.

Steg 4: Jorda din knapp

Jorda din knapp
Jorda din knapp

Anslut knappen till marken genom att sätta in ena änden i samma rad som det övre benet på din knapp och den andra änden i den negativa raden som du tidigare anslutit till marken.

Steg 5: Anslut din knapp

Anslut din knapp
Anslut din knapp

Stäng knappkretsen och låt Arduino läsa sin ingång genom att ansluta en tråd från samma rad som det nedre knappbenet och stift 7 på Arduino.

Steg 6: Sätt i din summer

Sätt i din summer
Sätt i din summer

Sätt i din summer så att "+" - tecknet på toppen, eller det lite längre benet, ligger på samma sida av brödbrädet som din tråd ansluten till 5V.

Steg 7: Jorda summern

Jorda summern
Jorda summern

Anslut knappen till jord med en tråd från samma rad som dess kortare ben till den negativa linjen på brödbrädet som du tidigare anslutit till GND.

Steg 8: Slå på summern

Driv summern
Driv summern

Ge ström till summern och låt Arduino styra den med en tråd från samma rad som dess längre ben till pin 8 på Arduino.

Steg 9: Skriv din kod

Skriv din kod
Skriv din kod

Kopiera och klistra in vår kod eller ladda ner den bifogade filen.

statisk String Morse = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. ","-","-. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ","-.. "," E "};

statisk tecken 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'}; osignerad lång push_length, start_push, end_push; // tid för vilken knapp som trycks int int = 7; // inmatningsstift för tryckknapp int summer = 8; // outpu pin för LED String code = ""; // sträng där ett alfabet finns lagrat

void setup () {

Serial.begin (9600); pinMode (knapp, INPUT_PULLUP); // internt pullup -motstånd används för att förenkla kretsens pinMode (summer, OUTPUT); Serial.println ("Börja ditt meddelande!"); }

void loop ()

{MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // tid vid knapptryckningston (summer, 150); medan (digitalRead (knapp) == LÅG) {} end_push = millis (); // tid vid knappsläpp noTone (summer); push_length = end_push - start_push; // tid för vilken knapp som trycks om (push_length> 50) {// för att ta hänsyn till switchens avstängningskod += dot_or_dash (push_length); // funktion för att läsa prick eller streck} medan ((millis () - end_push) <500) // om tiden mellan knapptryckning större än 0,5sek, hoppa över loop och gå till nästa alfabet {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morse_translation (kod); // funktion för att dechiffrera koden till alfabetet}

char dot_or_dash (flytlängd)

{if (längd 50) {retur '.'; // om knapptryckningen är mindre än 0,6 sekunder är det en punkt} annat ifall (längd> 600) {return '-'; // om knappen trycker mer än 0,6 sekunder är det en bindestreck}}

void Morse_translation (String morsecode)

{int i = 0; if (kod == ".-.-.-") {Serial.print ("."); // för break} else {while (Morse ! = "E") // loop för att jämföra ingångskod med bokstäver array {if (Morse == morsecode) {Serial.print (Alphabet ); ha sönder; } i ++; } if (Morse == "E") {Serial.println ("Fel!"); // om inmatningskoden inte matchar någon bokstav, error}} kod = ""; // återställ koden till den tomma strängen}

Steg 10: Använd seriemonitorn för att läsa din produktion

Använd seriemonitorn för att läsa din produktion!
Använd seriemonitorn för att läsa din produktion!

Öppna den seriella bildskärmen för att se dina meddelanden medan du trycker på knappen för att skapa Morse Code. Använd guiden ovan för att ordna dina prickar och streck på lämpligt sätt!

Steg 11: Vill du ha fler liknande projekt?

Vill du ha fler liknande projekt?
Vill du ha fler liknande projekt?

Få delar till 2-3 projekt per månad och instruktioner och video för att bygga dem med MakeCrate!

Rekommenderad: