Arduino: zgraditi Morseove prevajalce - kako to deluje
V tem praktičnem nasvetu boste izvedeli, kako lahko z Arduino enostavno sestavite Morsejevega prevajalca.
Graditi Morseove prevajalce z Arduino - to je potrebno
Najprej seveda potrebuješ Arduino.
- Prav tako bi morali dobiti aktivni brenčač in LED.
- Buzer priključite na pin 9, LED pa na 13.
Arduino: program prevajalec Morse
Tu smo za vas programirali majhno vzorčno kodo, ki jo lahko uporabljate. Preprosto ga naložite v Arduino in zaženite serijski monitor.
- #define odpravljanje napak res
- int ledPin = 13;
- int zvočnikPin = 9;
- int smola1 = 140;
- int višina2 = 140;
- int pika = 50;
- int črtica = 3 * pika;
- String morseATable [] = {".-", "-...", "-.-.", "- ..", ".", "..-.", "-.", ". ... ", " .. ", " .--- ", " _._ ", " .- .. ", " - ", " -. ", " --- ", " .-- . ", " --.- ", " .-. ", " ... ", " - ", " ..- ", " ...- ", " .-- ", " -..- ", " -.-- ", " - .. "};
- String morseNTable [] = {"-----", ".----", "..---", "...--", "....-", "... .. ", " -.... ", " --... ", " --- .. ", " ----. "};
- nična namestitev () {
- pinMode (ledPin, OUTPUT);
- pinMode (zvočnikPin, OUTPUT);
- Serial.begin (9600);
- če (odpravljanje napak) {
- Serial.println ( "\ nzačnite");}
- }
- void loop () {
- če (res) {
- convert2Morse (Serial.readString ());
- }
- }
- void convert2Morse (String message) {
- za (int pos = 0; pos <message.length (); pos ++) {
- če (odpravljanje napak) {
- 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 tabela [sporočila [položaj] -48]);}
- če (sporočilo.charAt (pos) == 32) {
- morseLED ("");}
- če (odpravljanje napak) {
- Serial.println ();
- }
- }}
- void morseLED (zaporedje niza) {
- za (int pos = 0; pos <sekvence.length (); pos ++) {
- FlashLED (sequence.charAt (POS));}
- zamuda (2 * pika);
- }
- void flashLED (char dotOrDash) {
- če (odpravljanje napak) {
- Serial.print (dotOrDash);}
- če (dotOrDash == 46) {
- digitalWrite (ledPin, HIGH);
- ton (zvočnikPin, smola1);
- zamudo (pika);
- digitalWrite (ledPin, LOW);
- noTone (speakerPin);
- zamudo (pika);
- } else if (dotOrDash == 45) {
- digitalWrite (ledPin, HIGH);
- ton (zvočnikPin, smola2);
- zamudo (vezaj);
- digitalWrite (ledPin, LOW);
- noTone (speakerPin);
- zamudo (pika);
- } else if (dotOrDash == 32) {
- zakasnitev (pika);}
- }
V naslednjem praktičnem nasvetu vam bomo pokazali, kako lahko na modulu Arduino uporabljate GSM modul.