제품 : http://www.lkembedded.co.kr/shop/goods/goods_view.php?goodsno=250&category=022001004
Arduino_SSD1306_OLED-master를 한번 실행해야 OzOLED 샘플이 동작한다??
전원을 처음 넣은 상태로 OzOLED 샘플로는 표시가 안 나타남.
OzOLED init()함수에 몇가지 추가해서 동작시킨 수정 OzOLED 라이브러리
아두이노 라이브러리
http://blog.oscarliang.net/arduino-oled-display-library/
라이브러리 다운로드
라이브러리 폴더 밑에 예제파일 잘되어 있음
UNO TWI 통신 핀
Vcc (3.3V) - 5V도 동작은 하던데...?
SDA(A4)
SCL(A5)
Cactus Micro = LilyPad
SDA(D2?D3)
SCL(D3?)
String 으로 글자 표시하기
float float_val =123.2;
String str="test hello";
str = String(float_val,2); //소수점 2자리 표시
const char * c = str.c_str(); //String을 const char 로 변환
OzOled.printString(c); //Print the String
strTmp = String(dist, DEC);
OzOled.printBigNumber((const char*)strTmp.c_str(), 0, 0); //화면 상단
OzOled.printBigNumber((const char*)strTmp.c_str(), 0, 4); //화면 하단
void LCD_Message(byte X, byte Y, String msg)
{
OzOled.setCursorXY(X, Y);
OzOled.printString((const char*)msg.c_str());
}
String strTmp = String(/*"dist:" + */String(dist, DEC) + "m");
LCD_Message(0, 1, strTmp);
비트맵 그림 그리기
그림판으로 128*64 사이즈, 단색 비트맵으로 저장한다음 아래 변환기로 HEX 데이터 생성
bitmap 변환기 : http://en.radzio.dxp.pl/bitmap_converter/
const PROGMEM unsigned char Logo[] PROGMEM={ }
위와 같은 문법으로 중괄호에 HEX 데이터 복사
OzOled.drawBitmap(OscarLogo, 0, 0, 16, 8);
OLED 표시를 위함 LCD Assistant 설정값
* 아래는 기본 원리 참고용
http://robotcantalk.blogspot.kr/2015/03/interfacing-arduino-with-ssd1306-driven.html
Wire(TWI) 라이브러리로 직접 커맨드 보내서 제어하는 방식..이것보다 위에 OzOLED 라이브러리가 편리
예제파일
Arduino_SSD1306_OLED-master.zip
라이브러리
LilyPad USB 보드에서 TWI (Two wire interface) 통신포트
TWI: 2 (SDA) and 3 (SCL). Support a simple TWI communication using the Wire library.
출처:https://www.arduino.cc/en/Main/ArduinoBoardLilyPadUSB
'만들기' 카테고리의 다른 글
아두이노 하루동안 온습도 변화 DHT11 EEPROM 기록하기 (0) | 2016.08.28 |
---|---|
아두이노 종류, 부품 핀맵 배선 회로 모음 (0) | 2016.01.10 |
Arduino ULN2003 Step Motor Driver (0) | 2015.08.30 |
Arduino ESP8266 AP join error troubleshoot for Cactus Micro (2) | 2015.06.20 |
CAN 통신 모듈 (품명 MCP2515) (1) | 2015.06.19 |