fc2ブログ

タッチキーボード PianoKB

I2C接続のタッチキーボードPianoKBを作りました。
Arduino UNO/micro:bit/Raspberry Pi/M5stack/IchigoJamに対応しています。
micro:bitではエッジコネクタ(秋月電子C-13912)を別途購入して取り付けて下さい。
詳しくは、こちら... PianoKB_210309B.pdf
IMG_20210103_092849.jpg

IchigoJam互換機J@mbit(ジャムビット)

IchigoJam*互換機J@mbit(ジャムビット)を開発しました。
*IchigoJam は 株式会社jig.jp の登録商標です。
詳細仕様はこちら:
IMG_9803.jpg
IchigoJam用ファームウェアを書き込んだ場合は、BASICを用いてプログラミングを行うことができます。基本的にはPS/2キーボード(ただし、USB形状)とビデオ入力のあるテレビを接続して使用します。なお、J@mbitの標準的なモデルではUSBシリアル変換基板が付属し、5V(キーボード用)と3.3V(マイコン用)の電源供給はこの基板から行います。また、この基板によりパソコンとの通信も可能であり、Tera Term等端末ソフトを用いたプログラム開発が可能です(キーボード/テレビ不要)。また、ファームウェアの書き込みも可能です。
IMG_9798.jpg

また、白黒液晶(CH12864F-SPI)もサポートされています(ただし、16字x8行表示)。
IMG_9805.jpg
J@mbit-v7では通常のIchigoJamよりも容量の大きいマイコンLPC1114/333を搭載しており、IchigoCake**用BASICを書き込むこともできます(4KBのプログラミングが可能)。
**:ナチュラルスタイル株式会社による開発
IMG_8069.jpg
J@mbitはmicro:bitと類似の形状(ただし、縦に8mm程度長い。横もほんの少し長いです。)により、mciro:bit周辺機器の利用や各種機器への組み込みが容易になっています。
IMG_E9970.jpg
また、ネジ止め端子でmicro:bitと接続することができ、J@mbitをmicro:bitの周辺機器として使用することもできます(NTSCビデオ出力又はPS/2キーボード入力用の周辺機器としての利用可能)。
IMG_9807.jpg
エッジコネクタは電源やI2Cの位置をmicro:bitと合わせていますので周辺機器は利用できることがあります(下記はPCA9685-I2Cサーボドライバの例)。
IMG_9999.jpg
その他利用できるmicro:bit周辺機器があります(下記はツインドリルジェットモグラ号の例:P13-16に割り当てれたOUT3-6により制御可能です)。
IMG_8445.jpg
なお、エッジコネクタのSPI信号の位置はmicro:bitと互換性がありません(P13-15はSPIではない)。IchigoJamではSPIはビデオ出力や液晶制御に使用されており、通常利用できません。OUT3-5を用いてソフトでSPIを実現してください。
=======================================================

サウンドグラフィックボードPC-CHARM

micro:bit/Arduino/IchigoJam対応のサウンドグラフィックボードPC-CHARMです。PanCakeのファームウェア(株式会社ナチュラルスタイルの開発)によりNTSCビデオ出力のグラフィックや和音サウンド(モノラル)が利用できます。シリアル通信でコマンドを送ることで線を引いたり、メロディー等を流すことができます。
(サンプルプログラムを含む資料はこちら:pccharmv6.pdf)

以下で販売中です:
スイッチサイエンス https://www.switch-science.com/catalog/6417/
PCN秋葉原 https://assemblage.tokyo/ (店頭のみ)


PC-CHARM(PanCake)仕様:
  解像度 : 80*45 dot
  色数  : 16 colors
  SPRITE: 16 sprites
  音本数 : 4 channels
  音色数 : 4 timbres
  音域  : 8 octaves
  MML   : 64 notes / channel
  NTSC  : Non-Interlace Color
電源電圧: 3.3V
シリアル通信:片方向、115200baud、5Vトレラント

(1)micro:bitとの接続は、P2,3V,GNDの3端子のネジ止めにより行います。
加速度センサー値描画プログラム:

UFOシューティングゲームの例:https://makecode.microbit.org/_2oVhgr54EKtp

