【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)に合わせる必要があります。

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

ここまで読んでいただきありがとうございました。

スクールの紹介

最後に宣伝をさせてください。

技術で未来を切り拓く―あなたの夢を現実にするプログラミングスクール

Webデザインやプログラミングで成功を目指している方々にとって、このオンラインスクールは夢を叶えるための最適な場所です。皆さんのキャリアを次の段階へと引き上げるためにデザインされたこのスクールは、一人ひとりの成功を心から願い、それを実現するための全てを提供しています。ここでは、このスクールの魅力について詳しくご紹介します。

◆圧倒的な費用対効果
このオンラインプログラミングスクールは、Web系教育において最高の費用対効果を提供しています。多くの高額スクールが存在する中で、ここではリーズナブルな価格で、質の高い教材、無限のサポート、そして実際に市場で求められるスキルの習得機会を提供しています。

◆現役フリーランスの講師陣
講師たちは全員、現役のフリーランスプロフェッショナルです。市場で活躍している講師から直接、最新のトレンドや実践的なスキルを学べるのは、このスクールの大きな特徴です。

◆柔軟な学習コース
固定のコースがなく、学習者の興味やニーズに応じて自由に学習できます。進路変更も自由で、最低契約期間は1ヶ月という柔軟性を持っています。自分のペースで、自分に合った学習が可能です。

◆無制限の添削とサポート
理解できるまで、そして満足するまで、無制限に添削と質問への回答を提供しています。進路相談や技術面以外の相談にも対応しており、全面的にサポートします。

◆社長から学べる貴重な機会
デザイナー、プログラマー、ディレクター、マーケターとして豊富な経験を持つ社長から直接学べるのも、このスクールの特別な点です。他のスクールでは得られない、貴重な機会です。

◆実績作りへの徹底的なサポート
就職、転職、フリーランスとして成功するためには、高品質な実績が必要です。生徒の作品レベルを最大限に高め、市場で求められる実績を作り上げることに力を入れています。案件を取得できない生徒には、直接案件を提供することもあります。

◆メッセージからの約束
高額な授業料を支払わせて結果を出せないスクールとは違い、物理的なサポートは提供できないかもしれませんが、継続的な努力を通じて最高の結果を出せるようにサポートします。一緒に不正なスクールを撲滅し、あなたの夢を実現しましょう。

このプログラミングスクールは、Webデザインやプログラミングでの成功を目指す方々に必要な全てを備えています。今こそ、このコミュニティに参加し、あなたのキャリアを加速させる時です。

詳しくはこちら↓

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

この記事を書いた人

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

目次