自制电子钟,元素底座-第2部分

你好极客时间!在本文的第一部分中,考虑了在自制手表上获取准确时间的原理。让我们继续考虑如何以及在什么时候得出更好的结果。

1.输出设备


因此,我们有一个特定的平台(Arduino,Raspberry,PIC / AVR / STM控制器等),任务是将一些指示连接到该平台。我们将考虑许多选择。

段指示


这里的一切都很简单。段指示器由普通的LED组成,这些LED通过猝灭电阻器微连接到微控制器。


小心,交通!

优点:设计简单,视角好,价格低。
减:显示的信息量有限。
指示器的设计有两种类型,即公共阴极和公共阳极,其内部看起来像这样(来自制造商网站的图表)。


有一篇有关如何将LED连接到微控制器的1001文章,请谷歌帮助。当我们想要做一个大表时,困难就开始了-毕竟,看一个小指示器并不是特别方便。然后,我们需要这样的指示器(来自eBay的照片):


它们由12V供电,它们根本无法直接在微控制器上工作。CD4511芯片在这里为我们提供帮助,仅用于此目的。它不仅将数据从4位线转换为所需的数字,而且还包含一个内置晶体管开关,用于向指示器供电。因此,在电路中,我们将需要9-12V的“电源”电压,以及一个单独的降压转换器(例如L7805)来为电路的“逻辑”供电。

矩阵指标


实际上,这些是相同的LED,只是采用8x8矩阵形式。来自eBay的照片:


在eBay上以单个模块或成品块的形式出售,例如4件。管理它们非常简单-MAX7219芯片已经焊接到模块上,只需5条线即可确保其操作和与微控制器的连接。Arduino有很多库,希望看到的人可以看一下代码。
优点:低廉的价格,良好的视角和亮度。
减:低分辨率。但是对于输出时间的任务就足够了。

液晶显示器


LCD指示器为图形和文本。


图形更加昂贵,但是它们使您可以显示更多种类的信息(例如,大气压图)。文字更便宜,更容易使用,它们还允许您显示伪图形-可以将自定义字符加载到显示器中。

使用代码中的LCD指示器并不难,但是要减去一点-指示器需要来自微控制器的许多控制线(从7到12),这很不方便。因此,中国人想出了一个LCD指示器和一个i2c控制器的组合,最终证明非常方便-只需连接4条线(来自eBay的照片)。

LCD指示器足够便宜(如果您将其放在eBee上),又大又容易连接,并且可以显示各种信息。唯一的缺点是视角不是很大。

OLED指示灯


它们是先前版本的改进后的延续。它们的大小从对角线为1.1“的小到便宜到大而昂贵。eBay的照片。

实际上,它们对每个人都有益,除了价格。对于小指标,大小为0.9-1.1”,然后(除了研究如何使用i2c之外)还有一些实际应用他们很难找到。

气体排放指示器(IN-14,IN-18)


这些指示器现在非常流行,显然是由于“温暖的管 ”和原始设计。

(来自nocrotec.com的照片)

它们的连接方案有些复杂,因为这些指示器使用170V的电压进行点火。可以在MAX771芯片上制造12V => 180V的转换器。为了向指示器供电,使用了苏联K155ID1微电路,是专门为此创建的。自行生产的发行价:每个指标约500卢布,K155ID1约100卢布,所有其他细节,正如他们在旧杂志上所写的一样,“并不稀缺”。这里的主要困难是IN-xx和K155ID1早已停产,您只能在广播市场或一些专门商店中购买它们。

2.平台选择


我们用指示或多或少地弄清楚了,剩下的决定是哪个硬件平台更好地使用。这里有几种选择(我不考虑自制的,因为对于那些可以制造电路板和焊接处理器的人来说,我不需要这篇文章)。

Arduino的


初学者最简单的选择。成品板价格便宜(在eBay上约为10美元,免费送货),它具有用于编程的所有必要连接器。来自eBay的照片:


在Arduino下,有许多不同的库(例如,用于相同的LCD屏幕,实时模块),Arduino与各种其他模块在硬件上兼容。
主要缺点:调试的复杂性(仅通过串行端口控制台)和现代标准(2KB RAM和16MHz)的较弱处理器。
主要优点:您可以做很多事情,而几乎无需打扰焊接,购买编程器和接线板,将模块相互连接就足够了。

