Arduino: Morse çevirmenleri oluşturun - nasıl çalışır
Bu pratik ipucunda, Arduino'nuzla nasıl kolayca bir Mors çevirmeni oluşturabileceğinizi öğreneceksiniz.
Arduino ile Morse çevirmenleri oluşturma - bu gerekli
Her şeyden önce, elbette, bir Arduino'ya ihtiyacınız var.
- Ayrıca aktif bir sesli uyarı ve bir LED almalısınız.
- Sesli uyarıyı pim 9'a ve LED'i pim 13'e bağlayın.
Arduino: Mors Tercüman programı
Burada sizin için küçük bir örnek kod programladık. Sadece Arduino'ya yükleyin ve seri monitörü başlatın.
- #define debug true
- int ledPin = 13;
- int hoparlörPin = 9;
- int pitch1 = 140;
- int zift2 = 140;
- int nokta = 50;
- int tire = 3 * nokta;
- Dize morseATable [] = {".-", "-...", "-.-.", "- ..", ".", "..-.", "-.", ". ... ", " .. ", " .--- ", " _._ ", " .- .. ", " - ", " -. ", " --- ", ". - . ", " --.- ", " .-. ", " ... ", " - ", " ..- ", " ...- ", " .-- ", " -..- ", " -.-- ", " - .. "};
- Dize morseNTable [] = {"-----", ".----", "..---", "...--", "....-", "... .. ", " -.... ", " --... ", " --- .. ", " ----. "};
- void setup () {
- pinMode (ledPin, OUTPUT);
- pinMode (speakerPin, OUTPUT);
- Serial.begin (9600);
- if (hata ayıklama) {
- Serial.println ( "\ nstart");}
- }
- void loop () {
- if (true) {
- convert2Morse (Serial.readString ());
- }
- }
- void convert2Morse (Dize iletisi) {
- for (int pos = 0; pos <message.length (); pos ++) {
- if (hata ayıklama) {
- Serial.print (message.charAt (poz));
- Serial.print ("");
- }
- if ((message.charAt (konum)> = 97) && (mesaj.charAt (konum) <= 122)) {
- morseLED (morseATable [message.charAt (poz) -97]);}
- if ((message.charAt (konum)> = 48) && (mesaj.charAt (konum) <= 57)) {
- morseLED (mors tablo [mesaj [konum] -48]);}
- if (message.charAt (pos) == 32) {
- morseLED ("");}
- if (hata ayıklama) {
- Serial.println ();
- }
- }}
- void morseLED (Dize dizisi) {
- for (int pos = 0; pos <sıra.length (); pos ++) {
- FlashLED (sequence.charAt (poz));}
- gecikme (2 * nokta);
- }
- void flashLED (char dotOrDash) {
- if (hata ayıklama) {
- Serial.print (dotOrDash);}
- eğer (dotOrDash == 46) {
- digitalWrite (ledPin, YÜKSEK);
- ton (hoparlörPin, adım1);
- gecikmesi (nokta);
- digitalWrite (ledPin, DÜŞÜK);
- Cezayir'e (speakerPin);
- gecikmesi (nokta);
- } else if (dotOrDash == 45) {
- digitalWrite (ledPin, YÜKSEK);
- ton (hoparlörPin, adım2);
- Gecikme (çizgi);
- digitalWrite (ledPin, DÜŞÜK);
- Cezayir'e (speakerPin);
- gecikmesi (nokta);
- } else if (dotOrDash == 32) {
- gecikmesi (nokta);}
- }
Bir sonraki pratik ipucunda, Arduino'da bir GSM modülünü nasıl kullanabileceğinizi göstereceğiz.