SSD1306 I2C 128x64 Graphic OLED. Based on SSD1308_128x64_I2C library.
Dependencies: SSD1308_128x64_I2C
Dependents: lcd-ssd1306-test DisplayOled1 DisplayOled1 DisplayOledi2c ... more
This is 128x64 Graphic OLED library. It was to ensure that it works in the mbed LPC1768 and STM32 Nucleo-L476RG.
このOLEDはSSD1306というのを使っているらしいです。mbedで公開されている SSD1306のライブラリではI2C信号線の他にRST信号線を使うようになっていますが、このモジュールにはRSTはありません。SSD1308用のライブラリではRSTは使っていなかったので、これを利用してみました。
SSD1306と1308の違いはチャージポンプの有無だけらしいので、class SSD1308を継承してコンストラクタでチャージポンプをONにするようにしました。他は一切いじっていませんので、使い方は SSD1308のメンバ関数の説明やサンプルを参照してください。
mbed LPC1768での動作を確認しています。
Nucleo-L476RG - では何故か動きません。現在調査中です。 - での動作も確認しています。
最初のバージョンで動かなかったのは I2C::start() を使っていたためでした。ST-Nucleoでは、これはうまく動かないらしいです。
)
SSD1306.h@1:acebf73682c6, 2016-08-06 (annotated)
- Committer:
- jk1lot
- Date:
- Sat Aug 06 07:51:42 2016 +0000
- Revision:
- 1:acebf73682c6
- Parent:
- 0:5a8d4b7cb1f5
- Child:
- 2:46dcbaa430f4
bug fixed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jk1lot | 0:5a8d4b7cb1f5 | 1 | #ifndef SSD1306_H |
jk1lot | 0:5a8d4b7cb1f5 | 2 | #define SSD1306_H |
jk1lot | 0:5a8d4b7cb1f5 | 3 | |
jk1lot | 0:5a8d4b7cb1f5 | 4 | #include "SSD1308.h" |
jk1lot | 0:5a8d4b7cb1f5 | 5 | |
jk1lot | 0:5a8d4b7cb1f5 | 6 | class SSD1306 : public SSD1308 { |
jk1lot | 0:5a8d4b7cb1f5 | 7 | public: |
jk1lot | 0:5a8d4b7cb1f5 | 8 | SSD1306(I2C &i, uint8_t add) : SSD1308(i,add),_i2c(i),address(add) { |
jk1lot | 0:5a8d4b7cb1f5 | 9 | _i2c.start(); |
jk1lot | 0:5a8d4b7cb1f5 | 10 | _i2c.write(address); |
jk1lot | 0:5a8d4b7cb1f5 | 11 | _i2c.write(COMMAND_MODE); _i2c.write(0x8d); //charge pump enable |
jk1lot | 0:5a8d4b7cb1f5 | 12 | _i2c.write(COMMAND_MODE); _i2c.write(0x14); //charge pump ON |
jk1lot | 0:5a8d4b7cb1f5 | 13 | _i2c.stop(); |
jk1lot | 0:5a8d4b7cb1f5 | 14 | setDisplayFlip(false, false); |
jk1lot | 0:5a8d4b7cb1f5 | 15 | } |
jk1lot | 0:5a8d4b7cb1f5 | 16 | private: |
jk1lot | 0:5a8d4b7cb1f5 | 17 | I2C& _i2c; |
jk1lot | 0:5a8d4b7cb1f5 | 18 | uint8_t address; |
jk1lot | 0:5a8d4b7cb1f5 | 19 | }; |
jk1lot | 0:5a8d4b7cb1f5 | 20 | #endif |