OLED(Organic Light Emitting Diode)를 이용해볼거에요
128x64 픽셀로 예전 노키아 휴대폰에 쓰던 액정 모듈이라네요
OLED | arduino |
GND | GND |
VCC | 5v |
SDA(Serial Data Line) | A4 & SDA |
SCL(Serial CLock) | A5 & SCL |
SDA, SCL 은 A4,A5 혹은 아두이노 좌측상단의 SDA, SCL 에다 연결하면 됩니다
참고로 SDA, SCL 은 A4, A5로 이미 예약(UNO기준)되 있는거라 변경할 수 없습니다
A4, A5
SDA, SCL
SDA, SCL 을 사용하는걸 보면 I2C 통신을 하는것 같네요(업로드 속도가 느리죠)
사진출처 : http://henrysbench.capnfatz.com/henrys-bench/u8glib-arduino-oled-tutorial-1-hello-world-on-steroids/
사용하는 OLED모델이랑은 좀 다르지만 좌표에 대해 잘나온거 같아 첨부합니다
OLED 라이브러리가 있지만 잘안되니(잘못찾았나..) u8glib 를 이용할거에요
u8glib : https://code.google.com/archive/p/u8glib/
아두이노용 u8glib 라이브러리를 다운받습니다
직접 써볼 수 있겠지만 일단 예제를 해볼거에요
화려한 그래픽을 볼수 있으니까요
라이브러리를 추가하고
파일 -> 예제 -> u8glib -> GraphicsTest 를 불러옵니다
바로 업로드하면 에러를 뿜어내니 수정을 해야해요
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI
부분을 찾아 주석을 해제 합니다
다른 I2C 부분의 주석을 해제해도 나오긴 하는데 일그러지게 보입니다
해상도가 128x64라는 거죠
이제 직접 사용해 봐야겠죠?
우선 테스트를 위해 Hello, world! 를 출력합니다
#include "U8glib.h" U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
void setup() { }
void loop() { u8g.firstPage(); do{ u8g.setFont(u8g_font_unifont); u8g.setPrintPos(0,10); u8g.print("Hello, world"); u8g.drawStr(0,30, "Hello, world!"); }while(u8g.nextPage()); } |
u8g.setPrintPos(x, y) 좌표이동
u8g.print("Hello, world!"); 문자 출력입니다
u8g.drawStr(0,30, "Hello, world!"); 좌표와 문자를 동시에 쓸수도 있어요
실제 조도센서를 이용해서 센서값도 출력해봅니다
#include "U8glib.h" U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
void setup() { }
void loop() { int d = analogRead(A0); u8g.firstPage(); do{ u8g.setFont(u8g_font_unifont); u8g.setPrintPos(0,10); u8g.print("Hello, world!"); u8g.drawStr(0,30, "cds:"); u8g.setPrintPos(35,30); //픽셀단위라 x를 작게 잡아주면 글씨가 겹칩니다 u8g.print(d); }while(u8g.nextPage()); } |
참고 : http://tronixlabs.com/display/oled/graphic/0-96-128x64-oled-module-yellow-and-blue-australia/
참고 : http://henrysbench.capnfatz.com/henrys-bench/u8glib-arduino-oled-tutorial-1-hello-world-on-steroids/
016. Arduino 아두이노 - Bluetooth 2.0 모듈 AT 커맨드 사용해보기 (282) | 2016.08.24 |
---|---|
015. Arduino 아두이노 - Water Senser 워터 센서 물센서 수위조절 센서 (0) | 2016.03.14 |
013. Arduino 아두이노 - 1602 IIC I2C LCD 사용해보기 (7) | 2016.02.09 |
012. Arduino 아두이노 - library 라이브러리 추가하기 (0) | 2016.02.08 |
011. Arduino 아두이노 - CDS Sensor Module 조도센서모듈 (0) | 2016.02.05 |
댓글 영역