对于喜欢爬山的人来讲,都会很是关心本身所处的高度跟温度,海拔高度的测量方法,海拔测量通常经常使用的有两种方式,一是经过GPS全球定位系统,二是经过测出大气压,根据气压值算出海拔高度。萝卜教育tpyboard。comhtml
BMP180是一直常见的气压传感器,BMP180是一款高精度、小体积、超低能耗的压力传感器,能够应用在移动设备中,它的性能卓越,精度最低能够达到0.03hPa,而且耗电极低,只有3μA;BMP180采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,能够经过I2C总线直接与各类微处理器相连。萝卜教育tpyboard。compython
咱们用TPYBoard v102跟BMP180气压传感器和OLED液晶屏制做一个简易的家庭气象站,检测屋内气压、温度跟当地海拔的高度。有兴趣的朋友能够接入其余的传感器,并显示在OLED上。萝卜教育tpyboard。com性能
上面是BMP180的实物图跟TPYBoard v102的实物图,OLED我就不介绍了,若是有须要的能够参考这个http://www.tpyboard.com/support/studyexample14/268.html,下面告诉你们硬件接线方法:spa
链接完毕后,将font.py,ssd1306.py与bmp180的库导入,就能够经过如下方法分别读取温度、气压、海拔高度。萝卜教育tpyboard。comcode
from bmp180 import BMP bmp=BMP180(1) tem=bmp.getTemp() press=bmp.getPress() altitude=bmp.getAltitude()
导入须要的类库,编辑好main.py,直接运行就ok了,下面是main.py的程序源码
htm
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)