数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3472|回复: 12

[Arduino] 【MY808diy】ESP8266_DS1302_NTP小钟_V2

[复制链接]
发表于 2019-10-28 16:04:08 | 显示全部楼层 |阅读模式
本帖最后由 lyy-cy 于 2019-10-28 16:07 编辑

看大家都在做钟,刚好自己也需要,就……,据说每个玩单片机的都会做一个。…………于是有了【MY808diy】ESP8266_DS1302_NTP小钟(这个是第一版的)





这个小钟从19年3月份到现在,已经稳定运行了好几个月了(误差小于1秒)。看到打板这么便宜,就试用了一下立创EDA,这个软件很好用,两天就学会了,并且网上下单,真的很快就收到了板子。









因为这次买的数码管内容比较丰富,价格便宜所以没有资料,只能自己先摸索下。




成功点亮,设计上的失误还是飞了两根线。








最后增加了闹铃功能。
还是用1元的arduino盒子做外壳。


最后展示下效果,能显示星期,对时的时候会显示wifi标志。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 1家元 +30 收起 理由
家睦 + 30

查看全部打赏

 楼主| 发表于 2019-10-28 16:05:36 | 显示全部楼层
本帖最后由 lyy-cy 于 2019-11-1 09:17 编辑

占楼备用,其实也没什么用,消灭零回复。:lol:
第一次买少了。




外壳  TB 搜索  Arduino UNO R3开发板外壳 透明亚克力盒子 亚克力保护外壳





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2019-10-28 16:17:56 | 显示全部楼层
我来沙发。不错不错,可惜没资料,没代码,也没说这个LED和1元盒子在哪买的。:titter:
回复 支持 反对

使用道具 举报

发表于 2019-10-28 16:30:54 | 显示全部楼层
kindzhon 发表于 2019-10-28 16:17
我来沙发。不错不错,可惜没资料,没代码,也没说这个LED和1元盒子在哪买的。 ...

的确,这个led有点特色:loveliness:
回复 支持 反对

使用道具 举报

发表于 2019-10-28 18:40:41 来自手机浏览器 | 显示全部楼层
要是能把代码分享出来就好了:lol:
回复 支持 反对

使用道具 举报

发表于 2019-10-28 19:40:23 | 显示全部楼层
这个LED简直就是为你准备的,来个链接看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-1 09:02:59 | 显示全部楼层
renpeng009 发表于 2019-10-28 19:40
这个LED简直就是为你准备的,来个链接看看

我也想买多几个,没想到:sweat:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-1 09:14:39 | 显示全部楼层
kindzhon 发表于 2019-10-28 16:17
我来沙发。不错不错,可惜没资料,没代码,也没说这个LED和1元盒子在哪买的。 ...


代码供参考

  1. import network
  2. import time
  3. from tm1638 import TM1638
  4. from ds1302 import DS1302
  5. from machine import Pin

  6. import gc
  7. gc.collect()


  8. class NtpClock():
  9.     def __init__(self):
  10.         self.hour = 0
  11.         self.min = 0
  12.         self.sec = 0
  13.         self.week = 0
  14.         self.is_WiFi_ok = 0
  15.    
  16.     def setup(self):
  17.         self.ds = DS1302(clk=Pin(16), dio=Pin(5), cs=Pin(13))
  18.         self.tm = TM1638(stb=Pin(4), clk=Pin(14), dio=Pin(12))
  19.         self.wlan = network.WLAN(network.STA_IF)

  20.     def do_connect_wifi(self):
  21.         self.ssid = "home8888"
  22.         self.password = "8888888"        
  23.         self.wlan.active(True)
  24.         self.wlan.connect(self.ssid,self.password)
  25.         _temcont = 0
  26.         while True:            
  27.             _temcont += 1
  28.             if  self.wlan.isconnected():
  29.                 self.is_WiFi_ok = 1
  30.                 print('network connected ...')
  31.                 print('network config:', self.wlan.ifconfig())
  32.                 self.tm.showWIFI(0)
  33.                 return
  34.             elif _temcont >10:
  35.                 print('network is not connected ...')
  36.                 self.tm.showWIFI(1)
  37.                 self.is_WiFi_ok = 0
  38.                 return
  39.             self.tm.showWIFI(_temcont & 0x01)
  40.             self.read_ds1302()
  41.             self.tm1638_show_week()
  42.             self.tm1638_show_hou_min()
  43.             time.sleep(1)
  44.             
  45.     def dis_connect_wifi(self):
  46.         self.wlan.active(False)
  47.         self.is_WiFi_ok = 0
  48.         print('network config:', self.wlan.ifconfig())

  49.     def read_ds1302(self):
  50.         self.hour = self.ds.Hour()
  51.         self.min = self.ds.Minute()
  52.         self.sec = self.ds.Second()
  53.         self.week = self.ds.Weekday()
  54.    
  55.     def tm1638_show_week(self):
  56.         self.tm.week_nub(self.week)

  57.     def tm1638_show_hou_min(self):
  58.         self.tm.time_numbers(self.hour,self.min,colon=(self.sec & 0x01)) #用秒的最后一位判断是否显示冒号,跳动





  59. myPro = NtpClock()
  60. myPro.setup()
  61. myPro.do_connect_wifi()
  62. #myPro.dis_connect_wifi()

  63. while True:
  64.     myPro.read_ds1302()
  65.     myPro.tm1638_show_week()
  66.     myPro.tm1638_show_hou_min()
复制代码





回复 支持 反对

使用道具 举报

发表于 2019-11-1 14:51:16 | 显示全部楼层
kindzhon 发表于 2019-10-28 16:17
我来沙发。不错不错,可惜没资料,没代码,也没说这个LED和1元盒子在哪买的。 ...

优信铄,1元亚克力Arduino  套餐3  没变的话应该是这个,有特价卷可以包邮的,没有就~~~6元
回复 支持 反对

使用道具 举报

发表于 2019-11-1 17:16:29 | 显示全部楼层
刚去搜了一下,现在已经是17.00包邮了。

这个应该是某种播放设备上定制的LED数码管屏。盖一层深色透明玻璃效果更好。
回复 支持 反对

使用道具 举报

发表于 2019-11-6 11:01:54 | 显示全部楼层
加个滤光片更好看
回复 支持 反对

使用道具 举报

发表于 2021-2-26 21:52:16 | 显示全部楼层
楼主,       self.ds = DS1302(clk=Pin(16), dio=Pin(5), cs=Pin(13))
        self.tm = TM1638(stb=Pin(4), clk=Pin(14), dio=Pin(12))
这个和你的电路图不符啊?是I2C管脚可以复用么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-26 23:29:56 | 显示全部楼层
电路图和代码都是不断修改中的,可能不是同一版本;
过去好久了,micropython都忘得差不多了。

别太当真,业余制作,仅供参考。
1302和1638资料很多还有现成的库,自己百度下,分分钟能搞定的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-24 04:42 , Processed in 0.187200 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表