「時きすでにおすし」Arduino UNOとSSD1306 128x32で全面パターン表示



x 過去ログをみよ

x ssd1306 128x32のリセット信号は、10kΩを通して3.3vへ
x ssd1306 128x32のリセット回路は、ないので、焦らず、何度か電源を入れ直す
x ssd1306 は、秋月電子で売っているやつ
x 各自、データシートを確認


目的
OLEDのテスト
128x32だよ


![o_cop313.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840352/3fdffd2d-5191-778c-4baf-fa0879251a62.jpeg)

![o_cop314.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840352/b9341f04-b552-0e52-94b7-483792fcca3f.jpeg)

![o_cop315.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840352/44fb7148-3f70-8c12-5417-8d5439446973.jpeg)






高性能ドット絵エディタ EDGE2 でパターンを作る
image2cppで変換
drawBitmapで張り付ける

↓クリックする

http://javl.github.io/image2cpp/





```c++



//OLED_SSD1306_BITMAP128x32_TEST1_UNO


//ヘッダーファイル
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>


//定義
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);


// ビットマップデータ
// 'soiya1', 128x64px
static const unsigned char PROGMEM databytes[] = {
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xfd, 0xff, 0xfb, 0xff, 0x7f, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xf6, 0xff, 0xfd, 0xff, 0xf9, 0xff, 0x7f, 
  0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfb, 0x7f, 0xfd, 0x8f, 0xfd, 0xff, 0x7f, 
  0xff, 0xff, 0x9f, 0xff, 0xef, 0xff, 0xfe, 0x7f, 0xfe, 0x0b, 0x7f, 0xe0, 0x2f, 0xfd, 0xff, 0x7f, 
  0xff, 0xff, 0xbf, 0xff, 0xf7, 0xfe, 0xff, 0x3f, 0xf1, 0xc9, 0xbe, 0x0d, 0xff, 0x00, 0x1f, 0x7f, 
  0xff, 0xfe, 0x03, 0xff, 0xfb, 0xff, 0x00, 0x07, 0xec, 0x3d, 0x9f, 0xfd, 0xff, 0xfe, 0xff, 0x7f, 
  0xff, 0xff, 0xb8, 0xff, 0xfd, 0xff, 0xff, 0x9f, 0xf9, 0xfd, 0xdf, 0xfd, 0xff, 0xfe, 0xff, 0x7f, 
  0xff, 0xff, 0x9f, 0xff, 0xfc, 0x1f, 0xff, 0xdf, 0xf3, 0xff, 0xff, 0xfd, 0xff, 0xf0, 0xff, 0x7f, 
  0xff, 0xff, 0xdf, 0xff, 0xc0, 0x7f, 0xff, 0xcf, 0xf7, 0xff, 0x7f, 0xfd, 0xe7, 0xc4, 0xff, 0x3f, 
  0xf0, 0x1f, 0xdf, 0xff, 0x1f, 0x3f, 0xff, 0xef, 0xf7, 0xff, 0x63, 0xfc, 0x71, 0xdc, 0xff, 0x3f, 
  0xf7, 0xdf, 0xff, 0xfe, 0xff, 0x9f, 0xff, 0x0f, 0xfb, 0xff, 0x4f, 0xe1, 0x1f, 0xdc, 0xff, 0x7f, 
  0xf7, 0xc8, 0x30, 0x7f, 0xff, 0xdf, 0xfe, 0x47, 0xf9, 0xfe, 0x5f, 0xc9, 0xdf, 0xdc, 0xff, 0x7f, 
  0xf7, 0xcf, 0x81, 0xff, 0xff, 0xcf, 0xfe, 0xd3, 0xfd, 0xfe, 0xff, 0x9b, 0xdf, 0xc8, 0xff, 0x7f, 
  0xf0, 0x1f, 0xfd, 0xff, 0xff, 0xc1, 0xfe, 0xdb, 0xfc, 0xfe, 0xfb, 0x3b, 0xdf, 0xe2, 0xff, 0x7f, 
  0xf7, 0xdc, 0x3d, 0xff, 0xfe, 0x17, 0xfe, 0x9b, 0xfe, 0xfe, 0x43, 0x7b, 0xdf, 0xfe, 0xff, 0x7f, 
  0xf7, 0xdf, 0xc1, 0xff, 0xf1, 0xf3, 0xfe, 0x3b, 0xfe, 0x7f, 0x7f, 0x7b, 0xdf, 0xfd, 0xff, 0x7f, 
  0xf7, 0xdf, 0xfc, 0x0f, 0xc7, 0xfb, 0xff, 0xf3, 0xff, 0x1f, 0x3f, 0x7b, 0xdf, 0xfd, 0xff, 0x7f, 
  0xf7, 0xde, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xcf, 0x8f, 0x7b, 0xdf, 0xf9, 0xff, 0x7f, 
  0xf7, 0x9e, 0xfd, 0xff, 0xfe, 0xff, 0xff, 0xf7, 0xff, 0xe7, 0xff, 0x7b, 0xdf, 0xfb, 0xff, 0x3f, 
  0xf0, 0x3e, 0xf9, 0xff, 0xfe, 0x3f, 0xff, 0xe7, 0xff, 0xf3, 0xff, 0xbb, 0xdf, 0xf3, 0xff, 0xbf, 
  0xff, 0xfe, 0x33, 0xff, 0xff, 0x9f, 0xff, 0xef, 0xff, 0xfb, 0xff, 0x93, 0xff, 0xe7, 0xff, 0xbd, 
  0xff, 0xff, 0x87, 0xff, 0xff, 0xe3, 0xff, 0xcf, 0xff, 0xf9, 0xff, 0xc7, 0xff, 0xcf, 0xff, 0xbd, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xdf, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xb9, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};


//初期化
void setup() {

  // I2Cアドレスは使用するディスプレイに合わせて変更する
  display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);

}//setup


//メインループ
void loop() {

  // 画面表示をクリア
  display.fillScreen(BLACK);

  //ビットマップの表示
  display.drawBitmap(0, 0, databytes, 128, 32,  WHITE);

  // 描画バッファの内容を画面に表示
  display.display();


  delay(1000); //1秒待つ

}//loop




```