当前位置:首页 > 物联网 > IoT设计分享
[导读]在这个项目中,我们将学习和探索OLED(有机发光二极管)显示器与使用Arduino IDE的树莓派Pico W的接口。由于其高对比度和低功耗,OLED显示器在小规模项目中使用越来越受欢迎。

在这个项目中,我们将学习和探索OLED(有机发光二极管)显示器与使用Arduino IDE的树莓派Pico W的接口。由于其高对比度和低功耗,OLED显示器在小规模项目中使用越来越受欢迎。

在此之前,我们已经学习了OLED与ESP32的接口,并建立了一些项目,如GPS跟踪器,土壤湿度监测系统,心跳监测系统等。

树莓派Pico W是基于RP2040芯片的微控制器板,具有双核Arm Cortex-M0+处理器和丰富的GPIO引脚。我们可以利用Arduino IDE轻松编程Pico W,利用其灵活性和与各种硬件外设和大型库生态系统的兼容性。我们将使用Arduino IDE生态系统在OLED上显示文本。

将Raspberry Pico与OLED显示器相结合可以解决各种小项目,如显示传感器数据和输出值,创建迷你仪表板等等,本项目将指导您完成设置和使用Pico W的OLED显示器的过程。

组件的要求

•OLED显示屏0.96英寸I2C接口

•树莓派Pico W板

•跳线和面包板

SSD1306 OLED显示器

SSD1306 OLED显示器是一个I2C显示器,只需要两个接口引脚。由于I2C是一种广泛使用的通信方式,使得与微控制器和其他设备的接口变得容易。

OLED显示器有不同的尺寸,但我们使用通用的SSD1306驱动IC和基于128*64分辨率的显示器。

OLED显示屏的连接方式包括四个端子:

VCC:该引脚用于为显示模块供电。工作在3.3V或5V电源输入。

GND:接在电源的接地(0V)上。

SDA:串行数据线(SDA)在微控制器和SSD1306显示器之间传输双向数据。它连接到微控制器的SDA引脚或I2C总线。

SCL:串行时钟线(SCL)用于同步微控制器和SSD1306显示器之间的数据传输。它连接到微控制器的SCL引脚或I2C总线。

OLED与树莓派Pico的接口电路图

通过参考所提供的接口关系图,您将能够毫不费力地建立必要的连接。虽然树莓派Pico W板提供多个I2C通信引脚,但Arduino IDE内部库目前仅支持一对默认的I2C通信引脚,即GP4和GP5 IO。

OLED的Vcc或电源引脚应连接到Raspberry Pi Pico W的VBUS引脚上。

OLED的GND连接到Pico板的任何接地端子。由于电路板上有各种接地端子,您可以使用其中任何一个。

SDA终端引脚用于I2C通信,连接到GP4(#6引脚)。

SCL端子引脚也用于连接到GP5(#7引脚)的I2C通信。

OLED与Raspberry Pi Pico W接口的Arduino代码

代码初始化OLED显示器,设置文本属性,并在OLED屏幕上显示指定的文本。

为了将显示器与微控制器板连接,首先我们需要定义必要的库,包括Adafruit_SSD1306.h和Adafruit_GFX.h。

Adafruit_SSD1306库用于控制基于ssd1306的分辨率为128x64像素的OLED显示器,Adafruit_GFX是一个图形库,提供通用图形功能来调整显示文本大小,字体,颜色和更多图形。

此外,还创建了Adafruit_SSD1306类的构造函数,以与名为“display”的OLED显示器进行交互,其参数是显示宽度(128)像素和高度(64)像素。第三个参数也可以传递给构造函数,这是重置引脚编号,但由于我们的OLED模块没有任何重置引脚终端,因此我们没有使用该参数。

在setup()函数中:

•显示。开始(SSD1306_SWITCHCAPVCC 0 x3c);通过指定电源方案(SSD1306_SWITCHCAPVCC)来初始化显示器,以打开内部电路和显示器的I2C地址(0x3C)。

•display.clearDisplay ();清除显示缓冲区,使其完全为空。

•display.setTextColor(白色);将文本颜色设置为白色使背景变暗,而黑色使背景变亮。

•display.setTextSize (2);将文本大小设置为2,使其变大。使用1将使文本变小。

•显示。setCursor (0,0);将光标位置设置为显示器的左上角。这两个参数作为文本位置的x轴和y轴。

•display.println ();在引号内打印指定的文本。我们使用这个函数两次来根据屏幕调整单词的显示。

•display.display ();该功能将显示缓冲区推送到SSD1306控制器存储器,以显示在OLED屏幕上。

•loop()函数被反复调用,但在本例中,不需要重复调用任何命令。因此,函数将保持空白。

设置完成后,它会持续显示静态文本,因为循环中没有实现活动功能。

OLED与树莓派Pico W的工作

要将代码上传到Raspberry Pi Pico W,必须在Arduino IDE中安装板库。为了帮助您完成这个过程,下面是Raspberry Pi Pico w的教程。本教程为安装过程提供了详细的分步说明。

在编译和上传代码到您的Raspberry Pi Pico之前,请按照以下步骤安装所需的库:

打开Arduino IDE。

点击“Sketch”->“Include Library”->“Manage Libraries”。

在库管理器中,搜索“Adafruit GFX库”并安装它。

搜索“Adafruit SSD1306”并安装它。

现在,您可以将代码上传到Raspberry Pi Pico W

上传代码成功后,OLED屏幕上会显示“Raspberry Pi Pico W”和“with OLED display”字样。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