【Arduino】ArduinoでOLEDディスプレイに画像を表示する方法

目次

概要

ArduinoとOLEDディスプレイを使えば、テキストだけでなく画像のようなものも表示することができます。今回は、128×64ピクセルのOLEDディスプレイに画像を表示する方法を解説します。「Image2cpp」というツールを使い、画像をArduinoで扱える形式に変換するプロセスを紹介します。


使ったサイト: Image2cpp

画像をOLEDディスプレイ用のデータに変換する際に使用したツールです。

Image2cppの使い方

  • Image2cppにアクセスする
  • ”1. Select image”で”ファイル選択”をクリックして、displayに表示したい画像ファイルを選んでください。
  • “4. Output”で”Generate code”をクリックしてください。コードができあがります。

コード

以下は、Image2cppで生成したビットマップデータをOLEDディスプレイに表示するためのコード例です。

コード例

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// OLEDディスプレイの設定
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

// 生成されたビットマップデータ(Image2cppで作成したデータ)
const unsigned char bitmap_example[] PROGMEM = {
    0xFF, 0x81, 0x81, 0xFF, 0x00, 0x00, 0xFF, 0x81, 
    0x81, 0xFF, 0x00, 0x00, 0xFF, 0x81, 0x81, 0xFF
    // Image2cppで生成した完全なデータをここに貼り付ける
};

void setup() {
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    while (1); // 初期化に失敗した場合は停止
  }
  display.clearDisplay();

  // ビットマップを描画
  display.drawBitmap(32, 0, bitmap_example, 64, 64, SSD1306_WHITE);
  display.display();
}

void loop() {
  // ループ処理なし
}

*”const unsigned char bitmap_example[] PROGMEM = {}”にImage2cppで出来上がったコードを貼り付けてください。

まとめ

画像をOLEDディスプレイに表示するのは、思った以上に簡単です。「Image2cpp」というツールを使えば、画像をモノクロ化し、Arduinoコードに組み込むためのデータに変換できます。以下が今回のまとめです。

  • Image2cpp を使うことで、任意の画像をOLED用のビットマップデータに変換可能。
  • Adafruit SSD1306ライブラリdrawBitmap() 関数を使用して簡単に描画できる。
  • 画像サイズはディスプレイの解像度(例: 128×64)に合わせる必要があります。

この手順を使えば、センサーの可視化やプロジェクトのデザイン性を高めることができるでしょう。

IT・ガジェット・電子工作の知識をこれひとつで

画像に alt 属性が指定されていません。ファイル名: KU-Assocb-2017810-640x100._V518059506_.jpg

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

PCアプリの操作解説、最新のガジェット情報、そして電子工作の専門書まで。 Kindle Unlimitedなら、あらゆるジャンルのIT・デジタル関連書籍が読み放題です。

「仕事の効率化」から「趣味の深掘り」まで、高価な専門書をわざわざ買わずに、必要な情報をその場で引き出せるのが最大のメリット。 現在は30日間の無料体験や、対象者限定の「3ヶ月499円」プランなどが用意されています。まずはご自身のアカウントでお得なオファーが表示されるかご確認ください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次