首页 > 平台 > Hackaday.io上的树莓派项目-加班:上网闹钟

Hackaday.io上的树莓派项目-加班:上网闹钟

Hackaday.io上的树莓派项目-加班:上网闹钟
关于项目
项目描述:标准的闹钟在早上叫醒你,并告诉你时间。对于我们每天花费超过 7 小时的东西, 这没什么。如果你曾经试图猛击打盹按钮,斜视着小显示屏,试图在半睡半醒时阅读时间,你就会知道有很多改进的可能。这就是为什么我做了这个原型, 加班, 互联网连接的闹钟。它将有你需要的每一个功能,就在你的床边。它由两部分组成,控制面板安装在床的一侧,包含可选择昏暗照明的控件,以便您可以在黑暗的房间里看到它们。另一半是显示器,安装在床的对面或上方。
项目图片
项目详情
这个钟会告诉你你在床上需要的一切。它告诉你时间和日期,当然,但它也可以告诉你床外的温度,或天气预报。在白天,它可以作为一个无神论的作品,显示很酷的模式在其庞大的七段显示。它甚至扮演特瑞斯, 因为你知道, 为什么不呢?
而且,它的互联网连接。最明显的用途是保持时间同步,但连接的闹钟的使用更加多样化。想象一下醒来,你看到的第一件事就是今天的天气预报,或者闹钟提前叫醒你,因为它注意到你的谷歌日历上有个重要的会议。它也许可以控制其他互联网连接设备,允许您打开或关闭床灯,或启动咖啡机,或确保您的安全系统配备。
1 X 树莓派
1 X 7 段显示矩阵
2 X 照明导弹开关
1 X 照明旋转编码器
1 X 5 路选择器威奇
2 X 丝带电缆
1 X Rtc
1 X Dht22 或模拟
我的旧闹钟现在几乎完全坏了,给了我更多的动力去这个项目。它还在显示屏上安装了 DHT22,使用连接到控制器的 10 路带状电缆上的最后一根剩余导线。
它现在实际上在使用中,虽然"警报"部分还没有完全工作,它确实报告的时间,温度,湿度,日期,作为床头灯,当然,它仍然发挥四分五中。
我已经移动了一下界面从上到下显示的:
上午/下午和秒
分离
小时和分钟
分离
月份(字)和月份之日
星期和月(数字)
空白
空白
空白
湿度(%)
温度(摄氏度)
表观温度(摄氏度)
电线也热粘到位,以保存得更好
知道温度是非常有用的,所以当我起床,我确切地知道到什么程度,我会冻死。DHT 库需要一些修改,因为从 DHT 恢复数据大约需要半秒钟,并且需要禁用中断。在不定期更新的情况下,显示完全空白,因此我使用运行更新显示方法的自定义延迟函数替换库中的任何延迟,直到正确的时间经过,并且效果非常好。
但是,有一个大问题。其中一个连接似乎在一夜之间松动,并影响移位寄存器的数据信号,导致显示器失控。这从来没有发生,在一周我一直在运行它,但非常一贯的晚上,所以我想这与非常低的温度有关。按电线固定它一天, 但这显然不是一个永久的解决方案。我会看看我能否重新固定故障连接, 这可能有点困难, 因为连接上有热胶水。
出于某种原因, hackaday 项目喜欢裁剪我的图像, 所以我的系统设计的左右位被切断。左侧的连接通向 RTC,Pi 右侧是与路由器的以太网连接。不多。
"内部传感器"目前只需指温度计和湿度传感器。RTC 可能也属于这一类。传感器将被使用,以便用户可以看到他们是多么冷,当他们离开他们舒适的床。知道这些信息是好事还是坏事由你:)
7 段显示连接基本上是一条标准的 10 路带状电缆,具有用于控制柱的移位寄存器的电源、接地、时钟+数据+更新输出的引脚,以及用于列选择的 4 位导线。最后的电线目前未使用,但可能是另一块地。
所有其他指示灯(旋转编码器的 RGB 通道和 2 个开关 LED)都连接到 PWM 引脚,因此可以调暗或脉冲。其余的布线是很明显的。
目前,该原型不适合使用其当前组件进行生产运行。显示屏实际上是一个从银行的汇率符号和主控制器是一个相当昂贵的 Arduino Mega 。
我使用巨型主要为未来打样,因为我的Uno用于另一个项目,但一个 ATMega328有足够的引脚来控制所有需要的组件。
汇率符号基本上是一个 7 段显示的矩阵。左侧的移位寄存器用于行和 4 位解码器以及一些晶体管来驱动列。复制非常简单。但是,无论在大小还是数字计数上,显示屏都相当大。生产版本的显示可能会小一点。
有一件事需要考虑这样的事情是它要在晚上做什么。对于不能睡在照明房间的人, 显示屏不能整夜保持全亮度。还有一个事实是,它浪费电力。
我想对显示器进行 PWM 控制,但由于寻址系统的工作方式,这并不容易。但是,当只有一列时,可以进行 PWM。
当显示器处于待机状态时,它将在中间列之一上垂直显示时间。旋转编码器控制显示器的亮度。按下旋转编码器可以暂时启用屏幕,以便您只要按下按钮,就可以看到所有细节。
时钟内置了 RTC,因此无需树莓派操作。当然,当 Pi 连接时,它能够完成更多,因为它依赖于 Pi 的当前时间和任何与互联网相关的内容。
Pi 可能也消耗相当多的电力。也许时钟可以控制Pi与继电器,并在闹钟响前半小时启动它,以便它有时间启动,所以它可以获取最新的天气预报,以显示用户时,他/她终于醒来。不过,这将删除具有实时通知的能力。
顺便说一下, 它不需要是树莓派。通信程序是用 Java 编写的,因此可以使用任何具有 USB 或串行端口、互联网连接和 Java 的计算机,例如旧笔记本电脑。
显然,这个项目需要进行大量的沟通;否则它不会是一个连接的项目。
主要通信将在阿杜伊诺巨型和树莓派之间。Mega 会通过其 USB 串行连接到 Pi 上的 Java 程序从 Pi 请求数据,该程序会响应相应的数据。Pi 绝不会在没有通知的情况下向 Mega 发送数据,但 Mega 可能会定期请求任何新通知。
Pi 上的 Java 程序将反过来与 Internet 上的服务器通信,以获得确切的当前时间和天气信息或任何其他相关信息。这就是我挣扎的地方: 我似乎找不到一个有效的 Java 天气预报 API, 或者至少一个适合我的。我相信我最终能找到一个。
目前,该原型不适合使用其当前组件进行生产运行。显示屏实际上是一个从银行的汇率符号和主控制器是一个相当昂贵的 Arduino Mega 。
我使用巨型主要为未来打样,因为我的Uno用于另一个项目,但一个 ATMega328有足够的引脚来控制所有需要的组件。
汇率符号基本上是一个 7 段显示的矩阵。左侧的移位寄存器用于行和 4 位解码器以及一些晶体管来驱动列。复制非常简单。但是,无论在大小还是数字计数上,显示屏都相当大。生产版本的显示可能会小一点。
1503881740
368次阅读
2020-08-27