3月にRaspberry Piを入手して遊びましたが、今度はArduino Unoを入手しました。

所属している「防府市アマチュア無線災害ボランティア」で8月初めにイベントをやる事になって、そこで子供向けモールス体験コーナーを設ける事になりました。

最初は電鍵と発振器を置いて信号解読器で表示するようなものを置こうかと思っていました。
そこで、JA3CLM 高木OMが提供されてるDidital Sound CWを使ってモールス信号をパソコンに表示するようにしてみました。
エレキーのスピーカーから出る音をマイクで拾ってパソコンに入力してテストしてみました。
IMG_2242
とりあえず、使えそうです。

余談になりますが、このエレキーは45年以上前の大学生時代に作ったものです。実家にあったので電源を入れてみたらちゃんと動きました。パドルも大学生時代に使っていたものです。
縦振れ電鍵を持っていないのでパドルでテストしましたが、エレキーはフラットキーのジャックがあるので実際に使うときはローカルさんの持ってる縦振れ電鍵を使う予定です。

イベント用にはノートパソコンを使うのでASUS  X200MA にDidital Sound CWをダウンロードするため、Didital Sound CWのホームページを見たらイベントなどで使用できる CW Lessonと いうアプリがある事に気づきました。
「これは丁度良いではないか!」という事で、ダウンロードして動かしてみました。(^^;
しかし、パソコンからモールス音が出ません。
作者に問い合わせしたら、外部にトーンジェネレーターを付けるのが前提だそうです。
「最新のバージョンではArduino Unoを接続するようになっているので、Arduino Unoを使うと簡単で良いよ。」とお教えていただきました。

そこで、Arduinoを買ってテストしてみる事にしました。
互換機で問題ないらしいので安いものを買いました。
Arduino UNO R3 互換 ボード (SMDバージョン) Atmega328P ピンヘッダ付き 1,689円

一昨日、届きました。
IMG_2327
さっそく、IDEをダウンロードして動かしてみました。
ArduinoのホームページからIDEをダウンロードします。今回Windows App版を使いました。
IDE1
ドネーションはせずとりあえず、[JUST DOWNOAD]を選びます。
Microsoft Store アプリでMSのページに飛ぶので、アプリを取得します。
IDE3
IDEをダウンロードして起動するとテンプレートコードが表示されます。
IDE4
setup() が初期化ルーチンで、loop() がメインルーチンです。loop() 内にループするプログラムを書きます。

試しにLED点滅ソフトを入力してみました。Arduinoではプログラムを「スケッチ」と呼びますが、内容はC言語のプログラムです。
1でコンパイルされるのでエラーがないかチェックします。2はコンパイル+Arduinoへの書込みですが、先にArduinoを接続しておく必要があります。
IDE5
プログラムが出来たらスケッチをファイルに保存しておきます。
2022-06-25 (1)
プログラム名でフォルダーが出来てプログラム名.inoファイルが出来ます。
IDE8

次にUSBケーブルでPCとArduinoを接続します。このArduino Unoは互換機なのでCH340のドライバーが組み込まれました。ポートはCOM7になりました。
IDE7
IDEの[ツール]からシリアルポートをCOM7に設定します。
2022-06-25
ボードは「Arduino Uno」のままにしました。

IDEからArudinoにプログラムを書き込みます。
IDE6
Arduinoで書き込んだプログラムが動いてLEDが点滅します。12番PINにLEDを接続しました。
IMG_2329
後で気づいたのですが、基板上のLEDが13番PINに接続されているので13番PINを使えば外部にLEDを接続する必要は無かったです。(^^;

CW Lessonではブザー(セラミックスピーカー)を使うのでAmazonで以下を購入しました。
 uxcell DC 1-30V 90dB サウンドパッシブ 電子ブザーアラーム ブラック 30x 6mm 5個入り 769円

ブザーのテストのためCW Lessonのスケッチを参考にして、キー入力に合わせてブザーを鳴らすスケッチを書いてみました。
IDE9
ちゃんとブザーが鳴りました。!(^^)! パドルのDOT側のみ使いました。
IMG_2331
続けてCW Lessonをテストしましたが、問題があったので作者のJA3CLM 高木OMに調査をお願いしています。
CW Lessonの話は改めて記事にします。
(6月28日 CW Lessonの記事を書きました。CW Lesson Arduino版 を使ってみた

(おまけの昔話し)
Arduinoは以前から気になっていたのですが、使う場面が無さそうなので入手はしていませんでした。
大昔、装置開発エンジニアだった時代に組込みソフトの開発もやっていたので、8bitマイコンも使っていました。(初期は8bitしかありませんでした。)
現役時代は16bitマイコンはC言語で開発(最初はPL/Mでした)、8bitマイコンはアセンブラでした。Arduinoは8bitマイコンですが、基本はC言語でのプログラミングなんですね。
私はアセンブラでの開発が長かったで、どちらかと言うとアセンブラの方が好きです。

ArduinoはCでプログラムを書いてすぐにボードに書き込んでテスト出来るので、簡単で良いですね。
ただ、デバッグはICEを使っていた世代なのでデバッグはICEが無いとやりにくいです。ブレークポイントを設定して少しづつ流れを追っかけてデバッグしてました。