AliExpressで格安OLEDを購入

あ…ありのまま 今 起こった事を話すぜ!

おれは OLEDが一つだけ欲しくてaitendoを見ていたと思ったら いつの間にかAliExpressでOLEDを10個注文していた

130518_FREE SHIPPING 10PCS/LOT 0.96” inch 128x64 12864 White OLED Display Module-in Other Electrical Equipment from Electrical Equipment & Supplies on Aliexpress.com - Google Chrome_04

しかも、お買い得なUSBaspまでオススメされたッ!!

130518_FREE SHIPPING 1LOT New USBASP USBISP AVR Programmer USB ATMEGA8 ATMEGA128 Support Win7 64K-in Other Electronic Components from Electronic Components & Supplies on Aliexpress.com - Google Chrome_03

aitendoで買ったら800円のOLEDを1個だけ買うのに送料掛かるのがもったいないからという理由で躊躇していたのに、10個2,600円のOLEDを中国通販で買おうとしてて、もはや意味が分からない…。

今回購入したのはUG-2864HSWEG01というOLEDモジュールで、SSD1306というコントローラが使われています。コントローラにDC- DCコンバータが内蔵されていて単電源で駆動できるのと、I/Fがパラレル以外にI2C、SPIに対応してるので使いやすそうです。

ちなみに送料無料で1個あたり272円と、国内で買うよりもかなり安価です。

…が、中国通販(AliExpress)はトラブル覚悟で使わないといけないみたいです。とりあえず、3,000円くらいなのでトラブっても授業料と思えばいいのかなぁ…と言う感じで。

概要

買ったもの

  • UG-2864HSWEG01 $26.90 (1ロット=10個)
  • USBasp $3.33 (1ロット=2個)

掛かった日数

  • 20日 (2013/04/26~5/15)

掛かった金額

  • 3,054円 ($30.23  $1=\101.051)

トラブル等

  • 1ロット2個なので2個届くはずのUSBaspが1個しか入ってなかった。少額でメンドクサイのであきらめる。

注文から到着まで

4/26:AliExpressに注文。自動返信メール「Payment successfully made」が来た。

4/29:そのあと特にリアクションが無いのでヤキモキしていたら、「僕たち休暇中で、5/3に戻ってくるよ! ブツは5/3~5/8に発送するからシクヨロ!! (意訳)」というメッセージが来たので、それまで正座待機。

5/4:発送しましたメール「Full Shipment Made for Order No. XXXXXX」が来た。追跡番号が付いていたけど検索できない。どうも、検索できるようになるまで数日掛かるみたい。

5/8ごろ:追跡ができるようになったので毎日ガン見する。

個別番号検索 – 日本郵便

2013/05/07 16:56 引受/CHINA
2013/05/08 16:59 国際交換局から発送/SHENZHEN/CHINA
2013/05/12 12:22 国際交換局に到着/成田国際空港郵便局/千葉県
2013/05/13 09:00 通関手続中/成田国際空港郵便局/千葉県
2013/05/13 09:52 国際交換局から発送/成田国際空港郵便局/千葉県
2013/05/14 01:31 到着/○○郵便局/福岡県
2013/05/14 12:17 お届け済み/○○郵便局/福岡県

5/14:届いた!

表面

2013-05-14 21.38.56

裏面

2013-05-14 21.39.41

OLEDは1つ1つが当たって割れたり曲がったりしないように、細長いエアキャップで1列にくるくると巻いて梱包されてました。

が、しかし、1ロット2個で注文したはずのUSBaspが1個しか入ってなくてガッカリ。(2013/08/22追記:コメントによるとUSBasp+ケーブルで2pcesだそうです、ナンテコッタイ!!)

2013-05-14 21.43.35

5/15:USBaspの欠品は諦めることにして、支払いを実行。(業者への代金の支払いは、商品を受け取ってからです。クレジットの決済は注文時に行われるようです)

通電試験。ここのライブラリを使わせてもらって、さっくり試験できました。

Overview | Monochrome OLED Breakouts | Adafruit Learning System

2013-05-15 01.53.52

感想

今回初めての中国通販でしたが、国内の通販と同じ手軽さで安く買うことが出来るので面白いなと思いました。ただし、あまり高額なものを買うにはリスクが大きいので、その辺はよく考えて利用したいところです。

I2C液晶のArduinoライブラリ – ST7032

ストロベリーリナックスや秋月電子のI2C液晶で使える、Arduinoのライブラリを作りました。

コントローラにST7032iが使用されているLCDなら使えると思います。

2014.10.13 追記:

  • コンストラクタ引数でI2Cスレーブアドレスを設定出来るようにしました。秋月電子、ストロベリーリナックスのモジュールを使う限りは変更不要です。
  • コントラスト値に64以上を設定するとBONビットに影響する不具合を修正しました。(注:BONは常に1なので実際の動作には影響しません)

2013.10.31 追記:

  • ダウンロード先のリンクが分かりにくいので追加しました。また、秋月のAQM0802A-RN-GBWを動作確認済みにしました。

2013.05.19 追記:

SB0802G

Arduino標準ライブラリのLiquidCrystalをベースにしているので、LiquidCrystalを使っているスケッチならクラスを差し替えて、初期化コードを少し変更するだけで使えます。

動作確認済みのLCDモジュール

動作すると思われるもの

スケッチはこちら:arduino_ST7032 (via tomozh/arduino_ST7032@GitHub)

zipファイル内の「arduino_ST7032-master」を「ST7032」にリネームし、arduinoの「libraries」フォルダにコピーして下さい。

ST7032 独自の機能があるので、以下のメンバ関数を追加しています。

コンストラクタ

ST7032 lcd(int i2c_addr);
i2c_addr: スレーブアドレス
コンストラクタ引数を省略した場合は 0x3E

コントラスト設定

void setContrast(uint8_t cont)
cont: コントラスト値 (0~63)

アイコン表示 (※アイコン表示機能の無いLCDではなにも起きません)

void setIcon(uint8_t addr, uint8_t bit)
addr : アイコンアドレス (0~15)
bit  : アイコン表示ビット (0x00~0x1F)

簡単な使い方

#include <Wire.h>
#include <ST7032.h>

ST7032 lcd;

lcd.setContrast(30);            // コントラスト設定
lcd.print("hello, world!");

接続図はこんな感じ。I2Cは配線が少ないのが良いですね。
SB0802GやAQM0802A-RN-GBWの場合は、コンデンサ(1uF×3)を別途付ける必要があるので注意です。

接続図

左:SB1602B、右:SB0802G

SB1602BとSB0802G

SB1602Bのアイコン表示テスト

SB1602B

おまけ。I2Cつながりで、INA226モジュールと接続してみる。

参考:INA226でお手軽電圧・電流測定(ついでにBit-BangでI2C) | オレ工房

スケッチはこちら:ina226_lib.zip

INA226に接続