JH1LHVの雑記帳

和文電信好きなアマチュア無線家の雑記帳

スポンサーリンク

ARDUINO CW KEYER を試してみた ~その50~ (Mega2560 Pro Mini ボード)

Arduino USB Host Shield で USB キーボードを使う試み。

この K1NG の CW Keyer は、PS/2 キーボードが使える仕様になってますが、かなりのクセありで、使えるキーボードがとても少ないのが難点です。

ということで、マイコンボードも mega2560 になったことだし、メモリ容量も気にすることもなくなったので、Arduino Uno のシールドの USB Host Shield でも使ってみようかと、いろいろやってみました。

最初に結論から。

mega2560 と USB Host Shield のインターフェースは SPI 通信なんですが、すでにこの端子は送信機の CW ジャックの接続で使われているため、このままでは動作しません。

SPI (SS、MOSI、MISO、CLK)で使う、D10 ~ D13 を空ける必要があります。

f:id:JH1LHV:20200322171147j:plain
https://radioartisan.files.wordpress.com/2011/03/k3ng-keyer-schematic-2012052101.png

K1NG の回路では、SPI 端子を送信機の接続に割り当てています。

f:id:JH1LHV:20200322172456j:plain

わたしの回路でも、K1NG と同じ D11(MOSI)、D12(MISO)を送信機へ接続しているので、USB Host Shield を使うためには、この D11 と D12 を解放させる必要があります。

Mega2560 Pro Mini ボードで、USB Host Shield は使えるか?

そもそも、mega2560 で USB Host Shield は使えるのか、検証です。
さて、USB キーボードは使えるのでしょうか。

Arduino Uno の SPI は、D10(SS)、D11(MOSI)、D12(MISO)、D13(CK)を使いますが、mega2560 では、ここに SPI 信号は出てないので、SPI と D11~D13 でジャンパする必要があります。
 

f:id:JH1LHV:20200322170544j:plain
手持ちの3種の USB Host Shield で試してみました。

f:id:JH1LHV:20200322175624j:plain
Mega2560 Pro Mini ボードに、USB Host Shield を重ねます。

f:id:JH1LHV:20200322180015j:plain

f:id:JH1LHV:20200322180426j:plain
mega2560 は、四角で囲んだ専用の SPI と、丸で囲んだ D50 ~ D52 と、2カ所に SPI は出てることになってるんですが、専用 SPI の方じゃないとダメでした。 
 

f:id:JH1LHV:20200322130347j:plain
mega2560 の SPI に L型のピンヘッダを付けちゃったので、USB Host Shield とジャンパ線で接続しました。

SPI の通信は D50 ~ D52 を使えばいいと思い、基板も作ったんですが・・・
この端子じゃダメだったとは・・・
確認するまで、けっこうハマりました。。。 

USB キーボードの接続試験では、ここのスケッチを使いました。

f:id:JH1LHV:20200322182056j:plain
ちゃんと動作することを確認しました。

f:id:JH1LHV:20200322132732j:plain

f:id:JH1LHV:20200322183039j:plain
GAOHOU Mini USB Host Shield は・・・ダメでした。

オシロで確認したら、最初のクロックが出てないし。。。
物理的に壊れているのか、それともただの使い方の問題なのか・・・
今、AliExpress に2個ほど注文してるので、到着したら再チャレンジしてみようかと思います。

ちなみに、大きい方の2つは、どちらもちゃんと動作しました。

ということで、USB キーボードが使えるように、CW Keyer メイン基板の IO 割り当てを見直して、新たに基板を発注したいと思います。

あ~ぁ、こういうことばっかりして・・・・連休が終わっちゃいました。。。トホホ。