第二篇、基于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 library

U8G2_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 while
    oledTimes = millis();
    textNum++;
    u8g2.setFont(u8g2_font_ncenB14_tr);                                         //u8g2_font_6x12_tr
    u8g2.setFontDirection(0);
    u8g2.firstPage();
    do {
      u8g2.setCursor(0, 15);                                                    //0 means start at the first column and 15 means end at row 15
      u8g2.print("Hello World!");
      u8g2.setCursor(0, 31);                                                    //0 means start at the first column and 15 means end at row 15
      u8g2.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显示屏无需背光,具有更快的响应速度、更高的对比度和更鲜艳的颜色。其像素点是自发光的,因此可以在较小的屏幕上实现高分辨率和精细的图像显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值