第二篇、基于Arduino uno,用oled0.96寸屏幕显示数字和字符——结果导向

news/2025/3/17 22:25:21/

0、结果

说明:先来看看实际的结果,如果是你想要的,可以接着往下看。

1、外观

说明:本次使用的oled是0.96寸的,别的规格的屏幕不一定适用本教程,一般而言有显示白色、蓝色和蓝黄一起显示的。 

2、连线

说明:只需要连接四根线。
uno————oled 0.96

    5V--------------VCC
GND--------------GND

 SCL--------------SCL

 SDA--------------SDA

3、源程序

说明:采用非阻塞方式编写,一定时间显示一次数据,并将对应功能进行函数化,方便移植。

/****************************************oled96 part****************************************/
#include <Arduino.h>                                                          //include library
#include <U8g2lib.h>                                                          //include library
#include <Wire.h>                                                             //include libraryU8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);#define oledTimeInterval 1000                                                 //Detect the time interval of a trip
unsigned long oledTimes = 0;                                                  // Record the device running time
int textNum = 0;
/****************************************set up and loop part*********************************/
void setup() {u8g2.begin();                                                               //Example Initialize the IIC
}
void loop() {oledDisplayMath();                                                          //Display math
}
/****************************************oled96 part****************************************/
/*Display math*/
void oledDisplayMath() {if (millis() - oledTimes >= oledTimeInterval) {                              //This command is executed once in a whileoledTimes = millis();textNum++;u8g2.setFont(u8g2_font_ncenB14_tr);                                         //u8g2_font_6x12_tru8g2.setFontDirection(0);u8g2.firstPage();do {u8g2.setCursor(0, 15);                                                    //0 means start at the first column and 15 means end at row 15u8g2.print("Hello World!");u8g2.setCursor(0, 31);                                                    //0 means start at the first column and 15 means end at row 15u8g2.print("Num: ");u8g2.setCursor(64, 31);u8g2.print(textNum);} while ( u8g2.nextPage() );}
}

4、注意事项

说明:需要在线下载<u8glib.h>库文件。


5、基本原理

OLED 0.96寸显示屏是一种基于有机发光二极管(OLED)技术的显示屏幕。OLED通过利用有机物质在电流的作用下发光的特性来实现图像显示。0.96寸OLED屏幕是一种小型、高分辨率的显示器,可以用于各种嵌入式应用中。其原理如下:

1.内部架构

OLED 0.96寸显示屏由灰阶控制电路和OLED显示面板两部分组成。OLED显示面板由一系列的有机材料构成,包括发光材料和电子传输材料。发光材料负责发出红、绿、蓝三种颜色的光,而电子传输材料则负责将电子传输到每一个有机点上。

2.工作原理

当有电流通过OLED显示面板时,在每一个有机点处都会发射出光。OLED灰阶控制电路控制大量的电信号调整每一个像素点上的亮度,从而产生图像。与传统的液晶显示屏相比,OLED显示屏无需背光,具有更快的响应速度、更高的对比度和更鲜艳的颜色。其像素点是自发光的,因此可以在较小的屏幕上实现高分辨率和精细的图像显示。


http://www.ppmy.cn/news/74518.html

相关文章

Golang idea panic()中报错解决

本地Golang升级到1.18后&#xff0c;发现原本写的一些代码在Goland中出现了一些红色的波浪线&#xff0c;将鼠标移到错误提示上&#xff0c;有如下的显示&#xff1a; Cannot use err (type error) as the type any 复制 image 源代码&#xff1a; conn, err : listener.Ac…

项目经理的职业问题及自我建议--方法论

目录 一、作为一名项目经理&#xff0c;面临的最多的问题就是资源冲突、项目过程管控、需要各种沟通、协调资源相互合作&#xff0c;以及怎么跟领导做好汇报等。 二、怎么样才能变得比别人更优秀 三、对于现如今逐渐增多的高薪中年失业的看法。 一、作为一名项目经理&#x…

界面控件Telerik UI for WinForms使用指南 - 数据绑定 填充(二)

Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件&#xff0c;所有的UI for WinForms控件都具有完整的主题支持&#xff0c;可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。 Telerik UI for WinForms组件为可视化任何类…

淘宝非搜渠道玩法!

最近很多新手商家问到&#xff0c;什么是非搜&#xff1f; 非搜非搜&#xff0c;顾名思义就是非搜索渠道进店&#xff0c;比如&#xff1a;拍立淘、淘口令、二维码等不通过搜索关键词进店的渠道都是非搜。 其中二维码又包括&#xff08;淘内免费其他、我的淘宝、手淘旺信、手淘…

【Linux之IO系统编程学习】02.write函数和read函数

【Linux之IO系统编程学习】 项目代码获取&#xff1a;https://gitee.com/chenshao777/linux_-io.git &#xff08;麻烦点个免费的Star哦&#xff0c;您的Star就是我的写作动力&#xff01;&#xff09; 02.write函数和read函数 目录 一、write函数&#xff08;man手册…

uni-app小程序uni.navigateBack返回上一个页面并传递参数.返回上个页面并刷新

返回上一个打开的页面并传递一个参数。有种办法就是使用 假如从B页面返回A页面&#xff1a; var pages getCurrentPages(); var prevPage pages[pages.length - 2]; //上一个页面 prevPage.setData({ mdata:1 })经过测试&#xff0c;在uni.app中使用B页面使用setData设置A页…

ffmpeg编译链接错误

编译脚本参见 官方文档 https://trac.ffmpeg.org/wiki/CompilationGuide/Centos 编译链接错误 ● error: undefined reference to pthread_once ,undefined reference to uncompress错误 ○ pthread并将它链接到程序 加上- pthread ; ● error: undefined reference to un…

Redis--弱口令未授权访问漏洞

Redis--弱口令未授权访问漏洞 一、漏洞简介二、危险等级三、漏洞影响四、入侵事件五、漏洞复现--Redis CrackIT入侵事件5.1、以root启动的redis&#xff0c;可以远程登入到redis console--------A主机5.2、生成公钥5.3、执行: redis-cli flushall 清空redis(非常暴力&#xff0…