教程十 OLED屏幕控制例程
来自Waveshare Wiki
各模块使用教程
- 序章 安装Arduino IDE
- 教程一 带编码器电机控制例程一
- 教程二 带编码器电机控制例程二
- 教程三 带编码器电机控制例程三
- 教程四 无编码器电机控制例程
- 教程五 ST3215总线舵机控制例程
- 教程六 PWM舵机控制例程
- 教程七 IMU数据读取例程
- 教程八 SD卡读取例程
- 教程九 INA219电压电流监测例程
- 教程十 OLED屏幕控制例程
- 教程十一 激光雷达和在ROS2中发布雷达话题
- General Driver for Robots 主页
- UGV01 主页
OLED屏幕控制
General Driver for Robots板载IIC接口,SSD1306的OLED模块可通过IIC与驱动板连接,达成在OLED屏幕上显示信息的效果,以下提供OLED屏幕控制程序。
例程
上传程序
点击左边第三个图标,在搜索栏中输入“Adafruit_SSD1306”,找到依赖库Adafruit_SSD1306并点击安装。
下载压缩包后打开SSD1306.ino,用USB线将多功能驱动板和计算机连接起来(此处插入的是多功能驱动板USB的Type-C接口),点击“工具”→“端口”,再点击新出现的COM(我这里新出现的COM为COM26)。
在Arduino IDE中,点击“工具”→“开发板”→“ESP32”→“ESP32 Dev Module”。开发板以及端口都选择好后上传程序。上传程序后,将IIC外设扩展接口与OLED屏幕连接后,OLED屏幕上会显示WAVESHARE。
程序解析
#include <Wire.h> #define S_SCL 33 #define S_SDA 32 #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 //OLED显示屏宽度,像素 #define SCREEN_HEIGHT 32 //OLED显示屏高度,像素 #define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin) #define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); void InitScreen(){ if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { //初始化OLED显示屏 Serial.println(F("SSD1306 allocation failed")); } display.clearDisplay(); //清空显示屏 display.display(); } void Screenupdate(){ //先清空显示屏,再设置文本大小、颜色和光标位置,输出显示“WAVESHARE” display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE); display.setCursor(0,0); display.print(F("WAVESHARE")); display.display(); } void setup() { Wire.begin(S_SDA,S_SCL); InitScreen(); } void loop() { Screenupdate(); //调用Screenupdate()函数 delay(1); }