这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » MicroPython-TPYBoard开发板DIY小型家庭气象站

共1条 1/1 1 跳转至

MicroPython-TPYBoard开发板DIY小型家庭气象站

助工
2017-08-22 16:57:43     打赏

  对于喜欢登山的人来说,都会非常关心自己所处的高度跟温度,海拔高度的测量方法,海拔测量一般常用的有两种方式,一是通过GPS全球定位系统,二是通过测出大气压,根据气压值算出海拔高度。MicroPython技术交流群:157816561


  BMP180是一直常见的气压传感器,BMP180是一款高精度、小体积、超低能耗的压力传感器,可以应用在移动设备中,它的性能卓越,精度最低可以达到0.03hPa,并且耗电极低,只有3μA;BMP180采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,可以通过I2C总线直接与各种微处理器相连。


  我们用TPYBoardv102跟BMP180气压传感器和OLED液晶屏制作一个简易的家庭气象站,检测屋内气压、温度跟当地海拔的高度。有兴趣的朋友可以接入其他的传感器,并显示在OLED上。


1.jpg

  BMP180实物图


2.png

  TPYBoardv102实物图


  上面是BMP180的实物图跟TPYBoardv102的实物图,OLED我就不介绍了,如果有需要的可以参考这个http://www.tpyboard.com/support/studyexample14/268.html,下面告诉大家硬件接线方法:

OLED液晶屏

TPYBoard V102

BMP180气压传感器

GND

GND

GND

VCC

3.3V

VIN


X9

SCL


X10

SDA

D0/SCK

X6


D1/SDA

X8


RES

Y10


DC

Y9


CS

NC





  效果展示图

3.jpg


  连接完毕后,将font.py,ssd1306.py与bmp180的库导入,就可以通过以下方法分别读取温度、气压、海拔高度。



from bmp180 import BMP

bmp=BMP180(1)

tem=bmp.getTemp()

press=bmp.getPress()

altitude=bmp.getAltitude()

  导入需要的类库,编辑好main.py,直接运行就ok了,下面是main.py的程序源码


import pyb

from ssd1306 import SSD1306

from bmp180 import BMP180

 

bmp=BMP180(1)

display = SSD1306(pinout={'dc': 'Y9',

                          'res': 'Y10'},

                  height=64,

                  external_vcc=False)

while 1:

       tem=bmp.getTemp()

       press=bmp.getPress()

       altitude=bmp.getAltitude()

       display.poweron()

       display.init_display()

       display.draw_text(1,1,str(tem),size=1,space=1)

       display.draw_text(60,1,'C',size=1,space=1)

       display.draw_text(1,10,str(press),size=1,space=1)

       display.draw_text(60,10,'pa',size=1,space=1)

       display.draw_text(1,20,str(altitude),size=1,space=1)

       display.draw_text(60,20,'m',size=1,space=1)

       # 显示出你想要显示的内容

       display.display()

       pyb.delay(3000)




共1条 1/1 1 跳转至

回复

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