1950年代に製造されたLorenz LO15をArduino Mega 2560で制御するプロジェクトが公開された。Lorenz LO15は電話回線経由で文字を受信・印字する通信用タイプライターで、テレタイプとも呼ばれる。製作者のBrian氏は、モデムが録音音声を認識しない問題に直面したが、特許文書から通信仕様を読み解き、Arduinoで正確な信号を生成することで任意の文字列を印字できるようにした。
Lorenz LO15は、ドイツで製造された電気機械式の通信用タイプライターだ。電話回線を通じて符号化された音声信号を受信し、タイプバーを駆動して紙に文字を印字する。コンピュータ以前の時代、遠隔地との文字通信に使われていた機器で、現代のプリンター付き端末の原型ともいえる。Brian氏は前回の動画でこの機械を分解清掃し、新しいリボンを装着して動作を確認していた。
次のステップとして、TTYモデム(音響カプラー)経由でデータを送信しようとしたが、RTTYサイトで公開されている通信音声を再生しても、モデムは反応しなかった。録音の品質が原因と考えられた。
Brian氏はモデム背面のラベルに記載された特許番号を手がかりに、米国特許商標庁のWebサイトで原本を入手した。特許文書には、モデムが使用する2つの周波数(1800Hzと1400Hz)と、パルスのタイミング(最初の6パルスは22ミリ秒間隔、停止パルスは31ミリ秒)が記載されていた。
この情報をもとに、Arduino Mega 2560のtone関数を使って正確な周波数とタイミングでトーンを生成するスケッチを作成した。出力はGPIOピン8から抵抗を介して小型スピーカーに接続し、モデムの受話器部分に設置する。
最初に「A」の文字を5回送信してテストし、動作を確認した後、全アルファベットに対応するコードを実装した。この機械が使用する5ビットのBaudot符号(ITA2)はASCIIのように文字が順番に並んでいないため、ITA2コードの配列を作成してASCII文字からの変換テーブルを用意した。
さらに、この機械特有の問題にも対処した。ITA2では1つのコードが「文字モード」と「数字モード」の2種類の文字を表す。タイプバーには上下2つの文字が刻まれており、プラテンの位置で印字される文字が切り替わる仕組みだ。Brian氏はモード切り替えが必要なときだけ制御コードを送信するロジックを追加し、任意のASCII文字列を印字できるようにした。
Brian氏は、このプロジェクトを自作のリレーコンピュータとLorenz LO15を接続するための足がかりとしている。