컨텐츠 바로가기


product


이전 제품 보기

다음 제품 보기

크게보기

[P0000JMA] 128X64도트그래픽엘시디 0.96INCH-12864(OLED) 적립금

() 해외배송 가능

128X64도트그래픽엘시디 0.96INCH-12864(OLED) 기본 정보
판매가
소비자가 0원
적립금
  • 0 (0%)
  • 무통장 결제시 적립금 ( %) 무
  • 카드 결제시 적립금 ( %) 카
  • 실시간 계좌 이체시 적립금 ( %) 실
  • 적립금 결제시 적립금 ( %) 적
  • 휴대폰 결제시 적립금 ( %) 휴
무이자할부
제조사 자체제작
원산지
상품코드 P0000JMA
수량

updown

국내/해외배송
SNS 상품홍보
QR코드  

이미지저장 | 코드URL복사

QR코드 보내기 페이스북으로 보내기 트위터로 보내기 미투데이로 보내기 요즘로 보내기

장바구니 담기 관심상품 등록 추천 메일 보내기

쇼핑 계속하기 바로 구매하기

event

상품상세정보

 




본 제품은 0.96인치의 작은 OLED 디스플레이입니다.

128x64 해상도의 흰색 OLED 픽셀을 가지고 있으며, 각각의 픽셀은 컨트롤러에 의해 on/off 제어가 가능합니다.

OLED는 자체적으로 발광하기 때문에 백라이트가 필요하지 않아 전력을 절약 할 수 있으며, 높은 contrast를 가집니다.

모듈에 장착된 드라이버 칩은 SSD1306이며, OLED는 3.3V 전원 및 로직으로 동작하지만 모듈에 레벨쉬프터가 장착되어 있어 5V 장치에서도 사용이 가능합니다.

3.3V 전원에서 약 40mA가량을 소비합니다.

관련문서의 아두이노 라이브러리 및 예제 코드를 참고하십시오.

마이크로컨트롤러는 화면을 버퍼링하기 위해 1K 램 이상이 있어야 합니다.


Description

1.Size: 0.96 inch

2.High resolution: 128 * 64

3.Color:  White

4.Viewing angle: > 160 °

5.Driver IC: SSD1306

6.Working temperature:  -30℃ ~ 80℃

7.Module volume (generous): 32.0 * 35.50 * 4.1(mm)

8.Supports many control chip:  Fully compatible with Arduino, 51 series, MSP430 series,  STM32/2, CSR chip, etc.  (a lot of routines for reference)

9.Wide voltage support: without any modification, directly supports 3.3V ~ 5V DC

10.Ultra-low power consumption: Normal operation Is 0.04W

11.IO occupying less: using SPI communication mode, up to as long as 4 IO port can drive





-아두이노 예제코드




-아두이노 예제코드


 

 


//Adafruit_SSD1306
라이브러리에서 제공되는 기본 예제

#include <SPI.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

// If using software SPI (the default case):

#define OLED_MOSI 
9

#define OLED_CLK 
10

#define OLED_DC  
11

#define OLED_CS  
12

#define OLED_RESET 13

Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

/* Uncomment this block to use hardware SPI

#define OLED_DC   
6

#define OLED_CS
   7

#define OLED_RESET
8

Adafruit_SSD1306 display(OLED_DC, OLED_RESET, OLED_CS);

*/

#define NUMFLAKES 10

#define XPOS 0

#define YPOS 1

#define DELTAY 2

#define LOGO16_GLCD_HEIGHT 16

#define LOGO16_GLCD_WIDTH
16

static const unsigned char PROGMEM logo16_glcd_bmp[] =

{ B00000000, B11000000,

 
B00000001, B11000000,

 
B00000001, B11000000,

 
B00000011, B11100000,

 
B11110011, B11100000,

 
B11111110, B11111000,

 
B01111110, B11111111,

 
B00110011, B10011111,

 
B00011111, B11111100,

 
B00001101, B01110000,

 

B00011011, B10100000,

 
B00111111, B11100000,

 
B00111111, B11110000,

 
B01111100, B11110000,

 
B01110000, B01110000,

 
B00000000, B00110000 };

#if (SSD1306_LCDHEIGHT != 64)

#error("Height incorrect, please fix Adafruit_SSD1306.h!");

#endif

void setup()

