ESP8266 在Arduino 使用ST7789 OLED

这篇博客介绍了如何在ESP8266上使用Arduino IDE配合ST7789 OLED显示器。关键点在于 Adafruit_GFX 库的版本必须低于1.8。连接指南包括将GND、VCC、SCL、SDA、RES、DC和CS引脚分别连接到ESP8266的相应GPIO口。同时提到了两个必要的库:Adafruit ST7789和Adafruit_GFX。
摘要由CSDN通过智能技术生成

ESP8266 在Arduino 使用ST7789 OLED

GND连接GND
VCC连接3.3V
SCL连接的ESP8266D5(GPIO14)
SDA连接ESP8266的D7(GPIO13)
RES 连接ESP8266的D0(GPIO16)
DC 连接ESP8266的D1(GPIO5)
CS 连接GND
BLK 连接3.3V
在这里插入图片描述
两个库:
Adafruit ST7789
Adafruit_GFX

**

重点Adafruit_GFX版本必须小于1.8

**
在这里插入图片描述

在这里插入图片描述

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789

 
// ST7789 TFT module connections
#define TFT_DC    5     // TFT DC  pin is connected to NodeMCU pin D1 (GPIO5)
#define TFT_RST   4     // TFT RST pin is connected to NodeMCU pin D2 (GPIO4)
#define TFT_CS    15     // TFT CS  pin is connected to NodeMCU pin D8 (GPIO15)
// initialize ST7789 TFT library with hardware SPI module
// SCK (CLK) ---> NodeMCU pin D5 (GPIO14)
// MOSI(DIN) ---> NodeMCU pin D7 (GPIO13)
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
 
float p = 3.1415926;
 
void setup(void) {
   
  Serial.begin(9600);
  Serial.print(F("Hello! ST77xx TFT Test"));
 
  // if the display has CS pin try with SPI_MODE0
  tft.init(240, 320, SPI_MODE2);    // 改成你屏幕的大小
 
  // if the screen is flipped, remove this command
  tft.setRotation(2);
 
  Serial.println(F("Initialized"));
 
  uint16_t time = millis();
  tft.fillScreen(ST77XX_BLACK);
  time = millis() - time;
 
  Serial.println(time, DEC);
  delay(500);
 
  // large block of text
  tft.fillScreen(ST77XX_BLACK);
  testdrawtext("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", ST77XX_WHITE);
  delay(1000);
 
  // tft print function!
  tftPrintTest();
  delay(4000);
 
  // a single pixel
  tft.drawPixel(tft.width()/2, tft.height()/2, ST77XX_GREEN);
  delay(500);
 
  // line draw test
  testlines(ST77XX_YELLOW);
  delay(500);
 
  // optimized lines
  testfastlines(ST77XX_RED, ST77XX_BLUE);
  delay(500);
 
  testdrawrects(ST77XX_GREEN);
  delay(500);
 
  testfillrects(ST77XX_YELLOW, ST77XX_MAGENTA);
  delay(500);
 
  tft.fillScreen(ST77XX_BLACK);
  testfillcircles(10, ST77XX_BLUE);
  testdrawcircles(10, ST77XX_WHITE);
  delay(500);
 
  testroundrects();
  delay(500);
 
  testtriangles();
  delay(500);
 
  mediabuttons();
  delay(500);
 
  Serial.println("done");
  delay(1000);
}
 
void loop() {
   
  tft.invertDisplay(true);
  delay(500);
  tft.invertDisplay(false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值