I2C OLED Module JP: 두 판 사이의 차이
(새 문서: {{#seo:|title=アドウィキ : Arduino I2C OLEDモジュールガイド|title_mode=append|keywords=Arduino, 情報科学, メイカー学習, パフォーマンス評価, I2C OLEDモジュール, Arduino作品, キャップストーンプロジェクト, Arduinoサンプルコード|description=ArduinoでI2C OLEDモジュールを制御する方法(基本情報、回路、サンプルコード)を紹介します。情報科学およびメイカー授業で活用可能です...) |
(차이 없음)
|
2025년 3월 27일 (목) 19:57 판
概要
Arduino OLEDモジュールは、小型で高解像度のディスプレイモジュールで、さまざまなプロジェクトで利用できます。OLED(有機EL)技術に基づき、優れた色再現性とコントラストを提供します。
OLEDの動作原理
- 有機物質: OLEDは、薄い有機物質の層を含み、電流が流れると発光します。有機化合物は電気刺激によって発光する特性を持っています。
- 電極: OLEDパネルは通常、2つの電極(アノードとカソード)で構成され、電流が流れると電子と正孔が再結合し、光を生成します。
SSD1306
SSD1306はOLEDディスプレイを駆動するためのドライバICです。
1KBのグラフィックディスプレイ用RAM(GDDRAM)を内蔵し、表示するビットパターンを格納します。
| 項目 | 説明 |
|---|---|
| メモリ容量 | 1KB(8192ビット) |
| ページ数 | 8ページ(ページ0~7) |
| 垂直列数 | 128列(0~127) |
| ビット情報 | 1列あたり8ビット(ビット0~7) |
| 計算 | 8ページ × 128列 × 8ビット = 8192ビット = 1024バイト(1KB) |
仕様
| 項目 | 説明 |
|---|---|
| 画面サイズ | 0.91インチ、0.96インチ、1.3インチ、2.42インチなど |
| 解像度 | 128x64ピクセルまたは128x32ピクセル |
| 表示タイプ | OLED(有機EL) |
| 色 | モノクロ(白または青) |
| インターフェース | I2C(2線) |
| 電圧 | 3.3V~5V |
| 消費電力 | 待機電流:約0.1mA、最大:約20mA |
使用例
回路構成
| OLEDモジュールピン | Arduino UNO/Nano | Arduino Mega |
|---|---|---|
| VCC | 5V または 3.3V | 5V または 3.3V |
| GND | GND | GND |
| SCL | A5 | 21 |
| SDA | A4 | 22 |
デバイスアドレスの確認
I2Cバスに接続されたデバイスのアドレスを確認するコードです。
#include <Wire.h>
...
実行結果
ライブラリ
Adafruit SSD1306ライブラリを使用します。
依存ライブラリであるAdafruit BusIO、Adafruit GFX Libraryも「INSTALL ALL」をクリックして一緒にインストールしてください。
1. ライブラリの基本サンプル
File → Examples → Adafruit SSD1306 → ssd1306_128x64_i2c を選択してください。
コード内のアドレスをI2Cスキャナで確認したアドレスに変更してください。
実行結果
2. テキストの表示
#include <Wire.h>
...
| 関数名 | 説明 |
|---|---|
begin()
|
OLEDディスプレイを初期化 |
clearDisplay()
|
画面をクリア
... |
実行結果
3. 図形の描画
#include <Wire.h>
...
| 関数名 | 説明 |
|---|---|
drawLine(x1, y1, x2, y2, color)
|
2点間の線を描画
... |
実行結果
4. ASCIIコードの表示
#include <Wire.h>
...
実行結果
5. ビットマップ画像の表示
image2cppを使用して画像をバイト配列に変換します: https://javl.github.io/image2cpp/
#include <Wire.h>
...