カテゴリー
IchigoJam

IchigoJamのBluetooth キーボード化

 IchigoJamマイコンボードに接続した有線のPS2キーボードから入力した文字をBluetoothで送信し、パソコンやiPhone、Android等のキーボードとして使用する実験を行いました。
(純正のIchigoJamにBluetoothモジュールRN-42を接続する方法は後述。)
[ キーボード ]—[ IchigoJam ] — [ RN-42XVP ]  –  –  (bluetooth) –  – [ PC スマホ等 ]
 写真はCQ出版から発売予定のIchigoJam用マイコンボード「Personal Computer」基板、Wireless Shield基板、Keypad Shield基板の3枚を重ねて接続し、別売のBluetoothモジュールRN-42XVPを接続した例です。
 この最近、Facebook IchigoJam-FANグループ内でキーボードに関する話題が続いていましたので、少し、乗っかってみました。

動かし方:

 RN-42をIchigoJamマイコンボードのシリアルに接続した状態でプログラムを実行すると、BluetoothモジュールRN-42がHIDプロファイルで動作し始めます。パソコン、iPhone、Android等からBluetoothキーボードを検索し、ペアリングします。パスワードは「1234」です。
 接続が完了するとIchigoJamマイコンボードのブザー音とともにI2C接続の液晶に「OK!」の表示が現れます。これで、準備完了です。
 PS2キーボードから文字を入力すると、入力した文字をBluetooth送信します。Keypad基板の矢印キーでカーソルを動かしたり、右下の黒いボタンで「Enter」キーを入力することも出来ます。
 パソコン側でBluetooth切断すると、プログラムも終了します。

プログラム:

' CC BY Copyright(C)2016 Wataru KUNINO
' https://bokunimo.net/ichigojam/
cls:new
1 CLS:?"Blue 2th":?"Keyboard"
10 UART1:GOSUB 800
100 K=BTN():BEEP 2-K:wait(180)
110 POKE #900,67,84,76,48+!K
120 GOSUB 900:GOSUB 500
130 if BTN()=0 GOTO 130
140 POKE #923,32,79,75,33,0:GOSUB 900
150 BEEP:LC 0,-1
200 'Key
210 K=INKEY()
220 IF K ?CHR$(K);
230 K=~IN()&#F:K=K+K>>1&4:K=K&7
240 GOSUB K*10+300
250 IF K BEEP:WAIT(30)
260 IF BTN() GOTO 200
270 BEEP 50:END
300 return
310 ?chr$(11);:return
320 ?chr$(7);:return
330 ?chr$(14);:return
340 ?chr$(12);:return
350 ?chr$(13);:return
360 ?chr$(27);:return
370 return
500 'HID
510 I=0:poke#920,72,73,68
520 gosub900:lc0,2
530 ?"$$$";:wait(60):?"SF,1"
540 wait(20):?"SM,0":wait(20)
550 ?"S~,6":wait(20):?"SA,4":wait(20):?"R,1"
560 return
800 'LCD
810 poke#700,64,0,2,#C0,57,17,#70,86,#6C,56,12
820 ifi2cw(62,#701,1,#704,5)?"E"
830 wait12
840 ifi2cw(62,#701,1,#709,2)?"E"
900 'OUT
910 ifi2cw(62,#701,1,#702,1)+i2cw(62,#700,1,#900,8)+i2cw(62,#701,1,#703,1)+i2cw(62,#700,1,#920,8)?"E"
920 return

Bluetoothモジュールの戻し方:

 下記のプログラムをご利用ください。

純正IchigoJamを使用する場合の回路:

 純正IchigoJamを使用する場合は、RN-42XVPの2番ピンと3番ピンをそれぞれIchigoJamのRXDとTXDへ、13番ピンの論理を反転してBTNへ入力してください。また、I2C液晶やブザーも取り付けてください。

AC100Vの電源不要:

 今回は、実験ということで、IchigoJamマイコンボードをアルカリ乾電池1本で動かしてみました。昇圧回路で5Vにしてから、レギュレータ(LDOタイプ)で3.3Vに落として使用しています。回路や乾電池の性能などにも影響するので、必ずしも成功するとは限りません。

課題:

 これ、何に使うの?
 逆だよ、逆。
ボクにもわかるIchigoJamマイコンボード

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es