2019年11月25日月曜日

IchigoBoy Pocket Kit 98%をつくってみた

従来のIchigoBoy Pockeはチップ部品を多用していたので主に完成品で提供していました。

名前は IchigoBoyPocket Kit98%

CPU以外をリード部品に置き換えてみました。
コネクタとスイッチの位置についてはできるだけ同じにしています。

電源のUSBコネクタは、リード部品といえるかどうか微妙です。(^^;;
EEPROMもDIPが使えたのはラッキ―でした。面実装タイプも使えます。
全部で約50個のパーツが載りますがCPUが唯一半田付けしてあります。つまり2%だけできているので98%キットと言うわけです。
もちろんIchigoJamBasicは書き込み済みです。

スライドスイッチは脚付きタイプと従来品の両方が使えます。
OUT1~6を引き出せるスルーホールを大きくしたので工作に使いやすくなったと思います。

PCとつないでプログラムやファームウエアのアップデートできます。(ソケット付き)

基板の写真 大きさはIchigoBoyより少し小さいです。


表 緑色はコンバータモジュールです。

裏 電池ホルダは両面テープで固定します。

回路図

回路図

PDF版はこちらから。

作り方について 

部品が小さめで、50点と多めなので中級者のかた以上にお勧めします。
配置が密で両面実装していますので、順番によっては難易度が上がります。
小さな部品から付ければ問題はないはずです。

添付の説明書はここからご覧ください。これがすべてです。
22KΩ(赤赤橙金)と2.2KΩ(赤赤赤金)がとてもよく似ているので間違えないようにしてください。

では、ゆっくりと、半田付けをご堪能ください。

LINK他

IchigoJamはjig.jpの登録商標です。
詳しくはこちら


2019年11月16日土曜日

IchigoJamのI/Oを増やしてみる

IchigoJamは28ピンのLSIを使っているので、IO端子数が結構厳しいです。
そこで、これを増やす方法を考えました。

端子を増やすにはエキスパンダを使う。

エキスパンダって白黒のかわゆい希少動物ではなく、Expandするヤツです。
ふと目についたこれ。

タイトルは、「キャラクタLCDをシリアル接続するアダプタ」です。
キャラクタLCDは最低でも7ピン必要なのですが、マイコンで7本のピンが残っていないときシリアル接続するための基板です。LCD用ですが、中を見ると「PCF8574」が使われていてこれを調べると「汎用IOエキスパンダ」でした。つまり、汎用品を使ってLCD基板を作っています。
ならば、汎用エキスパンダにも使えるはずということで、試してみました。

IchigoBoyPocketにつないでいます。
4ピン部分をROMソケットにつなぎます。IchigoJamの配置とはSDAとSCKが逆なのでそのままでは刺せません。私は配線に変えてつなぎました。
16ピン側がLCDに行く線ですが、これのDB7~DB4,E,R/W,RSの7本が使えます。

ポイントは、

  • READするポートは1をWRITEしておく事
  • I2Cアドレスが2種類あること(#27、#3FでICの種類で変わります。)
  • IchigoJamのROMソケットとは信号が逆順だった。

アドレスが2種類あるので注意が必要です。各々7アドレス追加でき8個を同時につなぐことができます。
単純にここを1バイトI2CWすれば書き込むことができるし、1バイトREADすれば読み出せます。1ビットごとではなく8ビット同時です。
まずは読み出しサンプルプログラムです。行60で#FFをOUTしておきます。
10 'IO Expander
50 POKE#700,255
60 R = I2CW(#3F,#700,1)
100 for i = 0 to 255
110 poke#700, i
120 R = I2CR(#3f,#700,1)
125 ?BIN$(PEEK(#700))
130 NEXT
140 GOTO 100

次は書き込みサンプルプログラムです。

10 'IO Expander OUT
100 for i = 0 to 255
110 poke#700, i
120 R = I2CW(#3f,#700,1)
125 ?I
130 NEXT
140 GOTO 100
ここまでは、簡単ですね。
手元のアダプタでは次のような対応でした。
Jam    アダプタ
Bit7             DB7
Bit6             DB6
Bit5             DB5
Bit4             DB4
Bit3            なし。読むとゼロです。
Bit2    E
Bit1            R/W
Bit0            RS
注:読むときはOUT=1にすること。
注:アドレスは#27と#3Fがあるので動かないときは両方試すとよいかも。

これを使って電子工作してみましょう。

 追加でスイッチをつないだり、モーターをつないだりできますね。
電子工作するときに便利そうです。