{              

 
Serial.begin(9600);

 
// by default, we'll generate the high voltage from the 3.3v line internally! (neat!)

 
display.begin(SSD1306_SWITCHCAPVCC);

 
// init done

 
// Show image buffer on the display hardware.

 
// Since the buffer is intialized with an Adafruit splashscreen

 
// internally, this will display the splashscreen.

 
display.display();

 
delay(2000);

 
// Clear the buffer.

 
display.clearDisplay();

 
// draw a single pixel

 
display.drawPixel(10, 10, WHITE);

 
// Show the display buffer on the hardware.

 
// NOTE: You _must_ call display after making any drawing commands

 
// to make them visible on the display hardware!

 
display.display();

 
delay(2000);

 
display.clearDisplay();

 
// draw many lines

 
testdrawline();

 
display.display();

 
delay(2000);

 
display.clearDisplay();

 
// draw rectangles

 
testdrawrect();

 
display.display();

 
delay(2000);

 
display.clearDisplay();

 
// draw multiple rectangles

 
testfillrect();

 
display.display();

 
delay(2000);

 
display.clearDisplay();

 
// draw mulitple circles

 
testdrawcircle();

 
display.display();

 
delay(2000);

 
display.clearDisplay();

 
// draw a white circle, 10 pixel radius

 
display.fillCircle(display.width()/2, display.height()/2, 10, WHITE);

 
display.display();

 
delay(2000);

 
display.clearDisplay();

 
testdrawroundrect();

 
delay(2000);

 
display.clearDisplay();

 
testfillroundrect();

 
delay(2000);

 
display.clearDisplay();

 
testdrawtriangle();

 
delay(2000);

 
display.clearDisplay();

 
testfilltriangle();

 
delay(2000);

 
display.clearDisplay();

 
// draw the first ~12 characters in the font

 
testdrawchar();

 
display.display();

 
delay(2000);

 
display.clearDisplay();

 
// draw scrolling text

 
testscrolltext();

 
delay(2000);

 
display.clearDisplay();

 
// text display tests

 
display.setTextSize(1);

 
display.setTextColor(WHITE);

 
display.setCursor(0,0);

 
display.println("Hello, world!");

 
display.setTextColor(BLACK, WHITE); // 'inverted' text

 
display.println(3.141592);

 
display.setTextSize(2);

 
display.setTextColor(WHITE);

 
display.print("0x"); display.println(0xDEADBEEF, HEX);

 
display.display();

 
delay(2000);

 
display.clearDisplay();

 


 
// miniature bitmap display

 
display.drawBitmap(30, 16,
logo16_glcd_bmp, 16, 16, 1);

 
display.display();

 


 
// invert the display

 
display.invertDisplay(true);

 
delay(1000);

 
display.invertDisplay(false);

 
delay(1000);

 
display.clearDisplay();

 
// draw a bitmap icon and 'animate' movement

 
testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH);

}

void loop() {

}

void testdrawbitmap(const uint8_t *bitmap, uint8_t w, uint8_t h) {

 
uint8_t icons[NUMFLAKES][3];

 
// initialize

 
for (uint8_t f=0; f< NUMFLAKES; f++) {

  
icons[f][XPOS] = random(display.width());

  
icons[f][YPOS] = 0;


 
icons[f][DELTAY] = random(5) + 1;

  
Serial.print("x: ");

  
Serial.print(icons[f][XPOS], DEC);

  
Serial.print(" y: ");

  
Serial.print(icons[f][YPOS], DEC);

  
Serial.print(" dy: ");

  
Serial.println(icons[f][DELTAY], DEC);

 
}

 
while (1) {


 
// draw each icon

  
for (uint8_t f=0; f< NUMFLAKES; f++) {

    
display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, WHITE);

  
}

  
display.display();

  
delay(200); 

  
// then erase it + move it

  
for (uint8_t f=0; f< NUMFLAKES; f++) {

    
display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, BLACK);

    
// move it

    
icons[f][YPOS] += icons[f][DELTAY];

    
// if its gone, reinit

    
if (icons[f][YPOS] > display.height()) {

      
icons[f][XPOS] = random(display.width());

      
icons[f][YPOS] = 0;

      
icons[f][DELTAY] = random(5) + 1;

    
}

  
}

 
}

}

void testdrawchar(void) {

 
display.setTextSize(1);

 
display.setTextColor(WHITE);

 
display.setCursor(0,0);

 
for (uint8_t i=0; i < 168; i++) {

 

if (i == '\n') continue;

  
display.write(i);

  
if ((i > 0) && (i % 21 == 0))

    
display.println();

 
}  

 
display.display();

}

void testdrawcircle(void) {

 
for (int16_t i=0; i<display.height(); i+=2) {

  
display.drawCircle(display.width()/2, display.height()/2, i, WHITE);

  
display.display();

 
}

}

