๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ์Šคํ…œ๊ฐœ๋ฐœ/์•„๋‘์ด๋…ธ&๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด

์•„๋‘์ด๋…ธ OLED ์ถœ๋ ฅํ•˜๊ธฐ

by ์ด๋…ธํ‚ค_ 2019. 3. 29.

0. ์ค€๋น„

๊ตฌ์„ฑํ’ˆ : ์•„๋‘์ด๋…ธ UNO, YwRobot ์‚ฌ์˜ OLED i2C 128x32(DIS080015)

 

1. ์—ฐ๊ฒฐ

OLED ์•„๋‘์ด๋…ธ
GND GND
Vcc 5V
SDA A5
SCL A4

 

2. ์•„๋‘์ด๋…ธ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

ํ•ด๋‹น ์ œํ’ˆ์€ ์•„๋‘์ด๋…ธ U8glib๋ฅผ ์ง€์›ํ•œ๋‹ค.

 

https://code.google.com/archive/p/u8glib/downloads

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

์œ„์˜ ๋งํฌ์—์„œ u8glib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด๋ฐ›๊ณ , ์•„๋‘์ด๋…ธ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด๋†“๋Š”๋‹ค.

 

3. ์ฝ”๋“œ

#include "U8glib.h"

U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);

void draw(void) {
  // graphic commands to redraw the complete screen should be placed here  
  u8g.setFont(u8g_font_unifont);
  //u8g.setFont(u8g_font_osb21);
  u8g.drawStr( 0, 22, "Hello World!");
}

void setup(void) {
  // flip screen, if required
  // u8g.setRot180();
  
  // set SPI backup if required
  //u8g.setHardwareBackup(u8g_backup_avr_spi);

  // assign default color value
  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
    u8g.setColorIndex(255);     // white
  }
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
    u8g.setColorIndex(3);         // max intensity
  }
  else if ( u8g.getMode() == U8G_MODE_BW ) {
    u8g.setColorIndex(1);         // pixel on
  }
  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
    u8g.setHiColorByRGB(255,255,255);
  }
}

void loop(void) {
  // picture loop
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );
  
  // rebuild the picture after some delay
  delay(50);
}

์œ„ ์ฝ”๋“œ 3๋ฒˆ์งธ ๋ผ์ธ์—  "U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);"์€ u8g ์ „์—ญ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด์ฃผ๋Š” ๋ถ€๋ถ„์ด๋‹ค. ์ด ๋•Œ, ๊ฐ OLED ๋””๋ฐ”์ด์Šค์— ๋งž๋„๋ก ์„ค์ •ํ•ด์ค˜์•ผํ•œ๋‹ค. 

 

OLED ์ œํ’ˆ ์‚ฌ์–‘์„ ๋ณด๋ฉด ๋“œ๋ผ์ด๋ฒ„์นฉ์ด SSD1306์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

https://code.google.com/archive/p/u8glib/wikis/device.wiki

๋งํฌ์—์„œ SSD1306์˜ 128x32์˜ ์ƒ์„ฑ์ž๋ฅผ ํ™•์ธํ•œ๋‹ค.

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

"SSD1306_128x32"๋กœ ๊ฒ€์ƒ‰์„ ํ•˜์—ฌ SSD1306 128x32์—์„œ i2Cํ†ต์‹ ์ผ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์„ฑ์ž๋ฅผ ์„ ์–ธํ•ด์•ผํ•œ๋‹ค.

 

์ฐธ๊ณ ๋กœํ•œ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

๋‹จ, ์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” 128x64 OLED ๋ฒ„์ „์ด๋ฏ€๋กœ ํ˜„์žฌ ๋‚ด OLED์˜ ์„ค์ •์— ๋งž๊ฒŒ ์ƒ์„ฑ์ž๋ฅผ ๋ณ€๊ฒฝํ•˜์˜€๋‹ค. 

http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=tech_etc&wr_id=15

 

์ตœ๊ณ ์˜ ๋””์Šคํ”Œ๋ ˆ์ด์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ u8glib > Input, display and etc | HardCopyWorld

์ตœ๊ณ ์˜ ๋””์Šคํ”Œ๋ ˆ์ด์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ u8glib > Input, display and etc | HardCopyWorld

www.hardcopyworld.com

์•„๋ž˜์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ "Hello World"๊ฐ€ ์‹คํ–‰๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

 

๋Œ“๊ธ€