Ang Morse code ay isang sistema ng komunikasyon upang ma-encode ang anumang character sa dalawang magkakaibang tagal ng mga signal na tinatawag na Dots at Dashes . Ang Morse code ay binuo ng Samuel FB at karagdagang ginamit sa telegraphy para sa paglilipat ng lihim na impormasyon. Ito ay pinaka ginamit noong panahon ng World War II. Ang isang Morse code ay maaaring gumanap sa pamamagitan ng pag-tap, pag-flash ng ilaw o pagsulat. Magagamit ang Morse code sa dalawang bersyon, ang orihinal at ang international morse code. Sa international morse code, ang orihinal na bersyon ay binago sa pamamagitan ng pag-alis ng mga puwang at pagdidisenyo ng mga gitling sa isang tukoy na haba. Magagamit ang Morse code para sa pag-encode ng mga alpabeto at numero. Pangunahin itong ginagamit sa komunikasyon sa radyo at karagatan at bahagi din ng pagsasanay para sa mga sundalo.
Ang wika ay palaging hadlang sa Morse code, dahil mahirap gampanan ang code para sa mga diacritic character sa ibang wika. Mayroong ilang mga tanyag na salitang isinasaalang-alang bilang mahalagang tampok ng Morse code tulad ng 'SOS'. Ang buong form ng SOS ay ang I-save ang Aming Mga Kaluluwa na nilikha bilang isang unibersal na signal ng pagkabalisa na kumakatawan sa panganib.
Ipinapakita ng imahe sa ibaba ang Morse code para sa mga alpabeto mula A hanggang Z.
Ngayon sa tutorial na ito magtatayo kami ng isang Morse Code Translator gamit ang Arduino na kukuha ng anumang character bilang isang input mula sa serial monitor at i-convert ito sa Morse code na katumbas na beep ng buzzer.
Kinakailangan ang Mga Bahagi
- Arduino Uno
- Buzzer
- Breadboard
- Jumper wires
Diagram ng Circuit
Ikonekta ang positibong pin ng buzzer sa ika- 8 na pin ng Arudino UNO at ang negatibong pin sa lupa ng Arduino. I-upload ang code gamit ang Arduino IDE at i-type ang mga character sa serial monitor upang lumikha ng tunog. Ang isang LCD ay maaari ring maidagdag kasama ng Arduino upang maipakita ang dash at mga tuldok.
Paliwanag sa Programming
Ang kumpletong code para sa Arduino Morse Code Generator ay ibinibigay sa dulo, narito ipinapaliwanag namin ang programa upang maunawaan ang pagtatrabaho ng proyekto.
Ginagamit ang code sa ibaba upang matanggap ang string ng character at pagkatapos ay i-convert ito sa morse code.
char stringToMorseCode = "";
Pagkatapos tukuyin ang pin para sa buzzer na nakakonekta sa Arduino at ang pitch para sa tunog na nabuo ng buzzer na iyon. Pagkatapos ay tinutukoy namin ang haba ng tuldok at dash.
int audio8 = 8; // output audio sa pin 8 int note = 1200; // music note / pitch int dotLen = 100; // haba ng morse code 'dot' int dashLen = dotLen * 3; // haba ng morse code na 'dash'
Sa pag- andar ng void loop () , kung magagamit ang serial data, makatipid ito sa isang variable indata . Pagkatapos ay binabasa nito ang character nang paisa-isa gamit ang command inData . Ang variable ng utos.toUppercase () ay ginagamit upang palitan ang mga maliit na character ng maliit na maliit sa maliit. Pagkatapos ay lumilikha ito ng tunog alinsunod sa bawat character.
void loop () { char inChar = 0; char inData = ""; // data haba ng 6 character String variable = ""; Variable ng string1 = ""; int index1 = 0; kung (Serial.available ()> 0) { habang (Serial.available ()> 0 && index1 <100) { pagkaantala (100); inChar = Serial.read (); inData = inChar; index1 ++; inData = '\ 0'; } variable.toUpperCase (); para sa (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } pagkaantala (20);
Sa ibaba ang mga pag-andar na MorseDot at MorseDash ay ginagamit upang likhain ang tunog para sa tuldok at dash ayon sa pagkakabanggit.
walang bisa MorseDot () { tone (audio8, note, dotLen); // simulang maglaro ng isang pagkaantala ng tono (dotLen); // hold in this position } void MorseDash () { tone (audio8, note, dashLen); // simulang maglaro ng isang pagkaantala ng tono (dashLen); // humawak sa posisyon na ito }
Ang pagpapaandar ng GetChar ay mayroong code para sa lahat ng mga alpabeto. Kaya, tuwing nagta-type kami ng anumang alpabeto, ang kani-kanilang morse code ay kinuha mula sa pagpapaandar na ito upang lumikha ng partikular na tunog.
walang bisa ang GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); pagkaantala (100); MorseDash (); pagkaantala (100); pahinga; ... ... ... default: pahinga; } }
Ngayon i-upload ang code sa Arduino gamit ang Arduino IDE at i-type ang anumang character sa serial monitor at pindutin ang enter button upang maipadala ang mga character sa Arduino.
Dito na-type ang 'SOS' na isang unibersal na signal ng pagkabalisa, upang lumikha ng tunog para sa pareho.
Ang demonstrasyon para sa pareho ay ibinibigay sa video sa ibaba.