基于Arduino UNO的OLED显示器使用方法x2(Arduino系列五)

目录

 1、所需材料

 2、模块简介

         2.1 Arduino UNO

2.2 OLED显示模块

3、接口接线

4、使用的附加库+代码示例

4.1 使用U8g2lib

4.2 使用Adafruit_GFX和Adafruit_SSD1306

 5、总结


1、所需材料

Arduino UNO开发板+OLED显示屏+公对母杜邦线四根+u8g2库(或者adafruit库)

2、模块简介

2.1 Arduino UNO

  Arduino Uno 是一款基于 微控制器 MTATmega328P的开发板。它有14个数字输入/输出引脚(这些引脚中有6个引脚可以作为PWM输出引脚),6个模拟输入引脚,16 MHz石英晶振,USB接口,电源接口,支持在线串行编程以及复位按键。用户只需要将开发板与电脑通过USB接口连接就可以使用。

2.2 OLED显示模块

常用的有白色显示、蓝色显示和黄蓝双色显示。屏幕的尺寸和内置驱动芯片也多种多样,常用的驱动接口有SPI和IIC两种。本次使用的是一款0.96寸蓝色IIC驱动屏,其内置驱动芯片为SSD1306。

 

3、接口接线

Arduino UNOOLED显示模块
5VVCC
GNDGND
A5SCL
A4SDA

4、使用的附加库+代码示例

4.1 使用U8g2lib

#include <Arduino.h>
#include <U8g2lib.h>//加载U8g2lib库
#include <Wire.h> // 加载Wire库

//iic驱动方式
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   

void setup(void) {
  u8g2.begin();
}

uint8_t m = 0;    //定义起始数字

void loop(void) {
  char m_str[3];
  strcpy(m_str, u8x8_u8toa(m, 2));   
  u8g2.firstPage();
  do {
    u8g2.setFont(u8g2_font_logisoso62_tn);
    u8g2.drawStr(50,63,m_str);
  } while ( u8g2.nextPage() );
  delay(1000);
  m++;            //数值累加
  if ( m == 60 )
    m = 0;
}

4.2 使用Adafruit_GFX和Adafruit_SSD1306

#include <SPI.h> // 加载SPI库
#include <Wire.h> // 加载Wire库
#include <Adafruit_GFX.h> // 加载Adafruit_GFX库
#include <Adafruit_SSD1306.h> // 加载Adafruit_SSD1306库

// 定义 OLED屏幕的分辨率
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);

void setup() {
  Serial.begin(9600); 

  Serial.println("OLED FeatherWing test"); // 串口输出
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 

  display.clearDisplay(); // 清空屏幕

  display.setTextSize(2); // 设置字体大小
  display.setTextColor(SSD1306_WHITE); // 设置字体颜色
  display.setCursor(0,0); // 设置开始显示文字的坐标
  display.println("Hello"); // 输出的字符
  display.println("Arduino");
  display.display();
}

void loop() {

}

 5、总结

使用OLED显示模块可以实现串口数据显示,还可以与其他模块联合使用,实现实时显示开发板实时数据。

OLED显示模块是一种小巧、节能的电子显示屏,常用于Arduino项目中,可以用来显示实时的温度信息。使用它与Arduino配合,首先需要准备硬件,如I2C或SPI连接的OLED屏和温度传感器(如DS18B20)。以下是基本步骤: 1. **硬件连接**: - 将OLED屏幕连接到Arduino,通常通过数字 pins 接口(例如I2C接口使用SCL和SDA线,SPI接口使用MOSI、MISO和SS线)。 - 如果有温控,将温度传感器连接到Arduino并获取温度数据。 2. **库安装**: - 安装相应的驱动库,如对于I2C连接的OLED,可以使用Adafruit_GFX库或FastLED库;如果是SPI接口,需安装对应的OLED库,如SSD1306或ILI9341库。 3. **编写代码**: - 创建一个循环,在循环里读取温度传感器的数据,然后转换成适合OLED显示的格式。 - 使用库提供的函数更新OLED显示,比如显示当前温度值。 示例代码片段(假设已安装了I2C OLED库): ```cpp #include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_IL9163.h> Adafruit_IL9163 display; // I2C OLED实例 void setup() { Serial.begin(9600); if (!display.begin(SSD1306_I2C)) { Serial.println("Failed to initialize display!"); return; } } void loop() { float temperature = readTemperature(); // 获取温度值 int tempCelsius = round(temperature); // 取整数表示摄氏度 String textToDisplay = "Temperature: " + String(tempCelsius) + "℃"; display.clearDisplay(); display.drawString(0, 0, textToDisplay.c_str()); // 显示温度文本 delay(1000); // 每秒刷新一次 } // 假设有一个readTemperature函数从DS18B20获取温度 float readTemperature() { // 温度传感器相关代码... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值