|
闹钟咖啡机,承诺每天早上用新煮的咖啡叫醒你,在Ada编程!
介绍 几个星期前,我的一位同事分享了这个kickstarter项目:The Barisieur。这是一个闹钟咖啡机,承诺每天早上用一杯现煮的咖啡叫醒你。我开玩笑说“给我一台浓缩咖啡机,我也可以这样做”。不久之后,咖啡机就在我的办公室里。现在是时候交付 ![]() 基本的想法是从STM32F469板控制浓缩咖啡机,并使用漂亮的屏幕显示钟面和配置界面。 黑客浓缩咖啡机 第一步是能够用微控制器的3.3V信号控制机器。为此,我打开机箱以获得顶部的两个按钮。警告!如果您不知道自己在做什么,请不要打开这种设备。首先,它可能是危险的,其次,这些东西不能使用,所以很有可能你永远无法将它重新组合在一起。 按钮由两个外露的同心铜迹线制成,位于小型PCB上,导电膜在按下按钮时关闭电路。
我用万用表测量其中一个按钮的两个圆圈之间的电压。令我惊讶的是电压非常高,约为16V。因此,我将不得不使用MOSFET晶体管作为电子开关,而不仅仅是将微控制器连接到浓缩咖啡机信号。 我把那个电路放在一个Arduino原型屏蔽上,然后插在STM32F469迪斯科板后面。剩下要做的唯一事情就是钻一个孔,让电线从机器中出来,并制作几个金属支架连接到电路板上。 编写闹钟软件 对于钟面和配置界面,我将使用Giza,这是我开发的玩具项目之一,用于Ada的面向对象编程功能。这是一个简单的/基本的UI框架。 鉴于屏幕的分辨率(800x480)和我想要显示的文本的大小,使用软件字体渲染将太慢。相反,我将利用STM32F4的2D图形硬件加速(DMA2D)并在可执行文件中嵌入一些位图图像。DMA2D可以非常快速地复制内存块(通常是位图),但也可以将它们从一种格式转换为另一种格式。该项目是在Ada_Drivers_Library中实现索引位图支持的机会。
我还添加了对STM32F4的实时时钟(RTC)的支持,以便能够跟踪时间和日期,当然也可以在用户配置的时间触发咖啡机。 现在是时候把它们放在一起,让我的SO在你可以在本文开头看到的高预算视频中表现 ![]() 代码可以在GitHub上找到:
coffee-clock-master.zip
(178.78 KB, 下载次数: 9)
|
微信公众号
手机版