void testfillrect(void) {

 
uint8_t color = 1;

 
for (int16_t i=0; i<display.height()/2; i+=3) {

  
// alternate colors

  
display.fillRect(i, i, display.width()-i*2, display.height()-i*2, color%2);

  
display.display();

  
color++;

 
}

}

void testdrawtriangle(void) {

 
for (int16_t i=0; i<min(display.width(),display.height())/2; i+=5) {

  
display.drawTriangle(display.width()/2, display.height()/2-i,

                   
display.width()/2-i, display.height()/2+i,

                   
display.width()/2+i, display.height()/2+i, WHITE);

  
display.display();

 
}

}

void testfilltriangle(void) {

 
uint8_t color = WHITE;

 
for (int16_t i=min(display.width(),display.height())/2; i>0; i-=5) {

  
display.fillTriangle(display.width()/2, display.height()/2-i,

                   
display.width()/2-i, display.height()/2+i,

                   
display.width()/2+i, display.height()/2+i, WHITE);

  
if (color == WHITE) color = BLACK;

  
else color = WHITE;

  
display.display();

 
}

}

void testdrawroundrect(void) {

 
for (int16_t i=0; i<display.height()/2-2; i+=2) {

  
display.drawRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, WHITE);

  
display.display();

 
}

}

void testfillroundrect(void) {

 
uint8_t color = WHITE;

 
for (int16_t i=0; i<display.height()/2-2; i+=2) {

  
display.fillRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, color);

  
if (color == WHITE) color = BLACK;

  
else color = WHITE;

  
display.display();

 
}

}


void testdrawrect(void) {

 
for (int16_t i=0; i<display.height()/2; i+=2) {

  
display.drawRect(i, i, display.width()-2*i, display.height()-2*i, WHITE);

  
display.display();

 
}

}

void testdrawline() {


 
for (int16_t i=0; i<display.width(); i+=4) {

  
display.drawLine(0, 0, i, display.height()-1, WHITE);

  
display.display();

 
}

 
for (int16_t i=0; i<display.height(); i+=4) {

  
display.drawLine(0, 0, display.width()-1, i, WHITE);

  
display.display();

 
}

 
delay(250);

 
display.clearDisplay();

 
for (int16_t i=0; i<display.width(); i+=4) {

  
display.drawLine(0, display.height()-1, i, 0, WHITE);

  
display.display();

 
}

 
for (int16_t i=display.height()-1; i>=0; i-=4) {

  
display.drawLine(0, display.height()-1, display.width()-1, i, WHITE);

  
display.display();

 
}

 
delay(250);

 
display.clearDisplay();

 
for (int16_t i=display.width()-1; i>=0; i-=4) {

  
display.drawLine(display.width()-1, display.height()-1, i, 0, WHITE);

  
display.display();

 
}

 
for (int16_t i=display.height()-1; i>=0; i-=4) {

  
display.drawLine(display.width()-1, display.height()-1, 0, i, WHITE);

  
display.display();

 
}

 
delay(250);

 
display.clearDisplay();

 
for (int16_t i=0; i<display.height(); i+=4) {

  
display.drawLine(display.width()-1, 0, 0, i, WHITE);

  
display.display();

 
}

 
for (int16_t i=0; i<display.width(); i+=4) {

  
display.drawLine(display.width()-1, 0, i, display.height()-1, WHITE);

  
display.display();

 
}

 
delay(250);

}

void testscrolltext(void) {

 
display.setTextSize(2);

 
display.setTextColor(WHITE);

 
display.setCursor(10,0);

 
display.clearDisplay();

 
display.println("scroll");

 
display.display();

 
display.startscrollright(0x00, 0x0F);

 
delay(2000);

 
display.stopscroll();

 
delay(1000);

 
display.startscrollleft(0x00, 0x0F);

 
delay(2000);

 
display.stopscroll();

 
delay(1000);  

 
display.startscrolldiagright(0x00, 0x07);

 
delay(2000);

 
display.startscrolldiagleft(0x00, 0x07);

 
delay(2000);

 
display.stopscroll();

}

배송 정보

  • 배송 방법 : 택배
  • 배송 지역 : 전국지역
  • 배송 비용 : 3,000원
  • 배송 기간 : 1일 ~ 2일
  • 배송 안내 :

상품 사용 후기

상품의 사용후기를 적어주세요.

게시물이 없습니다

모두 보기 사용 후기 쓰기

상품 Q&A

상품에 대해 궁금한 점을 해결해 드립니다.

게시물이 없습니다

모두 보기 상품 Q & A 쓰기