ESP-01 모듈에
0.96인치 OLED 연결
OLED용 라이브러리는
u8g가 아닌 SSD1306 사용
사용한 라이브러리
https://randomnerdtutorials.com/esp8266-0-96-inch-oled-display-with-arduino-ide/
esp8266 oled ssd1306 라이브러리 설치 방법
다운 : Click here to download the esp8266 oled ssd1306 library.
다음 파일의 압축 푼다 : esp8266-oled-ssd1306-master folder
폴더 이름 변경 : esp8266-oled-ssd1306-master 에서 esp8266_oled_ssd1306 로
폴더를 본인의 ARDUINO IDE 설정폴더로 옮긴다
Arduino IDE를 닫고 다시 시작한다
참고 라이브러리
https://github.com/ThingPulse/esp8266-oled-ssd1306
// ============================================================================================
// ESP8266 보드 설치하기
// https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-guide/installing-the-esp8266-arduino-addon
// To begin, we’ll need to update the board manager with a custom URL. Open up Arduino,
// then go to the Preferences (File > Preferences). Then, towards the bottom of the window,
// copy this URL into the “Additional Board Manager URLs” text box:
//
// Hit OK. Then navigate to the Board Manager by going to Tools > Boards > Boards Manager.
// There should be a couple new entries in addition to the standard Arduino boards.
// Look for esp8266. Click on that entry, then select Install.
// SSD1306 Lib for ESP8266
// https://randomnerdtutorials.com/esp8266-0-96-inch-oled-display-with-arduino-ide/
// https://github.com/squix78/esp8266-oled-ssd1306/archive/master.zip
// unzip to : C:\Users\turbocrazy\Documents\Arduino\libraries
// other lib not tested
// https://github.com/ThingPulse/esp8266-oled-ssd1306
// ============================================================================================
#include <ESP8266WiFi.h>
#include <Wire.h>
#include "SSD1306.h" // alias for #include "SSD1306Wire.h"
SSD1306 display(0x3C, 0, 2); // 0x3C OLED address(not=0x78/A), SDA=GPIO 0, SCL=GPIO 2
//boolean LEDON = false;
//int BuiltInLED = 1; // built in BLUE = TxD --> GPIO 1, RxD = GPIO 3
long int count = 0; // for LED to toggle
byte m = 0; // contains the minutes, refreshed each loop
byte h = 0; // contains the hours, refreshed each loop
byte s = 0; // contains the seconds, refreshed each loop
byte sOld = 60;
// ============================================================================================
void setup() {
//pinMode(LED_BUILTIN, OUTPUT);
//digitalWrite(LED_BUILTIN, LOW);
//Serial1.begin(115200); // fot WiFi
Serial.begin(115200); // Arduino monitor
// OLED stuff - Initialise the display.
display.init();
display.flipScreenVertically(); // flipping
display.setFont(ArialMT_Plain_10);
display.drawString(0, 10, "ESP Clock");
display.drawString(0, 24, "Clock Init ...");
display.display(); // write the buffer to the display
}
// ============================================================================================
void loop() {
if(s != sOld){
String t = String(h) + ":" + String(m) + ":" + String(s);
Serial.println(t);
display.clear();
display.drawString(0, 10, "ESP Clock");
display.drawString(0, 24, t);
display.display(); // write the buffer to the display
sOld = s;
}
delay(1000);
s++;
if(s>=60) {s = 0; m++;}
if(m>=60) {m = 0; h++;}
if(h>=24) h = 0;
}
// ============================================================================================
'IoT_ESP8266' 카테고리의 다른 글
| ESP-8266 : 서버 - LED/Relay 제어 (0) | 2019.01.01 |
|---|---|
| ESP8266 - ESP-01 : 온도및 습도 모니터링 OLED/Web (0) | 2018.12.30 |
| Arduino IDE 이용 ESP8266 웹서버 (0) | 2018.08.14 |
| IoT - 사물인터넷 기초 자료 (0) | 2017.01.30 |
| ESP8266 과 서버와 통신 (Synology) (0) | 2017.01.27 |