Giới thiệu màn hình OLED 2.42in i2c spi trắng
Màn hình Oled 2.42in I2C SPI trắng cho khả năng hiển thị đẹp, sang trọng, rõ nét vào ban ngày và khả năng tiết kiệm năng lượng tối đa với mức chi phí phù hợp, màn hình sử dụng giao tiếp I2C hoặc SPI cho chất lượng đường truyền ổn định và rất dễ giao tiếp chỉ với 2 chân GPIO.
OLED (viết tắt bởi Organic Light Emitting Diode: Diode phát sáng hữu cơ) đang trở thành đối thủ cạnh tranh cũng như ứng cử viên sáng giá thay thể màn hình LCD.
Màn hình OLED gồm những lớp như tấm nền, Anode, lớp hữu cơ, cathode. Và phát ra ánh sáng theo cách tương tự như đèn LED. Quá trình trên được gọi là phát lân quang điện tử.
Nhược điểm có thể kể tới là tuổi thọ màn này khá thấp, giá thành sản xuất cao và rất dễ hỏng khi gặp nước. Nên dễ hiểu màn hình này chưa được ứng dụng nhiều.
Những ưu điểm có thể kể đến trên màn hình OLED là những lớp hữu cơ nhựa mỏng, nhẹ mềm dẻo hơn những lớp tinh thể trên LED hay LCD nhờ vậy mà có thể ứng dụng OLED để chế tạo màn hình gập cuộn được. Độ sáng của OLED cũng tốt hơn LED và không cần đèn nền như trên LCD nên sử dụng pin ít hơn. Góc nhìn cũng cài thiện hơn những công nghệ tiền nhiệm, khoảng 170 độ.


Chức năng các chân
Kết nối theo chuẩn I2C với Arduino

Kết nối theo chuẩn SPI với Arduino

1.GND: nối đất
2.VCC: điện dương
3.SCL: dây đồng hồ
4.SDA:dây dữ liệu
5.RES: dây đặt lại
6.DC:dữ liệu/lệnh
7.CS: lựa chọn chip (nếu không sử dụng, nó có thể kết nối trực tiếp với mặt đất)
Thông số kỹ thuật màn hình oled 2.42in I2C SPI Trắng
- Điện áp hoạt động : 5V
- Dòng điện : 8mA
- Công suất : 40mW
- Chuẩn truyền : I2C hoặc SPI
- Góc hiển thị : 160°
- Nhiệt độ hoạt động : -10°C – 60°C
- Số điểm hiển thị : 128×64
- Số chân : 7
- Loại màu chữ : Trắng
- Loại : Module
- Loại IC : SSD1309
- Kích thước : 71mm*43.5mm
Chương trình Test
Nguyên lý kết nối


