2014年9月12日金曜日

Arduino I2C Module

LCDのパラレル通信をI2C通信に変換するModuleである。また、LCD自体にI2C機能を含めたModuleも販売されている様だ。I2Cを使えば、配線の省力化、I/Oポートの削減に有効である。Arduinoから簡単に使う事が出来る。BASCOMでも使えるが、FREE版ではメモリー制限によって厳しいかも知れない。入手先は、AliexpressでLCD I2Cで検索すれば、見つかる筈だ。価格は、US$1.2/piece位。 
Arduino UNOで試験をした。ライブラリー入手先が販売サイトに書かれてある。無論、Arduinoサイトからも入手できるが、販売サイトに書いて有る所から入手した。ダウンロードしたファイルに、回路図も含まれているが、入手したModuleと異なる。 
I2C Moduleから回路図にした。アドレス設定は、A0、A1、A2のパットで行う。初期値は、A0、A1、A2が全てOPENの為、27Hである。     












PROGRAM

ダウンロードしたプログラムに書いて有るアドレスは、20Hである。I2C Moduleにジャンパーをしない限り、プログラムを書き直さなければ、動作しない。この為、アドレスを27Hに書き換えた。

//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd

  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("Hello, world!");
}

void loop()
{
}