本节课的主题是《电子时钟》。

同学们大家好,欢迎来到S3套件第4节课的学习,本节课的主题是《电子时钟》。接下来我们就来了解一下本节课的一些相关内容。课程引入,从古至今,随着科技的发展,计时的方法也会越来越精确。

从最开始中国古代人们会用日晷来,用作计时的工具,就是根据太阳照射的影子,中间有个杆子,它的影子的角度来进行计时。但是这样的日晷呢,受天气的因素影响很大,并且不同的纬度,也会有所偏差。因此后来人们又想出了使用沙漏,制作沙漏来进行计时。沙漏可以进行一段时间比较精确的计时,还是有一定的局限性。

到近代呢,机械钟出现,然后人们可以掌握了比较精确的计时的方法。机械钟在我们现在生活中,还是非常常见的。当然随着科技的发展,电子时钟走进了我们千家万户对吧。

七星瓢虫v2拆卸教程(七星虫S系列创客套件Mixly版)(1)

手机上有电子时钟,然后家里也会有这样的一个显示时间的电子时钟。电子钟又叫做数显钟叫做数字显示钟,是一种以数字电路技术,来实现时分秒计时的一个装置。和机械钟相比啊,它的计时更加的直观。我们可以直接看到什么12点28对吧,并且因为它不是机械驱动的嘛,使用寿命会更加长,并且准确性会更加的精准。

好接下来我们来学习一下DS1302时钟模块的结构,和电路连接,来看一下。这个是我们的,它比较明显的特征,就在左侧这边有一个小金属管金属状的一个管。然后DS1302的模块呢,这5个接口,分别是GND VCC CLKDAT和IST。就可以进行连接,中间有一小拐芯片,可以看到,在这里好,来看一下电路连接。

七星瓢虫v2拆卸教程(七星虫S系列创客套件Mixly版)(2)

首先来连接一下DS1302的时钟模块上。我们要找到一个5P线,将655线的一端连接到另外一端,GND VCC就对应好。然后CLKDAT和IST连接到234。在我们的扩展板的这个角落,带缺口的这个角落这边,有正负正234。刚好我们就对应连接一下。来连接好之后将DS1302的时钟模块,固定到支架上。

好连接好了,连接好之后,我们再来连接一下上节课所学习的OLED屏。显示屏OLED呢,使用4P线将它连接到IIC接口,另外一端再连接到这边的CLK和SCL和SDA这边的这个IIC接口。连接好之后可以将OLED显示模块,固定到支架上,再来整理一下导线。最后将USB数据线,插到主板上就可以了。

七星瓢虫v2拆卸教程(七星虫S系列创客套件Mixly版)(3)

看一下,我们电路连接好之后,如图所示,程序编写。接下来,我们来编写程序,令OLED显示屏上显示当前的时间。我们来看一下。

首先要找到OLED显示模块在哪呢,在显示器的显示屏里面,就有初始化SSD1306,注意看这分辨率,128乘以64就是我们OLED显示屏的这个OLED的分辨率,然后找到它就可以了。接下来我们来打开mixly,双击打开它一下就好了。打开之后呢,我们来看到在显示器中显示屏里面,第一个这个就是初始化,我们OLED显示屏的这个模块,你可以将它单独放到初始化中,底下这边就是刷新显示然后执行这样的一个函数。函数我们可以在显示屏中找到它,这个配置1的函数,就是打印一个字符串。这个我们放在旁边待会再用。先删除掉。

七星瓢虫v2拆卸教程(七星虫S系列创客套件Mixly版)(4)

我们第一步是先来串口打印一下。此时DS1302时钟模块测到的年月日时分秒,我们在传感器中往下翻可以看到,初始化这边是有DS1302的管脚的,我们观察一下。注意一下IST,我们连接的是4号管脚,这里要修改过来,CIK是2号管脚,所以这边要修改好,这样才能管脚对应正确,才能正常的工作。

我们现在就来初始化中,还要再设定一下RTC的时间,就设定一下它的时间,设定的话,就获取系统时间,系统的年月日和时分秒,日期和时间。接下来可以直接串口打印,打印出我们这边的时分秒,看一下看是否准确。传感器中这边已经设定了RTC时间了嘛,我们就可以直接来获取,获取各位看,中间就加一些文本来进行分割,作用让我们可以看得更加清楚一些。然后希望这时分秒是可以显示在同一行的。就将前面都改为不换行,最后一个自动换行就可以了。

七星瓢虫v2拆卸教程(七星虫S系列创客套件Mixly版)(5)

·这就是修改好之后的串口打印时分秒的程序,将它上传到主板上,打开串口监视器看一下效果怎么样。上传成功之后看一下,现在就是在打印当前的时分秒就可以看到每过1秒后面的秒数会增加,可以等待到他到59秒,然后变成差43分钟的时候看一下看有没有变化。就是每秒钟这里的秒数都会增大一次增大1,来注意看一下。

七星瓢虫v2拆卸教程(七星虫S系列创客套件Mixly版)(6)

变为0秒分数增加1,这边没有问题。接下来就控制这样一个年月日时分秒显示在OLED显示屏上就可以了,来看一下程序怎么编?

七星瓢虫v2拆卸教程(七星虫S系列创客套件Mixly版)(7)

·这里是开始先设定的一个管脚和初始的RTC时间,串口打印这里是没有问题的,可以打印当前的年月日时分秒,正工作内为r,后面就是显示刷新打印文本。文本的内容需要注意一下,文本内容就是获取到的年月日,然后填入进去并且坐标这里是20,再获取时分秒填入进去,Y坐标是50,显示在第一行和第二行,这样完整程序如图所示,看一下初始化程序主程序以及函数程序。

·现在就来编写一下,在显示屏中再拖一遍,只需要底下的显示屏刷新页面就好了,然后找到这样的一个它所包含的函数程序,这里的起始Y坐标也不需要修改,字号大小可以看一下,字号都设定为12,也将它设定的更大一点。

,