1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

M5StackでWinSTAR社OLEDモジュールを使うには

Posted at

M5Stackには液晶画面があるのですが、小さいので少し離れたところから見る装置等には不向きです。
現在熱帯魚水槽のpH常時測定器を作成しているので、たまたま手元にあったWinSTAR社OLEDディスプレイを
使用することにしました。(I2C変換を使ってI2C制御ですが。)
本来は8bitパラレル入力のHD44780互換なので、liquidCrystal_I2C.hで簡単に利用できる...はず
なのですが、WinSTAR社OLEDモジュールのコントローラーが__WS0010__が曲者でイニシャライズが特殊です。
初回起動時(パワーオンリセット時)は正常に動いている感じですが、m5stackをリセットした際などにinitしても上手くいきませんでした。

半日程ネットを徘徊して調べたんですが、旧式なモジュールなので情報も少なく...
ロシア人の記事が一軒見つかり、その記事によると、おかしくなったら(0x00)を4回送れとのこと。

LiquidCrystal_I2C.cpp
 //put the LCD into 4 bit mode
 // this is according to the hitachi HD44780 datasheet
 // figure 24, pg 46
	
 // we start in 8bit mode, try to set 4 bit mode
 //write4bits(0x03 << 4);
 //delayMicroseconds(4500); // wait min 4.1ms
   
 // second try
 //write4bits(0x03 << 4);
 //delayMicroseconds(4500); // wait min 4.1ms
   
 // third go!
 //write4bits(0x03 << 4); 
 //delayMicroseconds(150);
	write4bits(0x00);
	delayMicroseconds(100);
	write4bits(0x00);
	delayMicroseconds(100);
	write4bits(0x00);
	delayMicroseconds(100);
	write4bits(0x00);
	delayMicroseconds(100);
	write4bits(0x00); 
	delayMicroseconds(150);

と、こんな感じで正常にイニシャライズ出来たようです。
あまり需要のなさそうな情報ですが、半日かかったんでまとめておきます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?