AQM1602
8桁2行のAQM0802と同じくLCDコントローラーはST7032なのに、こちらは5V電源にも対応している。
なのでArduino Unoでも気軽に試せる。
バックライトなしでサイズもでかいのでシールドに載せるには躊躇してしまうが、実験(入門)用にはいいと思う。
Strawberry LinuxのI2C-LCD(http://strawberry-linux.com/catalog/items?code=27021)とコントローラーは一緒だし、aitendoの「SPLC792」(http://www.aitendo.com/product/6287)のコントローラーもコンパチの様なので同じコードで動作した。
AQM1602のキットはDIP化基板にRESETが引き出されていないので、ArduinoやPSoCを再起動するときにリセットボタンを押すだけでは動作がおかしくなることがあったが、USBを引っこ抜いて挿し直したらちゃんと動いた。
RESET Pinを引き出していない理由は不明。5V対応のためかな?と思ったけど、LCDモジュール本体も5V対応になっているし謎。
AQM1602も基板上のプルアップは有効化していないのでブレッドボード上で10kΩのRでプルアップした。
PSoCでの動かし方
PSoC Creatorのプロジェクトはgithubにあげました。
https://github.com/ryood/Pyun2Controller2_ST7032_Test
I2C LCD(ST7032)用のコードは<ST7032.c>と<ST7032.h>に分割した。
もともとのコードがPSoCのI2Cコンポーネントに依存しているので分離しきれていないですが(^q^;
こだわりだすと時間がかかりそうなので今回は妥協
PSoC 4 Pionner KitのPower Supply設定ジャンパーを3.3Vにして、LCDのV+にも3.3V給電して全体として3.3V系で動作させた。
テスタでの測定値
LCD VDD:3.41VオシロでI2Cの信号を計測
赤色がSDA、黄色がSCL
オシロのカーソルで調べるとHで3.40V程度だった。
PSoC、LCDともに5V系にしてやってみたが5V系でもちゃんと動作した。
PSoCの「I2C LCD」コンポーネント
このコンポーネントは「NXP PCF2119x」対応のコンポーネントだが、コマンドをざっと見るとST7032と似た感じなので、Exampleの「I2C_LCD_Example_PSoC4」をやってみたが、うまく動かせなかった。
I2C AddressをST7032の0x7cに変更して(main.cで定義されている)オシロでSCL、SDAの見るとACKが返ってきていたのでI2Cの通信はうまく行ってそうだが、LCDには何も表示されない。
カスタマイズすれば動かせそうだが、ベタ書きの方がわかりやすいので今回は諦めた。
PSoC Prototyping Kit
5V駆動で大丈夫ならPSoC Prototyping Kitでも動作できそうなので、Prototyping Kit用に改変してやってみた。
PSoC 4 Prototyping Kitの使い方
http://dad8893.blogspot.jp/2015/01/psoc-4-prototyping-kit.html
が、「Bootloder Host」で書き込もうと思っても
Communication port reported error 'Unable to read data from the target device'というエラーメッセージが出て書き込めなくなった。
調べるとBootloaderが壊れてしまったようだ。
http://www.cypress.com/forum/psoc-4-architecture/psoc4-unable-read-data-target-device
このスレッドを見るとPrototyping Kitを2枚使いしてBootloderを復活させる方法もあるようなので
http://www.cypress.com/knowledge-base-article/using-cy8ckit-049-program-another-psoc-4-kba93541
Prototyping Kitをあと2,3枚仕入れようかな
600円だし(^q^;
0 件のコメント:
コメントを投稿