×

使用Arduino的OLED电池电量指示器

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2022-10-27

吴湛

分享资料个

描述

这种方法可用于显示任何需要液位指示的东西,例如电池、水位等。

在演示中,我们将使用连接到模拟引脚的电位器来模拟信号,以获得从 0V 到 5V 的输入电压。

第 1 步:您需要什么

  • Arduino UNO(或任何其他 Arduino 或 ESP)
  • 电位器模块(如果您没有电位器,您可以直接将 Arduino 引脚 5V 连接到 A0 或 3.3V 引脚连接到 A0,看看它是如何工作的)
  • OLED显示屏
  • 跳线
  • 面包板
  • Visuino 程序:下载 Visuino

第 2 步:电路

poYBAGNYp22AXcNpAADDGiwkEaA676.jpg
 

 

  • 将电位器引脚 [DTA] 连接到 arduino 模拟引脚 [A0]
  • 将电位器引脚 [VCC] 连接到 arduino 引脚 [5V]
  • 将电位器引脚 [GND] 连接到 arduino 引脚 [GND]
  • 将 OLED 引脚 [VCC] 连接到 arduino 引脚 [5V]
  • 将 OLED 引脚 [GND] 连接到 arduino 引脚 [GND]
  • 将 OLED 引脚 [SCL] 连接到 arduino 引脚 [SCL]
  • 将 OLED 引脚 [SDA] 连接到 arduino 引脚 [SDA]

第 3 步:启动 Visuino,并选择 Arduino UNO 板类型

 
 
 
pYYBAGNYp3iAdwB8AADgnq2skD8606.jpg
 
1 / 2
 

 

Visuino:https ://www.visuino.eu也需要安装。下载免费版本或注册免费试用。

启动Visuino,如第一张图所示点击Visuino中Arduino组件(图1)上的“工具”按钮出现对话框时,选择“Arduino UNO”,如图2所示

第 4 步:在 Visuino 中添加和设置组件

 
 
 
poYBAGNYp3uAejtaAAAgverQF0Q792.jpg
 
1 / 13
 

 

  • 添加“地图范围模拟”组件

该组件会将我们的输入调整/转换到所需的水平。

  • 添加“模拟到整数

该组件会将我们的模拟数字更改为 OLED 所需的整数

  • 添加“整数多源”组件

该组件将在多个引脚上输出我们的整数。

  • 添加“ OLED I2C ”组件
  • 选择“ MapRange1 ”并在属性窗口中设置:
  • 输入范围>最大到 1

这是因为我们的模拟 0 引脚最多可以给我们 1

  • 输入范围>最小到 0
  • 输出范围>最大到 80

这是因为我们的电池指示器矩形最大宽度将为 80

  • 输出范围>最小到 0
  • 选择“ IntegerMultiSource1 ”并在属性窗口中将“ Output Pins ”设置为8“Integer Multi Source”组件的好处是它会按顺序触发引脚,所以它会首先通过触发“Fill Screen”删除屏幕,然后它会触发“Draw Rectangle1” “, ETC。
  • 双击“ DisplayOLED1 ”并在“ Elements Window ”中:
  • 将“填充屏幕”拖到左侧<
  • 将“ Draw Rectangle ”拖到左侧<并在属性窗口中:将“ Height ”设置为42,“ Width ”设置为“82”,“ X ”设置为19,“ Y ”设置为19
  • 将另一个“绘制矩形”拖到左侧并在属性窗口中:将“高度”设置为 40,“宽度”设置为“80”,“ X ”设置为 20,“ Y ”设置为 20,将“填充颜色”设置为tmcWhite选择“ Width ”并单击 Pin Icon 按钮并选择“ Cardinal SinkPin

现在可选,如果您希望电池电量指示器看起来更像电池,我们可以添加一些条纹来做到这一点:

  • 在左侧添加 3X“画线”,并在属性窗口中将所有“颜色”设置为“tmcBlack”
  • 对于属性窗口中的“Draw Line1”,将“Height”设置为 39,“X”设置为 40,“Y”设置为 20
  • 对于属性窗口中的“Draw Line2”,将“Height”设置为 39,“X”设置为 60,“Y”设置为 20
  • 对于属性窗口中的“Draw Line3”,将“Height”设置为 39,“X”设置为 80,“Y”设置为 20

并关闭“元素窗口

第 5 步:在 Visuino Connect 组件中

 
 
 
poYBAGNYp32Aa388AACyULNSf6U546.jpg
 
1 / 2
 

 

  • 将“Arduino”板模拟引脚 [0] 连接到“MapRange1”引脚 [In]
  • 将“MapRange1”引脚 [Out] 连接到“AnalogToInteger1”引脚 [In]
  • 将“AnalogToInteger1”引脚 [Out] 连接到“IntegerMultiSource1”引脚 [In]
  • 将“IntegerMultiSource1”引脚 [0] 连接到“DisplayOLED1”>“填充屏幕 1”引脚 [时钟]
  • 将“IntegerMultiSource1”引脚 [1] 连接到“DisplayOLED1”>“Draw Rectangle1”引脚 [时钟]
  • 将“IntegerMultiSource1”引脚 [2] 连接到“DisplayOLED1”>“Draw Rectangle2”引脚 [宽度]
  • 将“IntegerMultiSource1”引脚 [3] 连接到“DisplayOLED1”>“Draw Rectangle2”引脚 [时钟]
  • 将“IntegerMultiSource1”引脚 [4] 连接到“DisplayOLED1”>“Draw Line1”引脚 [时钟]
  • 将“IntegerMultiSource1”引脚 [5] 连接到“DisplayOLED1”>“Draw Line2”引脚 [时钟]
  • 将“IntegerMultiSource1”引脚 [6] 连接到“DisplayOLED1”>“Draw Line3”引脚 [时钟]
  • 将“DisplayOLED1”引脚 I2C [Out] 连接到 Arduino Pin I2C [In]

第 6 步:生成、编译和上传 Arduino 代码

pYYBAGNVkR6AW_neAACnAZNWW_8971.jpg
 

 

在 Visuino 中,在底部单击“构建”选项卡,确保选择了正确的端口,然后单击“编译/构建和上传”按钮。

第 7 步:播放

如果您为 Arduino 模块供电,OLED 显示屏将开始显示来自模拟引脚的值作为电池电量,如果您将电位计连接到模拟引脚,则您可以更改位置并查看它将如何影响指示器上的OLED显示器。

恭喜!您已经使用 Visuino 完成了您的项目。还附上了我为本教程创建的 Visuino 项目


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !