目录
- 开发板
- 引脚图
- Arduino环境配置
- 1.ESP32开发版下载
- 2.Arduino开发板选择 -> ESP32 Dev Module
- 3.安装驱动库
- 接线图
- Arduino代码
- 现象演示
开发板
ESP-WROOM-32
引脚图
Arduino环境配置
1.ESP32开发版下载
选择 esp32 by Espressif Systems
2.Arduino开发板选择 -> ESP32 Dev Module
Flash Mode选择DIO
连接ESP32并选择指定端口
3.安装驱动库
ESP8266 and ESP32 OLED driver for SSD1306 displays by ThingPulse, Fabrice Weinberg
版本:4.4.0以上
接线图
ESP32开发版 | OLED模块 | 串口1 | 串口2 |
---|---|---|---|
GND | GND | ||
3V3 | VCC | ||
GPIO22 | SCL | ||
GPIO21 | SDA | ||
TypeC接口 | TypeC | ||
GPIO17 | RX | ||
GPIO16 | TX |
Arduino代码
#include <Wire.h> // Only needed for Arduino 1.6.5 and earlier
#include "SSD1306Wire.h" // legacy: #include "SSD1306.h"SSD1306Wire display(0x3c, SDA, SCL); // ADDRESS, SDA, SCL - SDA and SCL void setup() {Serial.begin(9600);Serial2.begin(9600);Serial.println();// Initialising the UI will init the display too.display.init();display.flipScreenVertically();display.setFont(ArialMT_Plain_10);}void loop() {// clear the display//从串口监视器读取输入数据if(Serial.available()){char data = Serial.read();display.clear();display.flipScreenVertically();display.setTextAlignment(TEXT_ALIGN_LEFT);display.setFont(ArialMT_Plain_10);display.drawString(0, 0, "Serial.read:");display.drawString(0, 12, "Serial2.read:");display.drawString(65, 0, &data);display.display();//将数据发送到 UART2Serial2.write(data);}//从UART2读取输入数据if(Serial2.available()){char data = Serial2.read();display.clear();display.flipScreenVertically();display.setTextAlignment(TEXT_ALIGN_LEFT);display.setFont(ArialMT_Plain_10);display.drawString(0, 0, "Serial.read:");display.drawString(0, 12, "Serial2.read:");display.drawString(70, 12, &data);display.display();//将数据发送到 UART2Serial.write(data);}}
现象演示
将代码烧录到ESP中,打开Arduino中的端口监视器,另外再打开一个串口调试工具
清空两端的显示区域,并相互发送字符
在OLED中看到对应刚发送的内容,如下图