32位STM处理器


对于那些想要更强大功能的人,有带STM处理器的现成板,例如,带STM32F103RBT6和TFT屏幕的板。来自eBay的照片:


在这里,我们已经在成熟的IDE中进行了完整的调试(我最喜欢Coocox IDE),但是,您将需要单独的带有JTAG连接器的ST-LINK编程器-调试器(在eBay上的价格为20-40美元)。或者,您可以购买已经集成了该编程器的STM32F4Discovery调试板,并且可以单独使用。

树莓派


最后,对于那些想要与现代世界完全集成的人来说,有单板计算机和Linux,所有人可能都已经知道Raspberry PI。来自eBay的照片:


这是一台配备Linux,1 GB RAM和一个4核处理器的成熟计算机。板的边缘显示40个引脚的面板,允许您连接各种外围设备(可通过代码访问引脚,例如,在Python中,更不用说C / C ++),还有4个连接器形式的标准USB(您可以连接WiFi)。还有标准HDMI。
该板将具有足够的电源,例如,不仅可以显示时间,而且还可以容纳HTTP服务器,以便通过Web界面设置参数,通过Internet加载天气预报等。通常,幻想飞行的范围很大。

Raspberry(和STM32处理器)只有一个困难-它的引脚使用3伏逻辑,大多数外部设备(例如LCD屏幕)在5V电压下仍能“正常工作”。当然,您可以像这样连接它,原则上它会起作用,但这不是正确的方法,可惜的是浪费了50美元的费用。正确的方法是使用“逻辑电平转换器”,在eBay上仅花费1-2美元。
来自eBay的照片:


现在已经足够通过这样的模块连接我们的设备,并且所有参数都将得到同意。

ESP8266


该方法相当奇特,但由于解决方案的紧凑性和低成本而颇有希望。只需很少的钱(在eBay上约4-5美元),您就可以购买包含板载处理器和WiFi的ESP8266模块。
来自eBay的照片:


最初,此类模块旨在用作串行端口交换的WiFi桥接器,但是发烧友编写了许多替代固件,以与传感器,i2c设备,PWM等配合使用。假设可以从NTP服务器和通过i2c在显示屏上显示它。对于那些想连接很多不同外围设备的人,有一些带有大量结论的特殊NodeMCU板,要价约为500卢布(当然在eBay上):


唯一的缺点是ESP8266的RAM内存很少(取决于固件,从1到32KB),但任务使它变得更加有趣。ESP8266模块使用3伏逻辑,因此上面的电平转换器在这里也很有用。

在完成对家用电子产品的介绍性游览后,作者祝愿所有成功的实验成功。

而不是结论


我最终使用了带有文本指示器的Raspberry PI,该指示器配置为可使用伪图形(比同一个对角线的图形屏幕便宜)。撰写本文时,请拍摄桌面时钟的屏幕。


时钟显示了从互联网获取的确切时间,天气是从Yandex更新的,所有这些都是用Python编写的,并且已经运行了好几个月。同时,FTP服务器按时启动,这不仅允许路由器(同时支持路由器上的端口转发)更新固件,还可以在家中,也可以从任何可以访问Internet的地方进行更新。作为奖励,Raspberry的资源原则上足以连接摄像机和/或麦克风,并具有远程监视公寓或控制各种模块/继电器/传感器的能力。您可以添加各种“容器”,例如用于接收邮件的LED指示灯等等。

PS:为什么选择eBay?
如您所见,已为所有设备提供了eBay的价格或照片。这是为什么?不幸的是,我们的商店经常按照“以1美元购买,以3美元出售,而我靠这2%的价格生存”的原则生活。举一个简单的例子,在撰写本文时,Arduino Uno R3的价格在圣彼得堡为3600卢布,在eBay上为350卢布,而中国免费送货。差异实际上是一个数量级,没有任何文学夸张。是的,您必须等待一个月才能拿走邮件中的包裹,但是我认为这是值得的差价。但是,顺便说一句,如果有人立即且迫切需要它,那么本地商店中必须有选择,那么每个人都可以自己决定。

Source: https://habr.com/ru/post/zh-CN383629/


All Articles