2025/05/05 oxxo Arduino 无标签

OLED128x64(I2C)配線図およびサンプルコード

最も一般的なArduino用OLEDはI2Cインターフェース(4ピン)です:

ピン表示 意味
VCC 電源の正極(通常は3.5Vまたは5V)
GND 電源のGND
SCL クロックライン(ArduinoのSCLに接続)
SDA データライン(ArduinoのSDAに接続)

配線方法(I2Cの場合):

OLEDピン 接続先(Arduino UNO)
VCC 5V(OLEDによっては3.5Vが必要な場合があります。背面の表記をご確認ください)
GND GND
SCL A5(UNOのI2Cクロック)
SDA A4(UNOのI2Cデータ)

Arduinoのサンプルコード(U8g2ライブラリ使用):
1. ライブラリのインストール:Arduino IDE > ライブラリマネージャー > “U8g2″を検索してインストール
2. サンプルコードは以下の通りです:


#include 
#include 

// 初始化:U8G2_SSD1306_128X64_NONAME_F_HW_I2C(使用硬件I2C)
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0); // R0 = 正向显示

void setup() {
  u8g2.begin();
}

void loop() {
  u8g2.clearBuffer();          // 清除显示缓冲区
  u8g2.setFont(u8g2_font_ncenB08_tr); // 设置字体
  u8g2.drawStr(0, 20, "Hello OLED!");
  u8g2.sendBuffer();           // 将缓冲内容送到 OLED
  delay(1000);
}

注意:
U8g2では、Y座標は画面の上端ではなく文字のベースラインに対応しているため、以下に注意してください:
• 画面の左上の座標は (0,0) ですが、1行目の文字はだいたいY=10〜12あたりに配置します(フォントによります)
• `u8g2.drawStr(x, y, “文字”)` で描画しますが、このときの `y` はベースラインの位置を指定します

補足説明:
以下のようにして各行の高さを取得することもできます:

int height = u8g2.getMaxCharHeight(); // 現在のフォントのピクセル高さを取得

そして複数行を次のように配置します:


u8g2.drawStr(0, height * 1, "第1行");
u8g2.drawStr(0, height * 2, "第2行");
u8g2.drawStr(0, height * 3, "第3行");

oxxo

发表评论

メールアドレスが公開されることはありません。 が付いている欄は必須項目です