(2)Arduinoとの接続は長辺にピンヘッダーを半田付けして接続します。Arduinoの横に取り付ける場合は、写真のように基板の上側(部品面側)にピンが出るように半田付けします。なお、基板の下側にピンがでるよう半田付けした場合は、Arduinoの上に取り付けることになります。その場合は、後述の(3)のIchigoJamとの兼用はできません。
Arduinoでの利用例
なお、下の写真のようにA1ピンの位置にもピンヘッダーを実装できますが、非接続なので任意です。また、VINとA0の間の位置はArduino側にソケットがないので写真のようにピンを抜いてもいいです(抜いた方が分かりやすいと思います)。
Arduino用ピンヘッダーの実装例

(3)IchigoJamとの接続は中央付近のスルーホールにピンヘッダーを下向きに半田付けして行います。
IchigoJamでの利用例
ただし、下の写真に示すようにP1にはピンヘッダーを実装しないでください。P1はmicro:bitのP1信号です。
IchigoJam用ピンヘッダーの実装例

PC-CHARM(PanCake)は電源投入時に以下の写真の初期画面が表示され、起動メロディーが流れます。(テレビの音量に注意してください)
初期画面


その他

テレビとの接続にはステレオミニプラグ-ピンプラグのケーブルを使用します。百円ショップで売っていることもあります。白いピンはビデオ信号なのでテレビの黄色の入力に接続します。赤いピンはオーディオ信号なのでテレビの赤か白の入力に接続します(左右の片側しか音は出ません)。

テレビとの接続ケーブル

PanCakeのコマンド仕様に関してはWeb上の下記資料等を参照してください。
 ファームウェア開発元の株式会社ナチュラルスタイル作成の資料:
  http://pancake.shizentai.jp/  (ダウンロードし解凍しreadme.txt)



8桁14セグLED基板

8桁の14セグLEDを搭載した表示基板を作製ました。
シフトレジスタ74HC595を3個使って、ArduinoからはSPI制御でダイナミック点灯させています。
複数枚を直列接続すれば桁数を拡張できます。

ピン配置は以下、
RK:パラレルラッチクロック(Arduino pin 10)
SK:シフトクロック(Arduino pin 13)
SI:シリアルデータ入力(Arduino pin 11)
V:+5V電源
G:GND
(SO:拡張用シリアルデータ出力)

サンプルプログラムは以下で公開中
14セグ表示基板(74HC595x3駆動)

紫外線LEDと蛍光アクリルで作ったNeo7SEG

紫外線LEDと蛍光アクリルを組み合わせた新しいタイプの7セグ:Neo7SEGを試作してみました。
シフトレジスタ制御なのでArduino等からも簡単制御!
1桁のユニットを直列接続することで桁数を増やせます。
Neo7SEGx2桁

プロトタイプは基板なしで抵抗を熱収縮チューブに入れて配線しただけのものをArduinoでパラレル駆動して表示確認しましたが、桁数を増やせるようにシフトレジスタによる直列制御の基板を設計しました。Neo7SEG基板設計

基板はシフトレジスタ74HC595、3mm紫外線LED、抵抗、コネクタを接続するだけの簡単なものです。 コネクタはシフトレジスタを直列接続でるようになっています。右側コネクタが入力で、上からラッチ、クロック、シリアルデータ(入力)、VDD、GNDの順です。左側コネクタはシリアルデータが出力になっています。
Neo7SEG基板

表示部は3層構造で、3セグメント、2セグメント、3セグメントを駆動します。蛍光アクリルのセグメントを狙い撃ちするように配置されています。下記写真は1層目と2層目。 Neo7SEG:1層目、2層目

1層目と2層目を重ねわせたものに3層目を重ねます。 Neo7SEG:1+2層目、3層目

下記写真は3層分を重ねたものです。これを基板に差し込めば完成します。LEDのリードが多いので差し込むのはかなり難しいです。 Neo7SEG-LED部完成品

4桁分を直列接続すると時計や気圧表示に使えます。写真は気圧を表示しています:996.2hPa。
台風の時にも試したのですが、気圧が刻々と変化するのが遠くから確認でき便利でした。
1000hPa以上の場合は小数点以下の表示を省略すればいいですね。Neo7SEGx4桁