Arduino: bygg Morse-översättare - hur det fungerar
I det här praktiska tipset lär du dig hur du enkelt kan bygga en Morse-översättare med din Arduino.
Bygga Morse-översättare med Arduino - detta behövs
Först och främst behöver du naturligtvis en Arduino.
- Du bör också få en aktiv summer och en lysdiod.
- Anslut summern till stift 9 och lysdioden till stift 13.
Arduino: program Morse-översättare
Här har vi programmerat en liten provkod för dig, som du är välkommen att använda. Ladda bara upp det till Arduino och starta seriemonitorn.
- # definiera felsökning sant
- int ledPin = 13;
- int speakerPin = 9;
- int pitch1 = 140;
- int pitch2 = 140;
- int dot = 50;
- int streck = 3 * punkt;
- String morseATable [] = {".-", "-...", "-.-.", "- ..", ".", "..-.", "-.", ". ... ", " .. ", " .--- ", " _._ ", " .- .. ", " - ", " -. ", " --- ", " .-- . ", " --.- ", " .-. ", " ... ", " - ", " ..- ", " ...- ", " .-- ", " -..- ", " -.-- ", " - .. "};
- String morseNTable [] = {"-----", ".----", "..---", "...--", "....-", "... .. ", " -.... ", " - ... ", " --- .. ", " ----. "};
- ogiltig installation () {
- pinMode (ledPin, OUTPUT);
- pinMode (speakerPin, OUTPUT);
- Serial.begin (9600);
- if (felsökning) {
- Serial.println ( "\ nstart");}
- }
- void loop () {
- om (sant) {
- convert2Morse (Serial.readString ());
- }
- }
- void convert2Morse (String meddelande) {
- för (int pos = 0; pos <meddelande.längd (); pos ++) {
- if (felsökning) {
- Serial.print (message.charAt (pos));
- Serial.print ("");
- }
- if ((message.charAt (pos)> = 97) && (message.charAt (pos) <= 122)) {
- morseLED (morseATable [message.charAt (pos) -97]);}
- if ((message.charAt (pos)> = 48) && (message.charAt (pos) <= 57)) {
- morseLED (morse tabell [meddelandet [pos] -48]);}
- if (meddelande.charAt (pos) == 32) {
- morseLED ("");}
- if (felsökning) {
- Serial.println ();
- }
- }}
- void morseLED (strängsekvens) {
- för (int pos = 0; pos <sekvens.längd (); pos ++) {
- FlashLED (sequence.charAt (pos));}
- fördröjning (2 * punkt);
- }
- void flashLED (char dotOrDash) {
- if (felsökning) {
- Serial.print (dotOrDash);}
- if (dotOrDash == 46) {
- digitalWrite (ledPin, HIGH);
- ton (speakerPin, pitch1);
- fördröjning (dot);
- digitalWrite (ledPin, LOW);
- noTone (speakerPin);
- fördröjning (dot);
- } annat om (dotOrDash == 45) {
- digitalWrite (ledPin, HIGH);
- ton (speakerPin, pitch2);
- fördröjning (streck);
- digitalWrite (ledPin, LOW);
- noTone (speakerPin);
- fördröjning (dot);
- } annat om (dotOrDash == 32) {
- fördröjning (dot);}
- }
I nästa praktiska tips visar vi dig hur du kan använda en GSM-modul på Arduino.