我的抱负是创建一个可以展示我才华的最小尺寸项目。无论如何,这个项目由 Arduino IDE、实时时钟和一个 OLED 屏幕组成。我创建了一个手表,它由一个显示日期和时间的 OLED 屏幕组成。
在这个项目中,这两个模块通过 I2C 线系统连接,或者通常称为双线接口。在这种接口技术中,Arduino UNO 充当主设备,而 OLED 屏幕和 RTC 充当从设备。
请记住,RTC 有一个特定的 I2C 地址,即0x68 ,而 OLED 屏幕有另一个特定的 I2C 地址,即0x3C。因此,这使得 Arduino UNO 可以非常轻松地与这两个设备进行通信。
在程序中,我添加了各种位图,使我的项目看起来很漂亮。我添加了电池充电图标,无电池图标,百分比电池图标,以及各种与事件相关的图标。
该程序由按下菜单按钮时执行的各种功能组成,它添加到菜单并将结果存储到变量菜单中。
例如, menu = menu + 1
,因此,存储在菜单中的新数字是 1,我们用零初始化菜单,即menu = 0;
在那个特定的循环中,我添加了调用函数,例如DisplayDateTime();
,在程序底部,您会找到所有函数,这里我提到调用函数的上述函数void
DisplayDateTime(
),这样,所有函数都存在于程序。
我在菜单程序中添加的另一件事是电池充电和放电功能。LiPo电池充电器即TP4056模块输入引脚连接到Arduino模拟引脚A1,即powerRead = A1
使用ADC转换公式检测进入Arduino UNO的电压。一旦检测到电压,它就会在 OLED 屏幕上显示电池图标。
另一个模拟引脚用于通过使用变量来监控电池剩余电量的百分比,即voltRead = A2
使用相同的ADC转换,检测电池剩余电量,当电池电量不足时,它会显示电量不足图标屏幕。
我提供了库的特定链接,可以让您非常轻松地与设备进行通信。
这是 RTC 库的链接:> https://github.com/adafruit/RTClib
这是 Adafruit GFX 的库:> https://github.com/adafruit/Adafruit-GFX-Library
这是 Adafruit_SSD1306 的链接:> https://github.com/adafruit/Adafruit_SSD1306
我也提供了代码,非常简单易懂。
预计这个月底,我会为这个项目设计机箱,现在还是这个状态。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !