这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » [Micropython][ESP8266]TPYBoard v202定时器功能

共3条 1/1 1 跳转至

[Micropython][ESP8266]TPYBoard v202定时器功能

菜鸟
2017-03-11 15:14:19     打赏

      转载请注明原贴来源
    一、实验目的
    学习在PC机系统中通过putty使用定时器功能。
    二、所需元器件
    TPYBoard-esp8266开发板一块
    数据线一条
    三、实现方法
    1.增加一个执行一次的定时器
    from machine import Timer
    tim = Timer(-1)  #新建一个虚拟定时器
    tim.init(period=5000, mode=Timer.ONE_SHOT, callback=lambda t:print(1))
    此处执行时程序会等待5秒打印1,period=5000 以毫秒为单位,mode=Timer.ONE_SHOT 表示只执行一次
    callback=lambda 回调函数(period=5000, mode=Timer.ONE_SHOT,t:print(1))
    2.增加一个循环定时器
    from machine import Timer
    tim = Timer(-1)  #新建一个虚拟定时器
    tim.init(period=2000, mode=Timer.PERIODIC, callback=lambda t:print(2))
    此方法执行时系统会每隔两秒无限打印2。
    四、利用定时器来获取温湿度
    1.硬件实物图

    只需要将DHT11温湿度传感器的针脚与TPYBoard V202针脚连接起来即可,本次实验我们将DHT11的VCC连接TPYBoard V202的5V,DHT11的DATA连接TPYBoard V202的G4,DHT11的GND连接TPYBoard V202的GND,连接完成后,将下面代码写进TPYBoard V202即可没过几秒读取当前温湿度的值,下面是源代码:

    from machine import Timer
    import dht
    import machine
    def f(t):
    d=dht.DHT11(machine.Pin(4))
    d.measure()
    a=d.temperature()
    b=d.humidity()
    print('温度:',a,'°C')
    print('湿度:',b,'%')
    tim = Timer(-1)  #新建一个虚拟定时器
    tim.init(period=2000, mode=Timer.PERIODIC, callback=f)
    用串口调试工具的效果图即每2秒读取一次温湿度,并打印

    若想做一下扩展,可将温湿度显示到OLED显示屏上,这样一个小型的DIY温湿度检测仪就诞生了。




关键词: Micropython     ESP8266     TPYBo    

管理员
2017-03-12 17:45:58     打赏
2楼
谢谢楼主分享  涨姿势了

专家
2017-03-13 08:45:31     打赏
3楼
不错,谢谢楼主分享。

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]