對於喜歡爬山的人來講,都會很是關心本身所處的高度跟溫度,海拔高度的測量方法,海拔測量通常經常使用的有兩種方式,一是經過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)