2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M5Stack NanoC6でSSD1306 OLEDを使う

Posted at

概要

0.96インチ128x64ピクセルのOLEDにM5StackのNanoC6を接続し、表示させてみました。
ちょっと手間がかかるとすればPlatformIO上でM5NanoC6でArduinoを使う設定ぐらいです。

image.png

このOLEDは上部16ピクセルが黄色で、下48ピクセルが青色のタイプです。

ほぼ以下の記事と同じ手順でできます。

できるだけ安価にちょっとした表示ができる組み合わせとして、M5 NanoC6とGME12864/SSD1306 OLEDで文字表示を試してみました。以下のパーツです(価格は2024年9月末時点)。

ということで1,724円(+送料)で128x64ピクセルOLED表示ができてしまいます(PORT.Aと接続するケーブルも必要ですが)。AtomS3が2,783円でカラー128x128ですので、どちらがいいかということですが…

Windows 10上でVSCode + PlatformIOでビルド環境を用意し、M5Unifiedを使ってプログラムを作成しました。M5GFXを使っているので、日本語フォントなども使えて便利!

PlatformIOの設定

Lang-shipさんのNanoC6の記事に従ってPlatformIOでNanoC6用のビルドができるようにします。その設定にM5Unifiedを追加しますので、最終的にplatformio.iniは以下のようになりました。

platformio.ini
[env:esp32-c6-devkitm-1]
platform = espressif32
board = esp32-c6-devkitm-1
framework = arduino
platform_packages =
	platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git
	platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/esp32-arduino-libs.git#idf-release/v5.1
extra_scripts = pre:custon_hwids.py
build_flags =
	-DARDUINO_USB_CDC_ON_BOOT=1
	-DARDUINO_USB_MODE=1
lib_deps = m5stack/M5Unified@^0.1.17
monitor_speed = 115200

ソース

続いてプログラムを用意します。Unit GLASS2を使えば簡単に書けます。

src/main.cpp
#include <M5UnitGLASS2.h>
#include <M5Unified.h>

// Port.A SDA(G2), SCL(G1)
M5UnitGLASS2 SSD1306Display(2, 1);

void setup() {
  M5.begin();
  SSD1306Display.init();
  SSD1306Display.setFont(&fonts::lgfxJapanGothicP_16);
  SSD1306Display.println("こんにちは世界!!");
  SSD1306Display.setFont(&fonts::FreeMonoBold9pt7b);
  SSD1306Display.println("SSD1306\nGME12864-51");
}

void loop() {
}

NanoC6のPort.AのG1、G2はどちらをSDA、SCLに割り当てても使えるみたいですが、Core2などと互換性を持たせるためにG1をSCL、G2をSDAとしました。M5UnitGLASS2クラスを初期化する際にピン番号を渡します。

setup()内で、先ほどのM5UnitGLASS2オブジェクトを初期化すればM5.Displayと同じように使用することができます。

AtomS3でも同じコードで動作します。

接続

NanoC6とOLEDは以下のように接続しました。Fritzingで描画しました。OLEDパーツは、以下で公開されているものを使用させて戴きました。

image.png

参考

2
3
1

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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?