Innholdsfortegnelse:

Arduino Morse Code -sender: 11 trinn
Arduino Morse Code -sender: 11 trinn

Video: Arduino Morse Code -sender: 11 trinn

Video: Arduino Morse Code -sender: 11 trinn
Video: Curiosity Has a Message Coded on its Wheels 2024, November
Anonim
Arduino Morse Code -sender
Arduino Morse Code -sender
Arduino Morse Code -sender
Arduino Morse Code -sender

I denne instruksen vil du bruke en Arduino Uno til å lage en Morse Code -sender, og bruke den serielle skjermen til å lese meldingene du har sendt.

Deler du trenger:

Arduino Uno

Brødbrett

Summer

Knapper

Jumper ledninger

Trinn 1: Gi strømmen til brødbrettet

Gi strøm til ditt brødbrett
Gi strøm til ditt brødbrett

Koble en startkabel fra 5V -pinnen på Arduino Uno til den positive linjen på brødbrettet.

Trinn 2: Mal ditt brødbrett

Mal ditt brødbrett
Mal ditt brødbrett

Koble nå en ledning fra en av GND -pinnene på Arduino til den negative linjen på brødbrettet.

Trinn 3: Sett inn knappen

Sett inn knappen
Sett inn knappen

Sett inn knappen. Sørg for at to av beina er på hver side av kanalen nedover midten av brødbrettet, og at beina er satt godt inn. Det er lett å bøye dem når du trykker hardt, så vær forsiktig mens du trykker ned knappen.

Trinn 4: Jordknappen

Jordknappen din
Jordknappen din

Koble knappen til bakken ved å sette den ene enden inn i samme rad som det øverste benet på knappen, og den andre enden i den negative raden du tidligere koblet til bakken.

Trinn 5: Koble til knappen

Koble til knappen
Koble til knappen

Lukk knappkretsen og la Arduino lese innmatingen ved å koble til en ledning fra samme rad som det nederste knappbenet, og pinne 7 på Arduino.

Trinn 6: Sett inn summeren

Sett inn summeren din
Sett inn summeren din

Sett inn summeren slik at "+" - tegnet på toppen, eller det litt lengre benet, er på samme side av brødbrettet som ledningen som er koblet til 5V.

Trinn 7: Jord summen

Juster summeren
Juster summeren

Koble knappen til bakken med en ledning fra samme rad som det kortere benet til den negative linjen på brødbrettet som du tidligere koblet til GND.

Trinn 8: Slå på summeren

Slå på summeren
Slå på summeren

Gi strøm til summeren og la Arduino styre den med en ledning fra samme rad som det lengre benet til pin 8 på Arduino.

Trinn 9: Skriv koden din

Skriv koden din
Skriv koden din

Kopier og lim inn koden vår, eller last ned den vedlagte filen.

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

statisk tegn 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'}; usignert lang push_length, start_push, end_push; // tid som knappen trykkes på int -knappen = 7; // inngangspinne for trykknapp int summer = 8; // outpu pin for LED String code = ""; // streng der ett alfabet er lagret

ugyldig oppsett () {

Serial.begin (9600); pinMode (knapp, INPUT_PULLUP); // intern pullup -motstand brukes til å forenkle krets pinMode (summer, OUTPUT); Serial.println ("Start meldingen din!"); }

hulrom ()

{MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // tid ved knappetrykk tone (summer, 150); mens (digitalRead (knapp) == LAV) {} end_push = millis (); // time at button release noTone (summer); push_length = end_push - start_push; // tid for hvilken knapp som trykkes hvis (push_length> 50) {// for å ta hensyn til bytte -avvisningskode += dot_or_dash (push_length); // funksjon for å lese prikk eller bindestrek} mens ((millis () - end_push) <500) // hvis tiden mellom knappetrykk er større enn 0,5 sek., hopp over sløyfe og gå til neste alfabet {if (digitalRead (button) == LOW) {gå til MorseTransmission; }} Morse_translation (kode); // funksjon for å tyde kode til alfabet}

char dot_or_dash (flytelengde)

{if (lengde 50) {retur '.'; // hvis knappetrykket er mindre enn 0,6 sekunder, er det en prikk} annet hvis (lengde> 600) {return '-'; // hvis knappen trykker mer enn 0,6 sekunder, er det en strek}}

void Morse_translation (String morsecode)

{int i = 0; if (kode == ".-.-.-") {Serial.print ("."); // for break} else {while (Morse ! = "E") // loop for å sammenligne inngangskode med bokstaver array {if (Morse == morsecode) {Serial.print (Alphabet ); gå i stykker; } i ++; } if (Morse == "E") {Serial.println ("Feil!"); // hvis inndatakoden ikke samsvarer med noen bokstav, error}} code = ""; // tilbakestill kode til tom streng}

Trinn 10: Bruk seriemonitoren til å lese utdataene dine

Bruk seriemonitoren til å lese utdataene dine!
Bruk seriemonitoren til å lese utdataene dine!

Åpne den serielle skjermen for å se meldingene dine mens du trykker på knappen for å opprette morsekode. Bruk guiden ovenfor for å sekvensere prikkene og bindestrekene dine på riktig måte!

Trinn 11: Vil du ha flere slike prosjekter?

Vil du ha flere slike prosjekter?
Vil du ha flere slike prosjekter?

Få deler til 2-3 prosjekter per måned og instruksjoner og video for å bygge dem med MakeCrate!

Anbefalt: