モールス信号は、 ドット と ダッシュ と呼ばれる2つの異なる信号の持続時間で任意の文字をエンコードするための通信システムです。モールス信号はSamuelFBによって開発され、さらに秘密情報を転送するための電信で使用されます。それは第二次世界大戦の時に最も使用されました。モールス信号は、タップ、ライトの点滅、または書き込みによって実行できます。モールス信号には、元のモールス信号と国際的なモールス信号の2つのバージョンがあります。国際モールス信号では、スペースを削除し、特定の長さのダッシュを設計することにより、元のバージョンが変更されています。モールス信号は、アルファベットと数字のエンコードに使用できます。これは主に無線および海洋通信で使用され、兵士の訓練の一部でもあります。
他の言語で発音区別符号のコードを実行するのは難しいため、言語は常にモールス信号の障壁でした。'SOS'のようなモールス信号の重要な機能と見なされる有名な単語がいくつかあります。SOSの完全な形式は、普遍的な遭難信号が危険を表すために作成されたSave OurSoulsです。
次の画像は、AからZまでのアルファベットのモールス信号を示しています。
今日、このチュートリアルでは、Arduinoを使用してモールス信号変換器を構築します。これは、シリアルモニターからの入力として任意の文字を受け取り、ブザーでモールス信号と同等のビープ音に変換します。
必要なコンポーネント
- Arduino Uno
- ブザー
- ブレッドボード
- ジャンパー線
回路図
ブザーのプラスピンをArudinoUNOの8番目のピンに接続し、マイナスピンをArduinoのアースに接続します。Arduino IDEを使用してコードをアップロードし、シリアルモニターに文字を入力してサウンドを作成します。ダッシュとドットを表示するために、LCDをArduinoに追加することもできます。
プログラミングの説明
Arduinoモールス信号ジェネレーターの完全なコードは最後にあります。ここでは、プロジェクトの動作を理解するためのプログラムについて説明します。
以下のコードは、文字列を受け取り、それをモールス信号に変換するために使用されます。
char stringToMorseCode = "";
次に、Arduinoに接続されているブザーのピンと、そのブザーによって生成されるサウンドのピッチを定義します。次に、ドットとダッシュの長さを定義します。
int audio8 = 8; //ピン8にオーディオを出力します intnote = 1200; //音符/ピッチ intdotLen = 100; //モールス信号の長さ 'dot' int dashLen = dotLen * 3; //モールス信号の長さ 'ダッシュ'
では 、ボイドループ() シリアルデータが利用可能である場合、関数、それが変数に保存されます INDATA 。次に、コマンド inData を使用して文字を1つずつ読み取ります。コマンド variable.toUppercase() は、小文字を大文字に変更するために使用されます。次に、すべてのキャラクターに応じたサウンドを作成します。
void loop() { char inChar = 0; char inData = ""; // 6文字のデータ長 Stringvariable = ""; 文字列variable1 = ""; int index1 = 0; if(Serial.available()> 0){ while(Serial.available()> 0 && index1 <100) { delay(100); inChar = Serial.read(); inData = inChar; index1 ++; inData = '\ 0'; } variable.toUpperCase(); for(byte i = 0; i <100; i ++){ variable.concat(String(inData)); } delay(20);
以下の関数 MorseDot と MorseDash は、それぞれドットとダッシュのサウンドを作成するために使用されます。
void MorseDot() { tone(audio8、note、dotLen); //トーン delay(dotLen);の 再生を開始します //この位置に保持} void MorseDash() { tone(audio8、note、dashLen); //トーン delay(dashLen);の 再生を開始します //この位置に保持}
GETCHARの 機能は、すべてのアルファベットのコードを持っています。したがって、アルファベットを入力するたびに、この関数からそれぞれのモールス信号が取得され、特定のサウンドが作成されます。
void GetChar(char tmpChar) { switch(tmpChar){ case'a ': MorseDot(); delay(100); MorseDash(); delay(100); ブレーク; ... ... ... デフォルト: 休憩; } }
次に、Arduino IDEを使用してコードをArduinoにアップロードし、シリアルモニターに任意の文字を入力し、Enterボタンを押して文字をArduinoに送信します。
ここでは、普遍的な遭難信号である「SOS」と入力して、同じ音を作成しました。
同じことのデモンストレーションは、以下のビデオで与えられます。