有機ELのキャラクタモジュールを早速試してみました。 視認性がとてもいいのでいろんなところに使いたくなります。キャラクタモジュール側の1,3,4と8,9は短絡しています。
使用機器は下記のとおり。他、パソコンや電源、PICKIT2も当然ながら必要です。LCDは3.3V定格と書いていますが、5Vでも使用できました。
I2C接続小型キャラクタLCDモジュール
Sunlike Display Tech. Corp. SO1602AWGB-UC-WB-U,
SO1602AWWB-UC-WB-U,SO1602AWYB-UC-WB-U
マイコンボード(PIC16F1947搭載)
ZEATEC co.,ltd. ZT-PIC16F194701(3.3V仕様)
接続に関してはいたって簡単。CPUボードにあらかじめ必要回路が実装されているため4本の足を伸ばして接続するだけ。今回はデュポン(QIコネクタ)コネクタを使用して配線しました。キャラクタモジュールの1,3,4と8,9は基板上で短絡しています。
有機ELキャラクタモジュール用ライブラリ so1602awxb.zip
プロジェクトファイルも含めたサンプル so1602awxb_sample.zip
開発環境:MPLAB_IDE_8_92 + CCS-C PCMコンパイラVer.4.132
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
/******************************************************************************* LCDモジュール(SO1602AWGB-UC-WB-U,SO1602AWWB-UC-WB-U,SO1602AWYB-UC-WB-U) 用ライブラリ 2015/2/14作成 □提供元 ZEATEC co.,ltd. □ご利用について 転載・無断使用可です。このライブラリを使用した上での不具合等に関しては、いかなる内容におい ても一切の責任を追わないものとします。 □使用方法 so1602awxb_init()をスタートアップに入れ、so1602awxb_puts(<span style="color: #0000ff;">"アイウエオabc")で任意の文字列を表示す る。又はprintf(so1602awxb_puts,<span style="color: #0000ff;">" %02x:%02x:%02x ",hour,min,sec);でprintfを使用して出 力する。 I2Cはハードウェア制御を推奨とし、宣言例は下記のとおり。 #use i2c(MASTER, SDA=PIN_C4, SCL=PIN_C3,SLOW,FORCE_HW)//FAST=400kbps SLOW=100kbps ピンアサインはPIC16F1947で使用した場合とします。 *******************************************************************************/ void so1602awxb_cmd(char c){ //スタートコンディションを発行する i2c_start(); //LCDのアドレス i2c_write(0x78); // control byte の送信(コマンドを指定) i2c_write(0x00); // data byte の送信 i2c_write(c); // ストップコンディションを発行する i2c_stop(); } void so1602awxb_init(){ so1602awxb_cmd(0x01);//クリアーディスプレイ so1602awxb_cmd(0x02);//カーソルを初期値にする so1602awxb_cmd(0x0c);//ディスプレイオン(0x0c,0x0dならチラつき無い) so1602awxb_cmd(0x01);//クリアーディスプレイ } void so1602awxb_puts(char s){ //so1602awxb_cmd(0x01);//クリアーディスプレイ //スタートコンディションを発行する i2c_start(); //LCDのアドレス i2c_write(0x78); i2c_write(0x40); i2c_write(s) ; // data byte の送信(連続送信) i2c_stop(); } void so1602awxb_contrast(int cont){ so1602awxb_cmd(0x2a);//RE=1 so1602awxb_cmd(0x79);//SD=1 so1602awxb_cmd(0x81);//コントラストセット so1602awxb_cmd(cont);//コントラスト値 so1602awxb_cmd(0x78);//SDを0に戻す so1602awxb_cmd(0x28);//2C=高文字 28=ノーマル } |
1行目と2行目と指定して表示するには下記の様にする。
1 2 3 4 5 6 |
//1行目表示 so1602awxb_cmd(0x80); so1602awxb_puts("ZEATEC co.,ltd. "); //2行目表示 so1602awxb_cmd(0xa0); so1602awxb_puts("ZT-GSBC03 "); |
©ZEATEC co.,ltd.