원하는 정보를 가져오는 것까지는 성공했으므로 이제 남은 건 그 정보를 표시해주는 것 입니다.



위의 제품을 사용하기로 하고 구매~ 지난 번에 같이 주문했던 것이어서 무사히 잘 받아놓았습니다.


상세스펙을 보니 LCD가 아니고 OLED 였네요. 크흠.. 아무튼 화면도 준비되었으니 테스트 테스트.


판매처에서 제공하는 스펙은 다음과 같습니다.



네 봐도 잘 모르겠네요. 구글에 검색해 봅니다.


이것 저것 찾다보니 다음의 사이트에서 도움을 받았습니다.


https://diy-project.tistory.com/6

https://automatedhome.party/2017/04/17/connect-an-inexpensive-oled-display-to-a-esp8266wemos-d1-mini/



이것처럼 연결을 하라고 하네요.


OLED의 GND는 당연히 WeMos의 GND와 연결하고,

OLED의 VCC는 스펙상 3.3V~5V까지 가능하니 일단 WeMos의 5V와 연결하고,

OLED의 SCL은 WeMos D1 mini의 데이터시트를 참고해서 D1에 연결하고,

마찬가지로 SDA도 데이터시트 참고하면 D2에 연결하라고 나옵니다.


fritzing을 이용해서 회로도를 그려본 후


실제론 납땜이 안되어 있어서 다음과 같이 연결한 후 테스트를 해 봅니다.



ssd1306 OLED를 사용하기 위해서는 Adafruit Gfx 라이브러리와 Adafruit SSD1306 라이브러리가 필요하다고 합니다.


스케치의 라이브러리 매니저를 통해서 해당 라이브러리를 추가해 줍니다.


그리고 예제 중에서 Adafruit_SSD1306 > ssd1306_128x64_i2c 예제를 업로드 해 보았습니다.


.... 안되네요. 다음의 간단한 예제로 바꿔 봐도 안됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
 
#define OLED_RESET 0  // GPIO0
Adafruit_SSD1306 OLED(OLED_RESET);
 
void setup()   {
  OLED.begin();
  OLED.clearDisplay();
 
  //Add stuff into the 'display buffer'
  OLED.setTextWrap(false);
  OLED.setTextSize(1);
  OLED.setTextColor(WHITE);
  OLED.setCursor(0,0);
  OLED.println("automatedhome.party");
 
  OLED.display(); //output 'display buffer' to screen  
  OLED.startscrollleft(0x000x0F); //make display scroll 
 
void loop() {
}
cs


음.. 아마도 납땜을 안해줘서 그런게 아닌가 싶네요. 일단 여기서 멈추고 남땜을 해준 다음에 해봐야겠습니다.

+ Recent posts