Chương trình
Thư viện : Tải tại đây U8g2lib.h
#include <Arduino.h>
#include <U8g2lib.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
void u8g2_prepare(void) {
u8g2.setFont(u8g2_font_6x10_tf);
u8g2.setFontRefHeightExtendedText();
u8g2.setDrawColor(1);
u8g2.setFontPosTop();
u8g2.setFontDirection(0);
}
void u8g2_box_frame(uint8_t a) {
u8g2.drawStr( 0, 0, "drawBox");
u8g2.drawBox(5,10,20,10);
u8g2.drawBox(10+a,15,30,7);
u8g2.drawStr( 0, 30, "drawFrame");
u8g2.drawFrame(5,10+30,20,10);
u8g2.drawFrame(10+a,15+30,30,7);
}
void u8g2_disc_circle(uint8_t a) {
u8g2.drawStr( 0, 0, "drawDisc");
u8g2.drawDisc(10,18,9);
u8g2.drawDisc(24+a,16,7);
u8g2.drawStr( 0, 30, "drawCircle");
u8g2.drawCircle(10,18+30,9);
u8g2.drawCircle(24+a,16+30,7);
}
void u8g2_r_frame(uint8_t a) {
u8g2.drawStr( 0, 0, "drawRFrame/Box");
u8g2.drawRFrame(5, 10,40,30, a+1);
u8g2.drawRBox(50, 10,25,40, a+1);
}
void u8g2_string(uint8_t a) {
u8g2.setFontDirection(0);
u8g2.drawStr(30+a,31, " 0");
u8g2.setFontDirection(1);
u8g2.drawStr(30,31+a, " 90");
u8g2.setFontDirection(2);
u8g2.drawStr(30-a,31, " 180");
u8g2.setFontDirection(3);
u8g2.drawStr(30,31-a, " 270");
}
void u8g2_line(uint8_t a) {
u8g2.drawStr( 0, 0, "drawLine");
u8g2.drawLine(7+a, 10, 40, 55);
u8g2.drawLine(7+a*2, 10, 60, 55);
u8g2.drawLine(7+a*3, 10, 80, 55);
u8g2.drawLine(7+a*4, 10, 100, 55);
}
void u8g2_triangle(uint8_t a) {
uint16_t offset = a;
u8g2.drawStr( 0, 0, "drawTriangle");
u8g2.drawTriangle(14,7, 45,30, 10,40);
u8g2.drawTriangle(14+offset,7-offset, 45+offset,30-offset, 57+offset,10-offset);
u8g2.drawTriangle(57+offset*2,10, 45+offset*2,30, 86+offset*2,53);
u8g2.drawTriangle(10+offset,40+offset, 45+offset,30+offset, 86+offset,53+offset);
}
void u8g2_ascii_1() {
char s[2] = " " ;
uint8_t x, y;
u8g2.drawStr( 0, 0, "ASCII page 1");
for( y = 0; y < 6; y++ ) {
for( x = 0; x < 16; x++ ) {
s[0] = y*16 + x + 32;
u8g2.drawStr(x*7, y*10+10, s);
}
}
}
void u8g2_ascii_2() {
char s[2] = " " ;
uint8_t x, y;
u8g2.drawStr( 0, 0, "ASCII page 2");
for( y = 0; y < 6; y++ ) {
for( x = 0; x < 16; x++ ) {
s[0] = y*16 + x + 160;
u8g2.drawStr(x*7, y*10+10, s);
}
}
}
void u8g2_extra_page(uint8_t a)
{
u8g2.drawStr( 0, 0, "Unicode");
u8g2.setFont(u8g2_font_unifont_t_symbols);
u8g2.setFontPosTop();
u8g2.drawUTF8(0, 24, "☀ ☁");
switch(a) {
case 0:
case 1:
case 2:
case 3:
u8g2.drawUTF8(a*3, 36, "☂");
break;
case 4:
case 5:
case 6:
case 7:
u8g2.drawUTF8(a*3, 36, "☔");
break;
}
}
#define cross_width 24
#define cross_height 24
static const unsigned char cross_bits[] U8X8_PROGMEM = {
0x00, 0x18, 0x00, 0x00, 0x24, 0x00, 0x00, 0x24, 0x00, 0x00, 0x42, 0x00,
0x00, 0x42, 0x00, 0x00, 0x42, 0x00, 0x00, 0x81, 0x00, 0x00, 0x81, 0x00,
0xC0, 0x00, 0x03, 0x38, 0x3C, 0x1C, 0x06, 0x42, 0x60, 0x01, 0x42, 0x80,
0x01, 0x42, 0x80, 0x06, 0x42, 0x60, 0x38, 0x3C, 0x1C, 0xC0, 0x00, 0x03,
0x00, 0x81, 0x00, 0x00, 0x81, 0x00, 0x00, 0x42, 0x00, 0x00, 0x42, 0x00,
0x00, 0x42, 0x00, 0x00, 0x24, 0x00, 0x00, 0x24, 0x00, 0x00, 0x18, 0x00, };
#define cross_fill_width 24
#define cross_fill_height 24
static const unsigned char cross_fill_bits[] U8X8_PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x64, 0x00, 0x26,
0x84, 0x00, 0x21, 0x08, 0x81, 0x10, 0x08, 0x42, 0x10, 0x10, 0x3C, 0x08,
0x20, 0x00, 0x04, 0x40, 0x00, 0x02, 0x80, 0x00, 0x01, 0x80, 0x18, 0x01,
0x80, 0x18, 0x01, 0x80, 0x00, 0x01, 0x40, 0x00, 0x02, 0x20, 0x00, 0x04,
0x10, 0x3C, 0x08, 0x08, 0x42, 0x10, 0x08, 0x81, 0x10, 0x84, 0x00, 0x21,
0x64, 0x00, 0x26, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
#define cross_block_width 14
#define cross_block_height 14
static const unsigned char cross_block_bits[] U8X8_PROGMEM = {
0xFF, 0x3F, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20,
0xC1, 0x20, 0xC1, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20,
0x01, 0x20, 0xFF, 0x3F, };
void u8g2_bitmap_overlay(uint8_t a) {
uint8_t frame_size = 28;
u8g2.drawStr(0, 0, "Bitmap overlay");
u8g2.drawStr(0, frame_size + 12, "Solid / transparent");
u8g2.setBitmapMode(false /* solid */);
u8g2.drawFrame(0, 10, frame_size, frame_size);
u8g2.drawXBMP(2, 12, cross_width, cross_height, cross_bits);
if(a & 4)
u8g2.drawXBMP(7, 17, cross_block_width, cross_block_height, cross_block_bits);
u8g2.setBitmapMode(true /* transparent*/);
u8g2.drawFrame(frame_size + 5, 10, frame_size, frame_size);
u8g2.drawXBMP(frame_size + 7, 12, cross_width, cross_height, cross_bits);
if(a & 4)
u8g2.drawXBMP(frame_size + 12, 17, cross_block_width, cross_block_height, cross_block_bits);
}
void u8g2_bitmap_modes(uint8_t transparent) {
const uint8_t frame_size = 24;
u8g2.drawBox(0, frame_size * 0.5, frame_size * 5, frame_size);
u8g2.drawStr(frame_size * 0.5, 50, "Black");
u8g2.drawStr(frame_size * 2, 50, "White");
u8g2.drawStr(frame_size * 3.5, 50, "XOR");
if(!transparent) {
u8g2.setBitmapMode(false /* solid */);
u8g2.drawStr(0, 0, "Solid bitmap");
} else {
u8g2.setBitmapMode(true /* transparent*/);
u8g2.drawStr(0, 0, "Transparent bitmap");
}
u8g2.setDrawColor(0);// Black
u8g2.drawXBMP(frame_size * 0.5, 24, cross_width, cross_height, cross_bits);
u8g2.setDrawColor(1); // White
u8g2.drawXBMP(frame_size * 2, 24, cross_width, cross_height, cross_bits);
u8g2.setDrawColor(2); // XOR
u8g2.drawXBMP(frame_size * 3.5, 24, cross_width, cross_height, cross_bits);
}
uint8_t draw_state = 0;
void draw(void) {
u8g2_prepare();
switch(draw_state >> 3) {
case 0: u8g2_box_frame(draw_state&7); break;
case 1: u8g2_disc_circle(draw_state&7); break;
case 2: u8g2_r_frame(draw_state&7); break;
case 3: u8g2_string(draw_state&7); break;
case 4: u8g2_line(draw_state&7); break;
case 5: u8g2_triangle(draw_state&7); break;
case 6: u8g2_ascii_1(); break;
case 7: u8g2_ascii_2(); break;
case 8: u8g2_extra_page(draw_state&7); break;
case 9: u8g2_bitmap_modes(0); break;
case 10: u8g2_bitmap_modes(1); break;
case 11: u8g2_bitmap_overlay(draw_state&7); break;
}
}
void setup(void) {
u8g2.begin();
}
void loop(void) {
// picture loop
u8g2.clearBuffer();
draw();
u8g2.sendBuffer();
// increase the state
draw_state++;
if ( draw_state >= 12*8 )
draw_state = 0;
// deley between each page
delay(100);
}
Liên hệ làm mạch
- Phone: 0967.551.477
- Zalo: 0967.551.477
- Email: dientunhattung@gmail.com
- Chi tiết : Nhận làm mạch và hướng dẫn đồ án sinh viên
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:

