电子说
第1步:零件
制作我使用的时钟:
- Arduino Uno(但Nano或Mega也可以使用)
- (5)TM1637显示器
- (5)LED(用作AM/PM指示灯)
- (5)220欧姆电阻器
- RTC3231时钟
- AdaFruit NeoPixel棒或其他照明
- 触摸传感器激活光
- 降压转换器以适应功耗
- 框架或外壳(I 3D打印一个外壳,但要有创意)
- 带有插座的12V电源(允许分割输入)
- 可选 - Arduino Uno屏蔽(只是为了使它成为一个更简单)
第2步:入门
我还是TM1637的新手,所以我先编程一个,看看我能做些什么。起初它什么也没做,但是Arduino社区很棒,很快让我开始运行。在我的TM1637上,我不得不切断背面的2个盖子以使其工作,并从那里只是一些试验和错误。最后我仍然无法得到一个时钟的冒号 - 它“替换”位置1的小时数字,但我现在没问题。
接下来,电线首先要确保所有连接和编程都匹配 - 所以,我仍然是一步一步的人。然后通过查找与GMT的时差来确定所需的位置并设置目标位置。现在进行焊接和定位。
步骤3:接线
使用桶装电源连接器作为12v输入,将电源和地线分成1)降压转换器和2)Arduino上的Vin。
使用降压转换器使屏蔽上的5v电源和接地行运行连接,这将稳定任何电源问题。
每个TM1637有4个连接(5v,Grd,数据和时钟),DIO和CLK连接到各个GPIO引脚(我使用2-11)和我的行电源。
对于Meridian指示灯(5个LED)焊接(5)220欧姆接地,阳极连接到A0-A3和D12。
RTC需要5v和Grd以及SDA和SCL(A4和A5)。
灯棒需要接地两次,一次到行,一次到Uno。将5v运行到行,将数据运行到GPIO(D13)。触摸传感器运行至5v和Grd以及GPIO D0。
步骤4:编程
编程非常简单。我使用TM1637display.h库来显示,为每个显示分配一个唯一的名称 - 可以预测的是,使用城市名称。只需更改每个DIO和CLK引脚即可。
使用时差对您的第一个位置进行编码,并根据小时设置LED的AM/PM周长。使用它来复制每个位置。
我将小时分配到0位,2位,没有前导零。对于分钟,我使用‘分钟’并除以10表示数字1(位2,1位)和数字2(位3,1位数)的模数(%)。
使用传感器照亮NeoPixel就像使用Adafruit_NeoPixel库的任何其他按钮/LED组合一样。
简单。
第5步:汇编
制作一个合适的外壳,适合显示器和一些后面的电路板,电源输入和降压转换器。插入,连接电线,打开电源并准备就绪。好吧,可能还有更多,但不管设计如何,这些都是基础知识。
全部0条评论
快来发表一下你的评论吧 !