OLEDを触った事がないなぁ。。と思っていたので、aitendoにパーツを探しにいったついでにVGM12864-3Sを購入してみました。
●仕様・機能
動作電源:3.3V(最大3.8V)
解像度:128x64ドット
表示色:単色/白
パラレル8ビット / SPI / I2C の3種類のバスから選択して接続可能
値段も¥1350(税別)とほど良い感じ。
ピン配置は下図の様になっています。
PIN | VGM128064B2W01 Module |
---|---|
CS | 13:CS |
A0 | 15:D/C# |
R/W | 16:R/W# |
ER | 17:E/RD# |
D2 | 20:D2 |
・正面中央上部PIN配置(左から)
PIN | VGM128064B2W01 Module |
---|---|
VCC | 6:VBAT/9:VDD |
GND | 1:NC/8:VSS/10:NC/29:NC/30:NC |
RES | 14:RES# |
SCK | 18:D0 |
SDI | 19:D1 |
BS1 | 11:BS1 |
BS2 | 12:BS2 |
・正面右側PIN配置(上から)
PIN | VGM128064B2W01 Module |
---|---|
D3 | 21:D3 |
D4 | 22:D4 |
D5 | 23:D5 |
D6 | 24:D6 |
D7 | 25:D7 |
SPI、P2Cの切り替えはBS1、BS2で設定を行うようです。
Bus Type | BS1 | BS2 | 有効となるPIN(MCU) |
---|---|---|---|
I2C | VCC | GND | SCK(SCL), SDI(SDA), A0(SA0), RES(RES#) |
6800 | GND | VCC | SCK(D0), SDI(D1), D2-D7, ER(E/RD#), R/W(R/W#), A0(D/C#), RES(RES#), CS(CS#) |
8080 | VCC | VCC | SCK(D0), SDI(D1), D2-D7, ER(E/RD#), R/W(R/W#), A0(D/C#), RES(RES#), CS(CS#) |
4-SPI | GND | GND | SCK(SCLK), SDI(SDIN), A0(D/C#), RES(RES#), CS(CS#) |
とりあえず購入したものが動作するのか不安なので、SPI接続して検証してみましょう。
VGM12864-3SのコントローラーはSSD1306なので、Arduino互換機とU8GLIBを使って検証してみます。
また、使用したArduinoが5Vなのでパーツ箱の中から探し出してきた低損失三端子レギュレーター 3.3V500mA TA48M033F(S Q)で3.3Vへ降圧し74HC4050で3.3Vにロジックレベル変換しています。
VGM12864-3SとArduinoの接続は以下のように行います。
・正面左側PIN配置
VGM12864-3S PIN | Arduino 5Vの場合 | Arduino PIN |
---|---|---|
CS | pin2 - 74HC4050 - pin3 | 10(サンプルコード指定値) |
A0 | pin6 - 74HC4050 - pin7 | 9(サンプルコード指定値) |
・正面中央上部PIN配置
VGM12864-3S PIN | Arduino 5Vの場合 | Arduino PIN |
---|---|---|
VCC | TA48M033F | VCC |
GND | - | GND |
RES | pin4 - 74HC4050 - pin5 | RESET |
SCK | pin12 - 74HC4050 - pin11 | Serial SCK |
SDI | pin10 - 74HC4050 - pin9 | Serial MOSI |
BS1 | - | GND |
BS2 | - | GND |
74HC4050のピンは、上記通りでなくとも問題ありません。ピン配置を参照してバッファ単位で対になっている箇所で接続してください。
また、74HC4050のpin1にはTA48M033Fで降圧した3.3、pin8にはGNDと接続する事でレベル変換されるようになります。
以上で準備は完了です。
あとは、U8GLIBのサンプルコードを読み込んで、下記の表記箇所をアンコメントすれば実行可能となります。
※CS = 10, A0 = 9の接続を別のPINにした場合は、この箇所の指定を変更して下さい。
U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11)
動作が確認出来たので、次を考えてみたいと思います。
0 件のコメント:
コメントを投稿