#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
const int SCREEN_WIDTH = 128; // OLED display width, in pixels
const int SCREEN_HEIGHT = 64; // OLED display height, in pixels
const int startButton = 2;
boolean startButtonValue = HIGH;
int countValue = 100;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(9600);
//init
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
while(true);
}
pinMode(startButton, INPUT_PULLUP);
}
void loop() {
startButtonValue = digitalRead(startButton);
display.clearDisplay();
display.setTextColor(WHITE);
//testName
display.setTextSize(1); //文字サイズ(1)
display.setCursor(4, 0); //表示開始位置左上角(X,Y)
display.println("HEAD"); //表示内容
display.setCursor(4, 10); //表示開始位置左上角(X,Y)
display.println("TEST"); //表示内容
//headSize
display.setTextSize(2); //文字サイズ(2)
display.setCursor(32, 2); //表示開始位置左上角(X,Y)
display.println("4HE-1905"); //表示内容
//heaterEnable
display.setTextSize(1); //文字サイズ(1)
display.setCursor(5, 28); //表示開始位置左上角(X,Y)
if (startButtonValue == LOW) {
display.println("HEAT ON");
} else {
display.println("HEAT OFF");
}
//countValue
display.setCursor(72, 28); //座標を指定
display.println("CNT ="); //カウント数
display.setCursor(104, 28); //座標を指定
display.println(countValue); //カウント数
// 点
display.drawPixel(10, 10, WHITE);
// 線 128x64
display.drawLine(0, 20, 128, 20, WHITE); //指定座標x1,y1から指定座標x2,y2
display.drawFastVLine(64, 22, 17, WHITE); //V(指定座標x,yから座標yに垂線)
display.drawFastHLine(0, 40, 128, WHITE); //H(指定座標x,yから座標xに平行線)
display.drawFastVLine(64, 42, 48, WHITE); //V(指定座標x,yから座標yに垂線)
display.drawFastHLine(0, 60, 128, WHITE); //H(指定座標から平行線)
// □
// display.drawRect(10, 10, 44, 44, WHITE);
// ■
// display.fillRect(左上x, 左上y, 幅, 高さ, 線の色)
// display.fillRect(74, 10, 44, 44, WHITE);
display.display();
}