秋月電子通商で販売されているI2C接続小型LCDモジュールを試食しました。
ピッチ変換基板の大きさは35mm×22mmと超小型なLCDです。
電源電圧3.3Vとなっておりますので注意が必要です。
LCDのコントローラーはST7032iが使用されてます。
PSoC Creator にはI2CLCDのコンポーネントがあり、
デフォルトではNXP PCF2119xに。。(汗
そこでお気軽に使えるようにしてみました。
【用意するもの】
I2C接続小型LCDモジュールピッチ変換キット
PSoC 5LP テストボード[QFN68][Rev.B]
MiniProg3[Rev. B]
PSoC Creator Version 2.2 SP1 CP6
PSoC Programmer
【調理のしかた】
、
1.PSoC Creatorで新規プロジェクトを作成し I2C_Master と I2C_LCD を配置します。
2.I2C_Master と I2C_LCDの各種設定をします。
I2C_LCDの『CustomCommands』は10個ほと追加します。
3.[main.c] を書き換えます。
#includevoid I2C_LCD_Position(uint8 row, uint8 column) { if(row == 0){ I2C_LCD_1_SetDDRAM(0x80u + column); }else{ I2C_LCD_1_SetDDRAM(0xC0u + column); } } void I2C_LCD_Init(void) { CyDelay(40u); //40mS 待機 I2C_LCD_1_FunctionSetNormal(); I2C_LCD_1_ReturnHome(); I2C_LCD_1_FunctionSetExtended(); I2C_LCD_1_InternalOscFrequency(); I2C_LCD_1_ContrastSet(); I2C_LCD_1_PwrIconContrast(); I2C_LCD_1_FollowerCtrl(); CyDelay(200u); //200mS 待機 I2C_LCD_1_FunctionSetNormal(); I2C_LCD_1_DisplayOn(); I2C_LCD_1_Clear(); I2C_LCD_1_EntryModeSet(); //I2C_LCD_1_WriteControl(0x0fu); //Disp:On Cursor:On Position:On } void main() { CyGlobalIntEnable; I2C_1_Start(); I2C_LCD_1_Start(); I2C_LCD_Init(); CyDelay(100u); while(1){ I2C_LCD_Position(0u,0u); I2C_LCD_1_PrintString("Hello,"); CyDelay(1000u); I2C_LCD_Position(1u,0u); I2C_LCD_1_PrintString("PSoC5LP!"); CyDelay(1000u); I2C_LCD_1_ClearDisplay(); CyDelay(1000u); } } /* [] END OF FILE */
4.PSoC 5LP テストボードとLCDモジュールを接続します。
P12[0] --- SCL
P12[1] --- SDA
+3.3V --- VDD -- RESET
GND --- GND
LCDモジュールのプルアップは忘れないでください。
5.MiniProg3 を接続して、書き込みます。
上手く書き込みはできましたか?
プロジェクトファイル一式
PSoC4でもうまく行きました。
返信削除ありがとうございます。
PSoC4での動作確認ありがとうございます~。
削除