Arduino: épít a Morse fordítókat - hogyan működik?
Ebben a gyakorlati tippben megtudhatja, hogyan lehet könnyen készíteni egy Morse fordítót Arduino-val.
Morse fordítók építése Arduino-val - erre szükség van
Mindenekelőtt természetesen szüksége van egy Arduinóra.
- Aktív hangjelzőt és LED-et is be kell szereznie.
- Csatlakoztassa a hangjelzőt a 9. érintkezőhöz és a LED-et a 13. érintkezőhöz.
Arduino: program Morse fordító
Itt beprogramoztunk egy kis mintakódot az Ön számára, amelyet szívesen használunk. Egyszerűen töltse fel az Arduino-ba, és indítsa el a soros monitort.
- #define debug true
- int ledPin = 13;
- int speakerPin = 9;
- int hangmagasság = 140;
- int pitch2 = 140;
- int pont = 50;
- int kötőjel = 3 * pont;
- Húros szerkezetű [] = {".-", "-...", "-.-.", "- ..", ".", "..-.", "-.", ". ... ", " .. ", " .--- ", " _._ ", " .- .. ", " - ", " -. ", " --- ", " .-- . ", " --.- ", " .-. ", " ... ", " - ", " ..- ", " ...- ", " .-- ", " -..- ", " -.-- ", " - .. "};
- String morseNTable [] = {"-----", ".----", "..---", "...--", "....-", "... .. ", " -.... ", " --... ", " --- .. ", " ----. "};
- érvénytelen beállítás () {
- pinMode (ledPin, OUTPUT);
- pinMode (speakerPin, OUTPUT);
- Serial.begin (9600);
- if (hibakeresés) {
- Serial.println ( "\ nMostantól");}
- }
- void loop () {
- ha (igaz) {
- convert2Morse (Serial.readString ());
- }
- }
- void convert2Morse (karakterlánc üzenet) {
- mert (int pos = 0; pos <üzenet.hossz (); pos ++) {
- if (hibakeresés) {
- 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 táblázat [üzenet [POS] -48]);}
- if (message.charAt (pos) == 32) {
- morseLED ("");}
- if (hibakeresés) {
- Serial.println ();
- }
- }}
- void morseLED (karakterlánc-sorrend) {
- mert (int pos = 0; pos <szekvencia.hossz (); pos ++) {
- FlashLED (sequence.charAt (POS));}
- késleltetés (2 * pont);
- }
- érvénytelen flashLED (char dotOrDash) {
- if (hibakeresés) {
- Serial.print (dotOrDash);}
- if (dotOrDash == 46) {
- digitalWrite (ledPin, HIGH);
- hang (hangszóróPin, hangmagasság1);
- késleltetés (dot);
- digitalWrite (ledPin, LOW);
- noTone (speakerPin);
- késleltetés (dot);
- } egyébként, ha (dotOrDash == 45) {
- digitalWrite (ledPin, HIGH);
- hangjelzés (speakerPin, pitch2);
- késleltetés (kötőjel);
- digitalWrite (ledPin, LOW);
- noTone (speakerPin);
- késleltetés (dot);
- } egyébként, ha (dotOrDash == 32) {
- késleltetés (dot);}
- }
A következő gyakorlati tippben megmutatjuk, hogyan lehet használni a GSM modult az Arduino-n.