電子工作をエンジョイする!
イーフェローズ

     
  中級編6 有機ELキャラクタモジュールによるテキスト表示
(SO1602AWGB-UC-WB-U,SO1602AWWB-UC-WB-U,SO1602AWYB-UC-WB-U)
 
     
  有機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は基板上で短絡しています。  
     
 
1 3.3V
2 GND
3 SCL
4 SDA
デュポンコネクタ4P
--------------AWG26赤---------------------------
2 5V
3 GND
LCD
--------------AWG26黒---------------------------
---------- AWG26白橙マーク----------
7 SCL
8 SDA
LCD
---------- AWG26白黄マーク----------  
   
 
     
     
     
 

有機ELキャラクタモジュール用ライブラリ so1602awxb.zip

 
  プロジェクトファイルも含めたサンプル so1602awxb_sample.zip  
  開発環境:MPLAB_IDE_8_92 + CCS-C PCMコンパイラVer.4.132  
     
 
/*****************************************************************************************
LCDモジュール(SO1602AWGB-UC-WB-U,SO1602AWWB-UC-WB-U,SO1602AWYB-UC-WB-U)
用ライブラリ 2015/2/14作成

□提供元
ZEATEC co.,ltd. 

□ご利用について
転載・無断使用可です。このライブラリを使用した上での不具合等に関しては、いかなる内容におい
ても一切の責任を追わないものとします。

□使用方法
so1602awxb_init()をスタートアップに入れ、so1602awxb_puts("アイウエオabc")で任意の文字列を表示す
る。又はprintf(so1602awxb_puts,"    %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行目表示
so1602awxb_cmd(0x80);
so1602awxb_puts("ZEATEC co.,ltd. ");
//2行目表示
so1602awxb_cmd(0xa0);
so1602awxb_puts("ZT-GSBC03 ");
 
     
     
 


 
個人情報の取り扱いについて | 特定商取引法に関する表示
Copyright (C) 2011 E-Fellows All Rights Reserved.