Module cảm biến âm thanh, Cảm biến âm thanh loại 3 chân
CẢM BIẾN ACS712 5A, ĐO DÒNG ĐIỆN DC/AC
CẢM BIẾN TCRT5000, DÒ LINE TRẮNG ĐEN
CẢM BIẾN MÀU SẮC TCS3200, NHẬN DIỆN MÀU RGB
IC SỐ SN74HC02 CỔNG NOR, IC CỔNG LOGIC 2-INPUT DIP
Động cơ DC Encoder JGB37-545 12V 22rpm, DC giảm tốc
Động cơ DC Encoder JGB37-545 12V 45rpm, DC giảm tốc
ĐỘNG CƠ DC JGA25-310 12V 830RPM, ĐỘNG CƠ GIẢM TỐC
Động cơ DC Encoder JGB37-545 12V 200rpm, DC giảm tốc
ĐỘNG CƠ DC JGA25-310 12V 220RPM, ĐỘNG CƠ GIẢM TỐC
Động cơ DC JGA25-370 24V 130rpm, Động cơ DC giảm tốc
ĐỘNG CƠ DC JGB37-520 12V 45RPM, ĐỘNG CƠ GIẢM TỐC
CẦU DIODE KBPC3510 DIP, CHỈNH LƯU TOÀN KỲ 35A - 1000V
CẦU DIODE KBPC810 DIP, CHỈNH LƯU TOÀN KỲ 8A - 1000V
ĐỘNG CƠ BƯỚC 12V, DC STEP DÙNG BỘ ĐIỀU KHIỂN ULN2003
TỤ ĐIỆN PHÂN CỰC 22UF/25V , TỤ HÓA TẦN SỐ CAO
Mạch Relay 30A 24V 1 Kênh, Rơ le công suất 250VAC / 30VDC
CẦU DIODE KBP307 DIP, CHỈNH LƯU TOÀN KỲ 3A - 700V
Mạch Relay 30A 12V 2 Kênh, Rơ le công suất 250VAC / 30VDC
TỤ ĐIỆN PHÂN CỰC 220UF/450V , TỤ HÓA TẦN SỐ CAO
TỤ ĐIỆN KHÔNG PHÂN CỰC 10P/50V, TỤ GỐM 10P - 10 CON
TỤ ĐIỆN PHÂN CỰC 1UF/50V , TỤ HÓA TẦN SỐ CAO
Động cơ bước Step 42mm cao 38mm Đen, Động cơ step motor
Kit thu phát Wifi Bluetooth 5.0 BW16 RTL8720DN, băng tần kép 5.0
TỤ ĐIỆN PHÂN CỰC 150UF/400V , TỤ HÓA TẦN SỐ CAO
TỤ ĐIỆN PHÂN CỰC 3.3UF/400V , TỤ HÓA TẦN SỐ CAO
Dây cáp USB sang Micro C 30cm, nạp chương trình Uno / ESP
Nút nhấn nhả R13-507 màu vàng 16mm, Nút nhấn gắn hộp 16mm
Mạch Relay 10A 5V 8 Kênh chân Header, Rơ le công suất 250VAC / 30VDC
Cặp kẹp cá sấu 45mm đỏ đen loại lớn, 1 cặp đỏ + đen 4.5cm
TỤ ĐIỆN PHÂN CỰC 220UF/25V , TỤ HÓA TẦN SỐ CAO
TỤ ĐIỆN PHÂN CỰC 47UF/25V , TỤ HÓA TẦN SỐ CAO
TỤ ĐIỆN PHÂN CỰC 470UF/25V , TỤ HÓA TẦN SỐ CAO
Testboard Bread board SYB-170 màu đỏ 35x47mm 170 lỗ, Test board mini
MẠCH SẠC 3 CELL 18650 10A, MODULE LITHIUM 11.1V - 13A
TỤ ĐIỆN PHÂN CỰC 100UF/450V , TỤ HÓA TẦN SỐ CAO
ANTEN 433Mhz 7dBi KIM TRONG 17CM, ANTEN LORA 433MHz
MODULE SẠC 1 CELL 18650, MẠCH BẢO VỆ PIN LITHIUM 3.7V
IC LM337 ỔN ÁP ĐIỆN ÂM, NGÕ RA ĐIỆN ÁP ÂM -1.25V - 30V - LOẠI TỐT
IC SỐ SN74HC11 CỔNG AND, IC CỔNG LOGIC 14 CHÂN DIP
TỤ ĐIỆN PHÂN CỰC 22UF/50V , TỤ HÓA TẦN SỐ CAO - 5 CON
TỤ ĐIỆN PHÂN CỰC 1UF/400V , TỤ HÓA TẦN SỐ CAO
ANTEN 2.4Ghz 28dBi KIM LOẠI 8.5CM, ANTEN 2.4GHz DÂY 3M
Nút nhấn nhả R13-507 xanh lá 16mm, Nút nhấn gắn hộp 16mm
Mạch Relay 30A 12V 4 Kênh, Rơ le công suất 250VAC / 30VDC
Động cơ bước Step 57mm cao 50mm, Động cơ step motor
IC KIA 7912 ổn áp, ngõ ra điện áp âm 12V
Pic16F1936 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
TỤ ĐIỆN PHÂN CỰC 330UF/25V , TỤ HÓA TẦN SỐ CAO
TRIAC BTA41-600B 40A 600V, IC CÁCH LY AC
TỤ ĐIỆN PHÂN CỰC 4700UF/25V , TỤ HÓA TẦN SỐ CAO
Biến trở cúc áo RM065 500R 501, Biến trở tam giác 500R
ANTEN 433Mhz 6dBi 20CM KIM TRONG, ANTEN LORA, RF
TỤ ĐIỆN PHÂN CỰC 2.2UF/50V , TỤ HÓA TẦN SỐ CAO
TỤ ĐIỆN PHÂN CỰC 3300UF/25V , TỤ HÓA TẦN SỐ CAO
TỤ ĐIỆN PHÂN CỰC 4.7UF/50V , TỤ HÓA TẦN SỐ CAO
Anten 2.4Ghz 8dBi 12.5cm loại dẹp, SMA 6mm kim trong dây 3m
Anten 4G/3G 9dBi KIM TRONG 19.5cm, Anten Wifi công suất lớn
IC KIA 7812 ổn áp nhựa, ngõ ra điện áp dương 12V
ANTEN 2.4Ghz 5dBi ĐẦU TRÒN 46MM, KIM TRONG DÂY 1M
Hàng rào đực đơn chân cong 1*40P 2.54mm, Jump header đơn 40 pin
Anten 2.4Ghz 12dBi KIM TRONG 32.3cm, anten wifi dây dài 3m
MODULE SẠC 6 CELL 18650, MẠCH LITHIUM 22.2V/25.2V - 14A
Điện trở 620R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
ANTEN 433Mhz 5dBi 5CM KIM TRONG, ANTEN LORA, RF
MODULE SẠC 2 CELL 18650 10A, MẠCH LITHIUM 7.4V - 20A
CẢM BIẾN MƯA, CẢM BIẾN ĐO LƯỢNG MƯA 














Đánh giá
Chưa có đánh giá nào.