Mors kodu, Noktalar ve Kesik çizgiler olarak adlandırılan iki farklı sinyal süresi içinde herhangi bir karakteri kodlamak için bir iletişim sistemidir. Mors kodu, Samuel FB tarafından geliştirilmiştir ve ayrıca gizli bilgilerin aktarılması için telgrafta da kullanılmaktadır. En çok II.Dünya Savaşı sırasında kullanıldı. Bir Mors kodu dokunarak, yanıp sönen ışıkla veya yazarak yapılabilir. Mors kodu, orijinal ve uluslararası mors kodu olmak üzere iki versiyonda mevcuttur. Uluslararası mors kodunda, orijinal versiyon, boşluklar kaldırılarak ve kısa çizgiler belirli bir uzunlukta tasarlanarak değiştirilir. Mors alfabesi harfleri ve sayıları kodlamak için kullanılabilir. Çoğunlukla radyo ve okyanus iletişiminde ve ayrıca askerler için eğitimin bir parçası olarak kullanılır.
Aksanlı karakterlerin kodunu başka bir dilde uygulamak zor olduğundan, dil Mors kodu için her zaman engel olmuştur. 'SOS' gibi Mors alfabesinin önemli özelliği olarak kabul edilen bazı ünlü kelimeler var. SOS tam biçimi, Evrensel bir imdat sinyali tehlikeyi temsil ettiği için, Ruhlarımızı Kurtarın'dır.
Aşağıdaki resim, A'dan Z'ye alfabeler için Mors kodunu gösterir.
Bugün bu eğitimde, Arduino'yu kullanarak herhangi bir karakteri seri monitörden bir girdi olarak alacak ve onu zil ile Mors kodu eşdeğeri bip seslerine dönüştürecek bir Mors Kodu Çeviricisi oluşturacağız.
Gerekli Bileşenler
- Arduino Uno
- Buzzer
- Breadboard
- Atlama telleri
Devre şeması
8 buzzer olumlu pimini takın inci Arudino UNO pim ve Arduino zemine bağlı olumsuz pimi. Arduino IDE'yi kullanarak kodu yükleyin ve sesi oluşturmak için seri monitördeki karakterleri yazın. Çizgi ve noktaları görüntülemek için Arduino ile bir LCD de eklenebilir.
Programlama Açıklaması
Arduino Mors Kodu Üreticisi için tam kod sonunda verilmiştir, burada projenin çalışmasını anlamak için programı açıklıyoruz.
Aşağıdaki kod, karakter dizisini almak ve daha sonra onu mors koduna dönüştürmek için kullanılır.
char stringToMorseCode = "";
Ardından, Arduino'ya bağlı zil için pini ve bu zil tarafından üretilen ses için perdeyi tanımlayın. Sonra nokta ve tire uzunluğunu tanımlıyoruz.
int audio8 = 8; // 8. pin üzerinde ses çıkışı int note = 1200; // müzik notası / adım int dotLen = 100; // mors kodunun uzunluğu 'nokta' int dashLen = dotLen * 3; // mors kodu 'kısa çizgi' uzunluğu
In boşluk döngü () seri veri bulunup bulunmadığını fonksiyonu, bir değişken haline kurtaracak InData . Daha sonra inData komutunu kullanarak karakteri tek tek okur. Değişken.toUppercase () komutu, küçük harf karakterlerini büyük harfe dönüştürmek için kullanılır. Sonra her karaktere göre ses yaratır.
boşluk döngü () { char inChar = 0; char inData = ""; // 6 karakterlik veri uzunluğu String değişken = ""; Dize değişkeni1 = ""; int dizin1 = 0; eğer (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; index1 ++; inData = '\ 0'; } değişken.toUpperCase (); for (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } gecikme (20);
Aşağıdaki fonksiyonlar MorseDot ve MorseDash sırasıyla nokta ve tire için ses oluşturmak için kullanılır.
void MorseDot () { ton (audio8, note, dotLen); // bir ton gecikmesi çalmaya başlayın (dotLen); // bu konumda tutun } void MorseDash () { ton (audio8, note, dashLen); // bir ton gecikmesi çalmaya başlayın (dashLen); // bu konumda tutun }
GetChar fonksiyonu bütün alfabeler için kodu var. Bu nedenle, herhangi bir alfabe yazdığımızda, ilgili sesi oluşturmak için ilgili mors kodu bu işlevden alınır.
void GetChar (char tmpChar) { anahtar (tmpChar) { 'a' durumu: MorseDot (); gecikme (100); MorseDash (); gecikme (100); kırmak; ... ... ... varsayılan: molası; } }
Şimdi kodu Arduino IDE'yi kullanarak Arduino'ya yükleyin ve seri monitöre herhangi bir karakter yazın ve karakterleri Arduino'ya göndermek için enter düğmesine basın.
Burada evrensel bir tehlike sinyali olan 'SOS' yazarak aynı sesi yarattık.
Aynısı için gösteri aşağıdaki videoda verilmiştir.