昔のパソコンで使われていたPS/2キーボードをI2Cに変換してみようと思いました。
I2C対応のキーボードはスイッチサイエンスさんに製品がありましたが、売り切れのようです。
マイコンはplatformioで開発できるMSP430でやろうと思います。
PS/2は5VですがI2Cは3.3Vです。たまたま部品箱にあったMT3608モジュールを使って3.3Vから5Vに昇圧します。
これでMSP430にPS/2の信号をつなげばいけると思ったらMSP430はなんと5Vトレラントでありません。
ネットで調べるとMOSFETを使ったレベル変換回路がありますが、MOSFETの手持ちがありません。
また部品箱を見たら、I2Cのレベル変換のFXMA2102がありました。これはI2C専用ではなく汎用のレベル変換でアプリケーションとしてI2Cがあるようです。
とりあえずこれを使ってみることにします。ところがオシロで信号を見ると発振して正常に動かない事があります。
どうもこのFXMA2102は動作範囲が狭くて、オシロをつなぐと正常に動かなくなるようです。
PS/2のコードこれを使いました。githubで探してみて、このコードがあったのでMSP430でやろうと思いました。
前のフランス語のファイルの記事はこのソースの事です。
とりあえすこれとI2C Slaveのコードをがっちゃんごして、キーコードが拾えるようになりました。
デバッグのためP1.0にLEDを付けました。
ちゃんと使えるようになったら、ソースは公開します。