2015年2月11日水曜日

ebayで購入したI2C接続 20x4のキャラクタLCDをArduinoで使ってみる



以前から気になっていたebayを使ってみました。
wikipediaによるとアメリカのオークションサイトで世界最多の利用者とのことです。
オークションだけではなく、販売もしています。

このページを参考にして取引でトラブルがあっても責任は取れません。
各アカウント登録、取引は慎重に。

日本の電子部品の通販サイトや、amazonではちょっと高いかな~と思われる商品が、ebayでは安く売られていることが多いのですが、電子部品の発送は中国、香港がほとんどで、注文しても届かないのでは?トラブった時は?など心配も多いのですが、ebayの保証もあるようだし、安いものなら諦めればいいや と試してみました。

ebayの利用は初めてなのでアカウントの登録から。もちろん英語ですが簡単です。

支払いはpaypal経由で支払うのがいいようです。そもそもpaypal指定ばかり。
ちなみにpaypalの親会社はebay。
paypalへの支払い方法は?クレジットカードが便利。paypal経由ならクレジットカード番号が取引相手に伝わらないということです。

paypalは日本語でアカウントが作れますが、海外取引をするつもりなら氏名欄は最初からローマ字で登録しておくのがいいです。
私は氏名を漢字で入力してしまい、登録した後、氏名のローマ字表記変更に手間がかかりました。
「セキュリティセンター」の問い合わせに「氏名の変更」があり電話とwebから手続き。
(相手は外国人のようでしたが日本語対応でした)
住所のローマ字表記への変更はwebからでも出来ます。
(画面右上の言語切替で日本語から英語に切り替えをしてから住所変更)
メール認証とクレジットカード認証もします。

最後に、ebayアカウントからpaypalアカウントへのリンクをして完了。


amazonで売ってる20x4 LCD

注文をしたのはI2C接続、20x4のキャラクタLCD、青バックに白文字、バックライト付きです。7.58ドル、約900円。送料無料。
商品タイトルは「Blue Serial IIC/I2C/TWI 2004 204 20X4 Character LCD Module Display For Arduino」


↑は商品説明の画像
arduino用とのことで5V電源で動きます。Raspberry Piに接続するならI2C信号の3.3V変換をしないといけません。
商品説明欄にあったダウンロードリンク先のrarファイルは壊れているようで開けませんでした。自分の環境のせいかも?
動作確認用arduinoスケッチは古くてエラーが出ました。


注文は1/31、発送は2/1、納期の目安は2/10~3/5。
2/10に無事到着!ポストに入っていました。


 資料などは一切なし
 傷防止にフィルムが張ってあります
 商品説明の画像とはちょっと違います
I2C-パラレル変換モジュール
ハンダ付けされているので外れません。
商品説明画像のように「YwRobot Arduino LCM1602 IIC V1」とは書いていません。
キャラクタLCDのコントローラは日立のHD44780とその互換品がよく使われるのですが、HD44780のROMには日本版(A00)と欧米版(A02)があり、日本版には半角カナが保存されています。
この写真の00はROMの番号を示しているのかもしれませんが、ebayの商品説明ではどちらが来るのかはわかりませんでした。


さっそくarduinoに接続して動かしてみました。
接続は5V、GND、SDA、SCLの直結だけ。I2Cプルアップ抵抗はarduino側で有効らしいです。


LCDライブラリはhttps://bitbucket.org/fmalpartida/new-liquidcrystal/downloadsからダウンロード。
スケッチはhttp://arduino-info.wikispaces.com/LCD-Blue-I2Cから。
「LCD Version 1 - Marked "YwRobot Arduino LCM1602 IIC V1"」の2つ目「Example Software Sketch for 4 line 20 character Displays:
(NOTE: for displays with backpack interface labelled "YwRobot Arduino LCM1602 IIC V1")」に手を加えました。

ROMの0x21~0xFFを順番に表示するだけで、日本語版か欧米版かわかります。


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

void setup(){
  lcd.begin(20,4);
  for(int i = 0; i< 3; i++){
    lcd.backlight();
    delay(250);
    lcd.noBacklight();
    delay(250);
  }
  lcd.backlight();

  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  delay(2000);
}

int c = 0x21;

void loop(){
  lcd.clear();
  for(int y = 0; y < 4; y++){
    for(int x = 0; x < 20; x++){
      lcd.setCursor(x, y);
      lcd.write(c);
      delay(100);
      c += 1;
      if(c > 0xFF){
        c = 0x21;
        delay(2000);
      }
    }
  }
  delay(2000);
}





半角カナが入っているROMでした



ebayの出品者への評価は「Leave feedback」ボタンで。



いつの間にかarduinoIDE1.6.0が出てたんですね。


環境:arduinoUNO、arduinoIDE1.0.5、win7(64)



0 件のコメント:

コメントを投稿