0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino淋浴监控器的制作

454398 来源:wv 2019-10-22 17:30 次阅读

步骤1:设计RTC

实时时钟

我不喜欢我的第一个设计,因为电池只能使用大约十天,所以我希望设计可以使用更长的时间。

:电池不能使用很长时间的原因是,我必须持续保持AtMega328(Arduino)的电源以保持软件实时时钟运行。因此,我需要能够使AtMega328进入睡眠状态或将其关闭。

我的朋友给我发送了一些RTC(实时时钟)模块:

http://www.ebay.co.uk/ITM/Arduino的I2C纤巧-RTC-DS1307-的实时时钟模块,AT24C32板上-AVR-MCU-PIC-/221176522620 PT = UK_BOI_Electrical_Components_Supplies_ET&哈希= item337f25e77c搜索结果HTTP://WWW。 ebay.com/itm/I2C-Tiny-RTC-DS1307-实时时钟模块AT24C32-AVR-MCU-PIC-DIY-/231037403500?pt = LH_DefaultDomain_0&hash = item35cae7016c

这些均随附具有电池备用功能的RTC和EEPROM也很有帮助。

问题:因此,我对这些模块感到担心。请注意,电池是LIR2032,它是可充电电池。我怀疑它有充电电路。好吧,我找到了一个原理图并决定绘制自己的示意图(参见图片)。它确实具有充电电路,并且会给18650电池带来额外的负担。

解决方案:因此,对于此模块,如果卸下R5,D1,R4和R6并跨接一个跳线, R6并用CR2032更换电池,这将消除电池充电。这就是我所做的(参见图片)。

在此应用程序中,CR2032应该可以使用大约十年,因此我对此没有任何问题。

警告: AdaFruit的一个旧库,用于其数据记录器RTCLib。有一个名为DS1307.pde的草图可以设置时间。现在,它在第一次运行时效果很好,但是没有设置时间。有一个更新的版本,其示例效果更好:

https://github.com/jcw/rtclib

下载zip,解压缩,将其从rtclib-master重命名为rtclib并将其复制到您的Arduino库目录。

TechnoSpeak I2C:从技术上讲,它应该是I(平方)C或表示集成电路间的IIC。基本上,这是一个“标准”串行接口,需要两个信号SCL,SDA和接地。 SDA是从0V切换到5V的数据信号,数据按顺序(串行)传输。由于只有两个级别,并且无法确定速度,因此无法确定一个数据的结束位置和下一个数据的开始位置。这就是SCL(时钟)信号的输入。这告诉接收设备一位在哪里结束,下一位在哪里开始。

I2C的一个优点是可以将多个设备连接到相同的两个信号。在这种情况下,DS1307(RTC)和24C32(EEPROM)都连接到SCL和SDA线上。为了告诉您正在交谈的设备,每种设备类型都有一个唯一的地址。

DS1307的地址为0x68。 24C32地址为0x50。

Arduino通过“ wire”库支持I2C。

顺便说一句,这意味着在同一两行上不能有多个相同的设备类型。例如,您不能有两个24C32。

步骤2:设计Solar Boost

问题:所以RTC模块需要5Vdc,我希望它能与18650电池一起工作,电池的电压从4.2Vdc降至大约2Vdc。

解决方案:有一些满足需求的小Solar Boost模块:

http://www.ebay.com/itm/370828387683?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

我不知道为什么他们称他们为Solar Boost。基本上,它们采用1-5Vdc的DC电压并将其转换为5Vdc电压。

现在有许多可用的版本。我想大多数都适用于该应用程序。

我取消了USB连接器的焊接,因为不需要它。 (见图)。如图所示,两个外部USB引脚分别为接地和5V。

步骤3:设计ShowerMonitor2 PCB

所以自然是极客,我决定制作自己的带有Arduino的ShowerMonitor2 PCB。 (参见图片)此PCB将Solar Boost和Tiny RTC连接在一起,并显示“星期几”和“淋浴”状态。

问题:我想用一个按钮打开电源, Arduino保持开机状态,直到显示星期几和淋浴状态为止,并且还可以通过另一个按钮切换淋浴状态。然后关闭PCB的电源。

解决方案:下一张图片是电源电路的框图。

TechoSpeak:连接至PCB并连接至Solar Boost的地面(在此Solar Boost上,PS-和GND输出连接在一起,以便可以将其中任何一个连接到PCB)。

要打开Arduino PCB,请按Start按钮。这会将正的电池电压传递给Solar Boost,后者启动并向PCB提供5Vdc。 Arduino草图将D3拉高,从而导通BS170 FET。这允许电流流过,从而将大部分电池电压施加到Solar Boost。因此,可以释放启动开关。

在短暂的延迟后,用户可以看到白天和淋浴状态,Arduino将D3设置为低电平,这会关闭FET并断开与Solar Boost的电源,从而断开与PCB的电源。

