7. [Micropython]TPYBoard F407 驱动DS3231读取时间、温度

版权声明:翻译整理属于TPYBoard,转载时请以超链接形式标明文章原始出处和作者信息及本声明

7.1. 实验目的

  • 学习在PC机系统中扩展简单I/O 接口的方法。
  • 学习硬件接线方法。
  • 学习TPYBoard F407 Micropython开发板中I2C接口的用法。

7.2. 所需元器件

  • TPYBoard F407 Micropython开发板一块
  • DS3231时钟模块一个
  • 数据线一条
  • 杜邦线若干
  • PuTTY调试工具

7.3. DS3231的接线方法

DS3231时钟模块,通信用的是IIC接口在这只用到DS3231时钟模块的SCL,SDA,VCC,GND四个针脚即可设定读出时间和温度,下面是接线方法。

http://old.tpyboard.com/document/documents/tb407/3231time_1.png

F407 Micropython开发板和DS3231时钟模块的针脚对应关系如下: IIC接口1的接线方法(程序中ds=DS3231(1)调用IIC接口1)

TPYBoard F407 DS3231时钟模块
PB6 SCL
PB7 SDA
3V3 VCC
GND GND

IIC接口2的接线方法(程序中ds=DS3231(2)调用IIC接口2)

TPYBoard F407 DS3231时钟模块
PB10 SCL
PB11 SDA
3V3 VCC
GND GND

7.4. 源代码

接线OK后,导入ds3231.py,编写main.py保存,等红灯熄灭后,RST开发板,用PuTTY可以看到时间和温度。

    # main.py -- put your code here!
import pyb
from ds3231 import DS3231
ds=DS3231(1)
#设置日期
ds.DATE([19,04,01])
#设置时间
ds.TIME([15,10,10])
#延时5秒查看效果
pyb.delay(5000)
#读取秒并打印
print(ds.sec())
#读取日期
print(ds.DATE())
#读取时间
print(ds.TIME())

#读取温度
print(ds.TEMP())