ds1302典型电路图_ds1302外围电路

ds1302典型电路图_ds1302外围电路制作一个简易时钟,代码电路开源想做一个成本很低的时钟练手,最好带一个闹钟功能。准备自己设计电路、外壳,再自己写代码、组装成品。要实现这样一个时钟,硬件方面我需要用到:查理复用法驱动数码管外接ds1302时钟芯片无源“蜂鸣器”:用来播音乐热敏电阻:用来测量温度这个时钟还需要兼容:HK32F

制作一个简易时钟,代码电路开源
  想做一个成本很低的时钟练手,最好带一个闹钟功能。ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  准备自己设计电路、外壳,再自己写代码、组装成品。

  要实现这样一个时钟,硬件方面我需要用到:查理复用法驱动数码管外接ds1302时钟芯片无源“蜂鸣器”:用来播音乐热敏电阻:用来测量温度

  这个时钟还需要兼容:HK32F030M、STM8S003、n76e003at20

  最后的成品是这样的。ds1302典型电路图_ds1302外围电路https://www.zhihu.com/video/1555954969173446656

  电路原理说明

  这是用查理复用法3个io驱动6个LED的原理图。

  ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  假设此时P1高,P3低,P2高阻,此时LED6亮,虽然LED1和LED3串联有正向电压,但由于LED6钳位,使得电压不足以同时导通。

  ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  若P1高,P2、P3都为低,此时LED1和LED6都亮,都亮度不及上面的状态,因为两个LED的电流都流过P3电阻,P3电阻分压加大。

  ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  所以每个限流电阻上并联一个二极管,利用单向导通性,使得电阻在特定电流方向下,两端分压一致,使得同时亮的LED亮度一致。

  ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  PCB走线如下

  ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  核心算法说明

  不是说我代码不开源,而是代码放出来了,即使有100个人下载。然而有80个人看不懂。

  那我不如只列出特别的算法,图文并茂地讲解,让更多的人能看懂。

  1.ADC超采样

  由技术文档可知HK32F030M的ADC有效精度是8bit,如果温度要显示到小数点后1位起码要12bit的ADC,

  这怎么办呢?

  这时就可以用超采样技术。

  第一步,ADC设置成连续转换,EOC转换完成中断

  第二步,在中断里累加ADC读回来的值(反正后面都要求平均数,不如先加起来)。

  这里由于按键与热敏电阻共用同一路ADC,为了按键扫描正常,刷新率取比1000Hz稍大的数。

  2.数码管上下移动动画

  动画特效一大堆,这里举一个简单一点的,用下移做例子

  ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  上图展示的是下移的过程,提取重复的部分,只有一个步骤(上移同理)

  3.走时误差校准

  首先这个DS1302很多人都反馈不准,其实是有诀窍的:

  这个网址可以参考下:http://www.51hei.com/bbs/dpj-177015-1.html

  下面的代码调时间的。

  由于我这里没有年月日,只有星期,所以轻松一点。不用考虑更多的进制。

  和上面网址里的一样,挑一个夜深人静的时候校准。当然校准时有概率会跳过闹钟。但谁会设置午夜凶铃呢?

  加一点补充,怕有人不理解自动校准。

  比如你的手表一天快了1分钟。当我只观察这个手表时,这个手表走了1天多1分钟时,调慢1分钟,就能和标准时间对上。

  当然在校准前一刻快了的59秒。

  但每天的累计误差被压缩了。

  现在经过我这套算法。

  设置好后,一个星期最大相差1秒以内。

  一年下来,误差也就一分钟。

  4.时间校准方法

  每天在同一个固定的时间段来调整时间,先根据第一天的观察来决定要每天偏移多少秒。

  输入到AC_DAY的设置里。然后再重新设置时间。

  同理,一个星期后再调节AC_WEEK。这样就完成了。

  由于校准数据是存在DS1302的内存里的。如果电池没电数据就清空的,建议在PCB上写上校准参数。

  外壳制作过程

  通过数字的槽内壁喷上一层黑漆,再倒入不同颜色的树脂的方法:

  黑漆防止“泛光”,白色树脂将led的光线“匀”开,透明树脂将光投射到上层。ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  遮盖ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  喷漆+倒胶+擦拭油漆

  喷漆前一天熬夜上头忘记拍喷漆和倒胶了,就只留个倒胶图吧。加上滴胶凝固大约1天关于滴胶之前尝试过按1/3比例配置但比例没控制好,重新试了下发现树脂混合时比较稀的时候效果最好。

  成品

  滴胶挺硬的,两侧泛光的现象几乎没有,但led的光晕开效果不明显,而且正面效果确实不咋地。

  数字面板几乎是全黑的,等想做2.0看先灌白色树脂再喷漆效果如何吧。ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路ds1302典型电路图_ds1302外围电路

  文章中所有资料的来源如下

  最丐条形时钟 – 嘉立创EDA开源硬件平台

  如果你认为这篇文章有用的话

  欢迎点赞、、转发~

  我会持续更新优质开源项目

激活谷谷主为您准备了激活教程,为节约您的时间请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/91409.html

(0)
上一篇 2024年 5月 31日 下午10:16
下一篇 2024年 5月 31日