电源摘要:因此,大多数情况下,Arduino均未供电。 TinyRTC拥有自己的电池来保持正确的时间。 EEPROM存储一些淋浴信息,不需要电源。大多数情况下,18650电池的耗电量可忽略不计。按下开始按钮时,Solar Boost由18650供电,Arduino读取RTC,在星期几点亮,并在适当时点亮Shower LED。大约五秒钟后,Arduino断开电池并自动关机。

TechnoSpeak: EEPROM代表电可擦可编程只读存储器。这意味着我们可以在其中存储信息。该信息将保持通电或断电状态。因此,下次使用电源时,我们可以读取之前存储的信息。不需要电池。

注意:我添加了一个标有“ Prog”的两针插头。如果连接了跳线,这将为Arduino持续供电,以便用户可以将草图加载到Arduino并在需要时进行故障排除。

好的,所以我制作了PCB并将其塞满。我在一周中的几天内安装了不同颜色的LED,因此区分一天和另一天比较容易。 (我的视力不是最大)

问题:对于TinyRTC库部分,我概述了电路板的物理尺寸。不幸的是,当我试图缩小PCB尺寸时,我忘记了这一点,因此“开始”按钮位于Tiny RTC板的下面。这是当我累了并且没有彻底检查时会发生的事情。

问题2:嗯,TinyRTC的底部是电池。有了母头,我以为可以清除AtMega328,但没有清除。

解决方案:我从朋友那里抽了些长根母头(见图)。我将引脚弯曲成“ S”形,这样TinyRTC板就更高了并且远离“开始”按钮。

问题3:很好,但是当我把它挂在

解决方案2:如果您看一下TinyRTC模块,它有两个连接器。一个是七个针脚,另一个是五个针脚,但五个信号以相同的顺序重复。无论如何,我只使用其中的四个。好吧,我决定拆下母头,在另一侧安装五针公头,然后将它们焊接进去。它工作得很好,并且更容易到达“开始”按钮。

附带了鹰头文件

零件清单:

1个微小的RTC_DS1307和AT24C32模块

http://www.ebay.com/itm/I2C-Tiny-RTC-DS1307-Real-Time-Clock-模块-AT24C32-AVR板载-MCU-PIC-DIY-/231037403500?pt = LH_DefaultDomain_0&hash = item35cae7016c

1 Solar Boost 1-5Vdc to 5Vdc output

http://www.ebay.com/itm/370828387683?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

1 18650电池

1 18650电池座

1淋浴监视器2 PCB(可以用Eagle Cadsoft文件制成)

1 ATmega328P微处理器

1 28针IC插座

6公头针

2触觉SPST开关

2电容器0.1uFd

2电容器22pFd

1圆柱晶体8MHz

8 LED 3MM(多种颜色)

1 BS170 FET

2电阻10K

8电阻1.5K

1 JST2.0连接器组(公/母)

废线

Sprap p lastic

大多数零件都可以从Digikey和其他电子产品商店获得。

步骤4:Arduino软件

问题::标准引导加载的AtMega328P不适用于8MHz晶振。需要其他引导加载程序。

解决方案:我基本上使用此过程来加载正确的引导加载程序:

http://arduino.cc/zh/Tutorial/ArduinoISP

步骤6:我选择了:带Promega的Arduino Pro或Pro Mini(3.3V,8 MHz)作为我在AtMega328P上想要的引导负载。

警告:在“工具”》“面板”菜单下加载草图时,必须选择带有ATmega328的 Arduino Pro或Pro Mini(3.3V,8 MHz)

我在AtMega328上贴了一个标签,以帮助使我想起我正在使用什么。

TinyRTC模块使用DS1307 IC作为实时时钟。对于Arduino,您需要一个库。有很多,但我选择了这个:

https://github.com/jcw/rtclib

首先,必须在TinyRTC模块中设置正确的时间/日期。确保已安装CR2032电池。

在Prog上放一个两脚跳线。

运行我的SetRTC草图。打开串行监视器以确保正确设置。

现在加载ShowerMonitor2草图。

删除两针跳线。

草图摘要:

设置:将电源设置为高,以使SolarBoost保持打开状态。

循环 ::读取存储在24C32-EEPROM中的数据。

读取RTC。以获得正确的时间/日期。

打开正确的星期几LED。

弄清楚淋浴LED是否应打开。

检查是否按了Shift。

切换淋浴并发送到EEPROM。

大约五秒钟后,关闭电源,然后关闭Solar Boost和Arduino。

步骤5:使用淋浴监控器2

所以我很懒,我用双面胶带将电池和PCB粘在一块塑料上。我钻了几个孔,用一根电线将其挂在钉子上。

步骤:因此,Shower Monitor2通常处于关闭状态。

按住开始键按钮。 Solar Boost上的电源LED将点亮,然后一周中的某一天LED将点亮。释放开始按钮。如果淋浴LED亮起,则是淋浴时间。

淋浴监控器将在大约四秒钟后关闭。

