|
對于喜歡登山的人來說,都會非常關(guān)心自己所處的高度跟溫度,海拔高度的測量方法,海拔測量一般常用的有兩種方式,一是通過GPS全球定位系統(tǒng),二是通過測出大氣壓,根據(jù)氣壓值算出海拔高度。
BMP180是一直常見的氣壓傳感器,BMP180是一款高精度、小體積、超低能耗的壓力傳感器,可以應(yīng)用在移動設(shè)備中,它的性能卓越,精度最低可以達(dá)到0.03hPa,并且耗電極低,只有3μA;BMP180采用強(qiáng)大的8-pin陶瓷無引線芯片承載(LCC)超薄封裝,可以通過I2C總線直接與各種微處理器相連。蘿卜教育tpyboard。com
我們用TPYBoard v102跟BMP180氣壓傳感器和OLED液晶屏制作一個簡易的家庭氣象站,檢測屋內(nèi)氣壓、溫度跟當(dāng)?shù)睾0蔚母叨取S信d趣的朋友可以接入其他的傳感器,并顯示在OLED上。蘿卜教育tpyboard。com
圖片2.png (207.59 KB, 下載次數(shù): 64)
下載附件
2018-12-20 09:16 上傳
圖片1.png (71.15 KB, 下載次數(shù): 64)
下載附件
2018-12-20 09:16 上傳
上面是BMP180的實物圖跟TPYBoard v102的實物圖,OLED我就不介紹了,下面告訴大家硬件接線方法:
圖片3.png (8.89 KB, 下載次數(shù): 55)
下載附件
2018-12-20 09:17 上傳
連接完畢后,將font.py,ssd1306.py與bmp180的庫導(dǎo)入,就可以通過以下方法分別讀取溫度、氣壓、海拔高度。蘿卜教育tpyboard。com
- from bmp180 import BMP
- bmp=BMP180(1)
- tem=bmp.getTemp()
- press=bmp.getPress()
- altitude=bmp.getAltitude()
復(fù)制代碼
導(dǎo)入需要的類庫,編輯好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)
- # 顯示出你想要顯示的內(nèi)容
- display.display()
- pyb.delay(3000)
復(fù)制代碼
|
|