相关推荐

  • visio怎么读区图片_图片转visio格式

    visio怎么读区图片_图片转visio格式时序图怎么画?想知道用什么工具能画出特别精美的时序图。首先说下时序图的创建步骤1、确定交互过程的上下文;2、识别参与过程的交互对象;3、为每个对象设置生命线;4、从初始消息开始,依次画出随后消息;5、考虑消息的嵌套,标示消息发生时的时间点,则采用FOC

    2024年 5月 15日
  • const和volatile区别

    const和volatile区别- const和volatile是两个类型修饰符,它们可以用来修饰变量,表示变量的特殊属性。- const表示变量是只读的,不能被程序修改,但可能被外部因素修改,例如硬件设备或其他程序。- volatile表示变量是易变的,可能被外部因素修改,而且编译器不应该对其进行优化,

    激活谷笔记 2024年 5月 18日
  • linux线程同步互斥锁_linux线程同步与互斥

    linux线程同步互斥锁_linux线程同步与互斥Linux内核同步机制(5)_互斥锁一、互斥锁原理mutex 结构体从定义里可以看出来 (1)互斥锁的实现里使用了一个原子变量,1表示锁没有被占用,小于1的值表示锁被占用。 (2)wait_lock是防止在操作wait_li

    激活谷笔记 2024年 5月 23日
  • html表单的作用和常用表单类型一样吗_html表单的主要作用

    html表单的作用和常用表单类型一样吗_html表单的主要作用大数据面试题(五)321.TCP为何采用三次握手来建立连接,若釆用二次握手可以吗,请说明理由?三次握手是为了防止已失效的连接请求再次传送到服务器端。 二次握手不可行,因为:如果由于网络不稳定,虽然客户端以前发送的连接请求以到达服务方,但服务方

    2024年 5月 31日
  • c面向对象和面向过程的区别是什么

    c面向对象和面向过程的区别是什么“这里是云端源想IT,帮你轻松学IT”嗨~ 今天的你过得还好吗?每个人都有一个觉醒期但觉醒的早晚决定个人的命运- 2023.08.09 -Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现

    激活谷笔记 2024年 5月 19日
  • ios应用开发软件哪个好用

    ios应用开发软件哪个好用Visual Studio Code:跨平台的轻量级代码编辑器,支持多种编程语言和插件。优点:轻量级、跨平台、支持多种编程语言和插件、内置调试器和终端、智能代码提示和错误修复功能。缺点:占用内存较大、启动速度较慢、对于大型项目可能不够稳定。Eclipse:Java开发工具,具有丰富的插件和扩

    激活谷笔记 2024年 5月 19日
  • fft计算频谱_fft法计算频谱

    fft计算频谱_fft法计算频谱用FFT对信号作频谱分析x1n=[ones(1,4)];M=8;xa=1:(M/2);xb=(M/2):-1:1;x2n=[xa,xb];x3n=[xb,xa];

    激活谷笔记 2024年 5月 27日
  • 函数已有主体怎么解决方法问题_函数已有主体怎么解决方法问题

    函数已有主体怎么解决方法问题_函数已有主体怎么解决方法问题C语言提示函数已有主体怎么解决如果C语言中的函数已经有主体,意味着该函数已经被定义了。如果你想对该函数进行修改或添加新的功能,可以在函数主体中进行相应的修改或添加代码。如果你只想使用该函数,可以直接在其他地方调用该函数。如果你不确定如何修改已有的函数主体,可以参考以下步骤:确保你理解函数的功能和

    激活谷笔记 2024年 5月 28日
  • 积分电路输出波形不理想的原因是_积分电路输出波形不理想的原因是什么

    积分电路输出波形不理想的原因是_积分电路输出波形不理想的原因是什么积分电路详解:原理和作用,和电路解析积分电路的原理和作用        积分电路是使输出信号与输入信号的时间积分值成比例的电路积分电路主要用于波形变换、放大电路失调电压的消除及反馈控制中的积分补偿等场合。

    2024年 5月 26日
  • 分区表的作用和意义_分区表的作用和意义是什么

    分区表的作用和意义_分区表的作用和意义是什么分区表是做什么用 分区表的作用介绍【详解】分区表是运用硬盘,必须了解的最最基础的知识,你可能常听搞电脑的人说MBR、GPT这两个专业术语,指的就是硬盘分区表。分区表是做什么用的呢?简单的说,分区表的作用就是把一块单独的物理硬

    2024年 5月 29日
  • 计算机组成的部分_计算机组成的部分有哪些

    计算机组成的部分_计算机组成的部分有哪些计算机基本组成包括哪些部分?各部分的功能各有哪些?原标题:计算机基本组成包括哪些部分?各部分的功能各有哪些?(1)计算机基本组成显示器、显示卡、主机箱和电源、主CPU、内存、硬U盘、声卡、键盘、光驱、软驱和软盘、网卡、调制解调器

    激活谷笔记 2024年 5月 29日
  • anaconda和python区别 蛇_anaconda编写python

    anaconda和python区别 蛇_anaconda编写python如何理解R中因子(factor)的概念?刚开始学R,对因子的概念弄不清楚。怎样辨别一个变量是因子还是类别型变量?另外,怎样理解stringsAsFactors=FALSE这个参数,什么情况该加什么情况不该加?谢谢大神!统计学里面定类变量,定序变量,定距变量和定比变量,这是是层层递进的关系,关于

    2024年 5月 10日
关注微信