更改淋浴日期::如果要更改淋浴日期,按住“开始”按钮,直到获得日间LED,然后按住Shift按钮,直到“淋浴” LED发生切换。

故障排除::如果没有LED亮起,则(希望)电池。替换为已充电的18650。

如果星期几关闭,请加载setRTC草图以设置时间,然后重新加载ShowerMonitor2草图。

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

    关注

    1

    文章

    265

    浏览量

    26514
  • Arduino
    +关注

    关注

    187

    文章

    6461

    浏览量

    186570
收藏 人收藏

    评论

    相关推荐

    EZShunt™数字电流和功率监控器

    电子发烧友网站提供《EZShunt™数字电流和功率监控器.pdf》资料免费下载
    发表于 10-31 09:43 0次下载
    EZShunt™数字电流和功率<b class='flag-5'>监控器</b>

    TI电池监控器IC的HDQ通信基础知识

    电子发烧友网站提供《TI电池监控器IC的HDQ通信基础知识.pdf》资料免费下载
    发表于 10-12 10:01 0次下载
    TI电池<b class='flag-5'>监控器</b>IC的HDQ通信基础知识

    电源电压监控器77xx系列

    电子发烧友网站提供《电源电压监控器77xx系列.pdf》资料免费下载
    发表于 09-29 10:37 0次下载
    电源电压<b class='flag-5'>监控器</b>77xx系列

    数字电源监控器入门

    电子发烧友网站提供《数字电源监控器入门.pdf》资料免费下载
    发表于 09-27 10:30 0次下载
    数字电源<b class='flag-5'>监控器</b>入门

    高性能电压监控器详解—-- 第一部分

    本文阐述了高性能电压监控器的价值,讨论了其基本定义、工作原理、技术规格、拓扑结构和极性。某些高性能电压监控器旨在帮助基于微处理的系统提升可靠性,防止掉电状况下系统出错。本文提供了一些示例。
    发表于 09-18 17:19 834次阅读
    高性能电压<b class='flag-5'>监控器</b>详解—-- 第一部分

    比较电压和处理监控解决方案:分立式电压监控器和看门狗ICs

    电子发烧友网站提供《比较电压和处理监控解决方案:分立式电压监控器和看门狗ICs.pdf》资料免费下载
    发表于 09-18 11:16 0次下载
    比较电压和处理<b class='flag-5'>器</b><b class='flag-5'>监控</b>解决方案:分立式电压<b class='flag-5'>监控器</b>和看门狗ICs

    锁存电压监控器(复位IC)

    电子发烧友网站提供《锁存电压监控器(复位IC).pdf》资料免费下载
    发表于 09-18 10:34 0次下载
    锁存电压<b class='flag-5'>监控器</b>(复位IC)

    在牵引逆变器设计中实现电压基准和监控器

    电子发烧友网站提供《在牵引逆变器设计中实现电压基准和监控器.pdf》资料免费下载
    发表于 09-18 10:30 0次下载
    在牵引逆变器设计中实现电压基准和<b class='flag-5'>监控器</b>

    宽VIN过压和欠压监控器的常见应用

    电子发烧友网站提供《宽VIN过压和欠压监控器的常见应用.pdf》资料免费下载
    发表于 09-02 10:13 0次下载
    宽VIN过压和欠压<b class='flag-5'>监控器</b>的常见应用

    在高压应用中使用电压监控器

    电子发烧友网站提供《在高压应用中使用电压监控器.pdf》资料免费下载
    发表于 09-02 10:13 0次下载
    在高压应用中使用电压<b class='flag-5'>监控器</b>

    在应用TI并联电流监控器时,取样电阻取多大值会比较优化?

    在应用TI并联电流监控器时,取样电阻取多大值会比较优化?输入前需要做滤波处理吗?
    发表于 08-30 08:11

    用物联流量卡的监控器能改变移动流量卡吗

    #物联流量卡#使用物联流量卡的监控器无法直接改变移动流量卡本身的属性和功能。物联流量卡的监控器主要用于监控和管理物联网设备的数据使用情况,提供实时的流量消耗、连接状态和设备运行情况等信息。本文将从物
    的头像 发表于 04-11 17:38 617次阅读
    用物联流量卡的<b class='flag-5'>监控器</b>能改变移动流量卡吗

    典型监控器电路图分享

    监控器是一种用于监控和记录特定场景或目标的设备。它通常由摄像机、存储设备和显示设备等组成,可以通过实时监控或录像回放的方式,提供对特定场景的监视和记录功能。
    的头像 发表于 02-12 12:37 4316次阅读
    典型<b class='flag-5'>监控器</b>电路图分享

    Arduino制作循迹小车教程

    Arduino制作循迹小车完全教程
    发表于 01-05 11:09 4次下载

    看电压监控器怎么去解决电源噪声和毛刺的问题呢?

    电压监控器通过监控电源,在电源发生故障时将微控制置于复位模式,可防止系统出现错误和故障,从而提高基于微控制系统的可靠性。
    的头像 发表于 12-22 18:10 1225次阅读