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

编程入门 行业动态 更新时间:2024-10-17 15:33:16

<a href=https://www.elefans.com/category/jswz/34/1760150.html style=第二篇、基于Arduino uno,用oled0.96寸屏幕显示数字和字符——结果导向"/>

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

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显示屏无需背光,具有更快的响应速度、更高的对比度和更鲜艳的颜色。其像素点是自发光的,因此可以在较小的屏幕上实现高分辨率和精细的图像显示。

更多推荐

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

本文发布于:2024-03-05 00:14:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1710796.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:第二篇   导向   字符   屏幕   数字

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!