ようやくI2Cで接続して通信できるようになったPicoだが、OLED (SSD1306)に表示するのにはなかなか成功していなかった。
Adafruit_SSD1306.hをつかってみたり、ACROBOTIC_SSD1306.hを使ってみたりしたが、いずれもコンパイルでエラーとなって表示できなかった。
最終的にはU8g2ライブラリを使って表示に成功した。
テストコードは
#include <Wire.h> #include <U8g2lib.h> U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/U8X8_PIN_NONE); void setup() { Serial.begin(115200); Wire.setSDA(16); Wire.setSCL(17); Wire.begin(); u8g2.begin(); // OLED初期化 u8g2.setContrast(1); u8g2.clearBuffer(); u8g2.setFont(u8g2_font_crox1hb_tf); u8g2.drawStr(0, 17, "Hello world"); u8g2.sendBuffer(); } void loop() { // put your main code here, to run repeatedly: }
参考にしたページは
aloseed.com