极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14374|回复: 1

MicroPython-GPS开发板控制5110显示温度湿度亮度

[复制链接]
发表于 2017-6-1 16:03:14 | 显示全部楼层 |阅读模式
  TPYBoardV702是支持通信定位功能的MicroPython开发板:支持Python3.0及以上版本直接运行。支持GPS+北斗双模定位、GPRS通信、短信功能、电话功能;板载温湿度、光敏、三轴加速度传感器、蜂鸣器、LCD5110显示屏。免费提供定位测试服务平台。实物如下图:



  一、利用TPYBoardV702完成所在地温湿度及亮度数据采集

  1、具体要求

  利用TPYBoardV702完成实时采集所在地亮度,并根据采集的亮度值控制LED灯的亮度。

  2、所需器件

  TPYBoardV702开发板一块

  LED灯和光敏系统均属于板载器件,无需外接

  3、光敏系统介绍

  V702开发板上板载了一个光敏传感的系统,利用stm32的ADC检测进行数值采集,这里的ADC数值输入引脚我们使用了Y12。这样我们不停地调用ADC方法,就可以实时的检测到所在地的亮度值是多少。

  注:如果没有V702,把光敏系统的输出端接到V102开发板的“Y12”脚也可以的脚也可以的。

  二、制作主要过程

  先看下视频演示,下面再开始说代码的问题。

  https://v.qq.com/x/page/y0505rczq00.html

  1、制作过程

  (1)首选把定义声明需要用到的类库;

  (2)定义一下需要用到的变量;

  (3)下面开始主函数的编写,定义ADC的的引脚和模式,上面介绍了V702开发板的光敏系统我们使用的引脚是Y12引脚,我们这里需要把引脚数定义成Y12,其他的我们缺省处理;

  (4)完成以上工作后,读取ADC引脚的返回值,这样就可以获取到亮度值;

  (5)在完成亮度值的获取后,通过自定义的算法得到可以用来PWM输出的值;

  (6)设置定时器的标示和输出频率;

  (7)设置定时器通道,输出格式以及对应引脚;

  (8)把之前得到的变量写进PWM输出中去;

  (9)程序进行到这里剩下的就是不断的循环执行。

  2、具体代码:

  
  1. # main.py -- put your code here!
  2. #main.py
  3. import pyb
  4. from pyb import Pin
  5. #import time
  6. from pyb import Pin, Timer#声明类库

  7. a=0
  8. w=0
  9. e=1.00
  10. while True:
  11.     ads = pyb.ADC(Pin('Y12'))#定义"Y12"引脚为ADC输入引脚
  12.     a=ads.read()#读取ADC引脚“ads”当前的ADC输入值,并将当前值付给变量"a"
  13.     print("a=",a)#打印变量"a"的值
  14.     e=a/30-8#自制算法,从变量"a"中得到我们需要的PWM输出的变量"e"的值
  15.     tm2=Timer(2, freq=1000000)#设置定时器和定时器的频率
  16.     #tm3=Timer(3, freq=1000)
  17.     led3=tm2.channel(1, Timer.PWM, pin=Pin.cpu.A15)#设置输出通道为1,设置输出格式为PWM,设置输出引脚为PA15,这里对应的是绿色灯
  18.     led3.pulse_width_percent(e)#把计算出的变量"e"写入到PWM输出中
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 22:24 , Processed in 0.052507 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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