取扱説明書にあったサンプルコードがこれなんですが
#include <Wire.h>
#define OLED_ADRS 0x3C //SA0=L(SA0=H の場合は 0x3D)
int DisplayON = 0x0F,
ClearDisplay = 0x01,
ReturnHome = 0x02;
void setup() {
Wire.begin(); //Wire ライブラリを初期化し、I2C マスタとしてバスに接続
init_oled();
}
void loop() {
char moji[] = "I2C OLED WHITE12345";
for(int i = 0; i < 20; i++) {
writeData(moji[i]);
}
writeCommand(0x20+0x80); //2 行目の先頭
for(int i = 0; i < 20; i++) {
writeData(i+0xB1);
}
contrast_max(); //輝度を最大に設定
while(1){}
}
//----main end----
void writeData(byte t_data)
{
Wire.beginTransmission(OLED_ADRS);
Wire.write(0x40);
Wire.write(t_data);
Wire.endTransmission();
delay(1);
}
void writeCommand(byte t_command)
{
Wire.beginTransmission(OLED_ADRS);
Wire.write(0x00);
Wire.write(t_command);
Wire.endTransmission();
delay(10);
}
void contrast_max(){
writeCommand(0x2a);//RE=1
writeCommand(0x79);//SD=1
writeCommand(0x81);//コントラストセット
writeCommand(0xFF);//輝度MAX
writeCommand(0x78);//SD を0にもどす
writeCommand(0x28); //2C=高文字 28=ノーマル
delay(100);
}
void init_oled()
{
delay(100);
writeCommand(ClearDisplay); // Clear Display
delay(20);
writeCommand(ReturnHome); // ReturnHome
delay(2);
writeCommand(DisplayON); // Send Display on command
delay(2);
writeCommand(ClearDisplay); // Clear Display
delay(20)
{
このスケッチに使われているコマンドは基本、拡張、OLEDのコマンド表に記載されているコマンドが使用されていると思うのですが、コマンド表の見方がわかりません。
教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/18 16:03
2021/01/19 00:21
2021/01/19 03:14
2021/01/19 15:45
2021/01/19 17:18
2021/01/21 13:50