2014年7月1日 星期二

如何使用 Bosch BMP180 數位氣壓感測器模組計算溫度、大氣壓力與海拔高度 ?

Bosch BMP180 數位氣壓感測模組可至露天賣場訂購:
Bosch BMP180 Digital Barometric Pressure Sensor, source: http://www.bosch-sensortec.com/
在這篇網頁,我們將說明如何使用 I2C 通訊方式取得 BMP180 裡的溫度與壓力的原生資料 ( raw data ),並藉由晶片內部存放在 EEPROM 裡的 11 個校正係數,計算出氣壓模組現處環境的溫度 ( 真實溫度 ) 與大氣壓力 ( 真實壓力 )。微處理器間的電路接線與程式測試,請參考後續的部落格網頁中的說明。

由於高度不同產生的大氣壓力也不同,所以由 BMP180 所計算出來的壓力和溫度值,可以用來計算出現處環境的海拔高度作為 "高度計" 使用,但前提是:海平面的壓力必須清楚得知 !

得到高度可以做什麼 ? GPS 導航時,若沒有高度計,上下橋就不知道是在橋上或是橋下;做室內導航時,就不知道現在是在一樓還是在二樓。這些都只是其中的一些應用,所以根據官網以及網路上的資料, BMP180 可以應用在下面的用途上:
  • 加強 GPS 精確導航能力 ( 航位推算,坡度 ( 上下橋 ) 檢測等 ) 
  • 室內與室外導航 
  • 休閒、體育和醫療健康等監測
  • 天氣預測
  • 垂直速度指示 ( 上升 / 下降速率 ) 
  • 風扇轉速控制 ( 利用溫度值 )

BMP180 模組使用提示 - Arduino 接線與程式測試

網頁中所使用的零件可至露天賣場訂購:
I2C 電壓轉換電路請參照下面網頁的說明
BMP180 的晶片使用說明與溫度、氣壓和海拔高度的計算,請參考下面網頁中的說明

如果沒有購買賣場的 BMP180 數位氣壓感測器模組,在沒有賣場提供的程式碼之下,這網頁中的內容就對你幫助不大。

Arduino + I2C 電壓準位轉換電路 + BMP180 數位氣壓感測模組,可在外接其他不同電壓準位的 I2C 裝置

這篇網頁主要是說明如何 BMP180 數位氣壓感測模組與 Arduino 的接線與程式測試,使用 Arduino 本身硬體 I2C 做通訊,並且將輸出結果直接輸出到 Serial Port 上,所有計算過程與結果可直接輸出到其 Arduino Monitor 或是 Serial Port 軟體上。實際完成的接線如上圖所示,程式測試結果請看下面的程式測試部分。

BMP180 模組使用提示 - 單晶片接線與程式測試

網頁最後修改時間:2016/08/03

網頁中所使用的零件可至露天賣場訂購:
I2C 電壓轉換電路請參照下面網頁的說明
BMP180 的晶片使用說明與溫度、氣壓和海拔高度的計算,請參考下面網頁中的說明
    單晶片的配置是最小可動作的線路,接線電路圖可在上述零件購買之後所提供的資料連結的雲端硬碟資料夾 ( schematics\8051_燒錄器.pdf  )中找到,照著電路圖接就可以了。

    如果沒有購買賣場的 BMP180 數位氣壓感測器模組,在沒有賣場提供的程式碼之下,這網頁中的內容就對你幫助不大。

    AT89S52 + I2C 電壓準位轉換電路 + BMP180 數位氣壓感測模組 + {5V}整合型 1602 LCD @ I2C Mode

    這篇網頁主要是說明如何 BMP180 數位氣壓感測模組與 AT89S52 的接線,並且使用 Bit-Banging 的方式模擬 I2C 通訊,讀取與控制 BMP180 與 整合型 1602 LCD,接線與程式測試的結果就如上圖所示。

    BMP180 模組使用提示 - Raspberry Pi 接線與程式測試

    網頁中所使用的零件可至露天賣場訂購:
    I2C 電壓轉換電路請參照下面網頁的說明
    BMP180 的晶片使用說明與溫度、氣壓和海拔高度的計算,請參考下面網頁中的說明

    如果沒有購買賣場的 BMP180 數位氣壓感測器模組,在沒有賣場提供的程式碼之下,這網頁中的內容就對你幫助不大。

    Raspberry Pi + BMP180 數位氣壓感測模組 + {3V3}整合型 1602 LCD @ I2C Mode

    這篇網頁主要說明如何使用賣場所提供的樹莓派 ( Raspberry Pi ) BMP180 程式。這程式只包含一個檔案,所有 BMP180 的操作、溫度、大氣壓力、海拔高度,以及反算海平面壓力與大氣壓力都在其中,經由檔案開頭處的參數設定,就可以很方便操控整個程式 !

    2014年6月18日 星期三

    [ wireless-RF ] Arduino 之間或與 Raspberry Pi 之間的 RF 433MHz 通訊

    網頁中所使用的零件可至露天賣場訂購:

    RF 模組測試 - VirtualWire 函示庫

    許多最近購買無線發射接收模組套件的使用者,來信、留言或是線上討論了一些問題,因此我花了一些時間做了個實驗,使用兩組 Arduino ( Arduino Duemilanove 和 Arduino Pro Mini ) 並使用 VirtualWire 函示庫來做為RF 發射與接收效果的測試,而這兩塊 Arduino 板子不一定要跟我用一樣,用手邊現有的就可以了。

    [ Wireless-RF ] RF433MHZ 無線發射接收模組搭配 HT12( D / E ) 遙控器編碼解碼晶片

    網頁最後修改時間:2023/01/10


    本文主要介紹使用 HT12E 與 HT12D 兩顆晶片,做為無線發射編碼與無線接收模組解碼的方法。除了套件中的零件之外,另外還需要兩塊電路板與 5V (使用三顆鹼性電池) 電源供應 ( 雖然可以使用其它電壓輸入,但是在線路未測試成功之前,建議不要使用其它電壓做測試,避免錯誤時找不到原因 ),麵包板跳線可以使用單芯線取代。

    HT12E 與 HT12D 簡單使用介紹請參考網頁最下方連結檔案,電路圖與麵包板配線方法請看網頁接下來的說明。

    [ Wireless-RF ] RF433 MHZ 搭配微控制器的使用方法

    [ Wireless-RF ] RF433MHZ 無線發射接收模組搭配 Raspberry Pi 控制 74HC595 操控 HT12E 遙控器編碼晶片

    網頁中所使用的零件可至露天賣場訂購:


    使用 75HC595 可以簡單的使用 Raspberry Pi ( 樹莓派 ) 三支 GPIO 接腳設定 HT12E 編碼晶片的位址與資料,可一次控制多達 256 個 HT12D 解碼晶片,很值得學習與使用!

    Raspberry Pi + 74HC595 + HT12E + RF 發射模組

    [ Wireless-RF] 使用樹莓派模擬 HT12E 遙控器編碼晶片的編碼格式

    網頁中所使用的零件可至露天賣場訂購:

    樹莓派控制 RF 發射模組使用 HT12E 編碼模擬

    網路上有許多關於使用無線發射接收模組遙控家用電源開關的例子,但都只侷限在對於市面上各種遙控器的控制,若是能夠直接瞭解其編碼原則以及傳輸格式的話,那不管是哪一種型式的無線電源控制器都能夠一通百通,玩弄於股掌之間。

    本篇文章主要的用意,是要與大家分享如何使用樹莓派來模擬 HT12E 晶片的編碼,並藉由無線發射模組遙控遠端 HT12D 所連接的四顆 LED;若將 LED 換成繼電器,就可以用來無線控制電源的開關,而且可控制到 256 組的無線接收端,每一組控制端可再接四個繼電器,換算起來一組無線發射模組可控制 1,024 顆繼電器。

    要知道怎麼做,就請繼續往下看吧!!

    RF433MHz入門學習套件系列文章

    無線發射接收模組套件可至露天賣場訂購:

    此 RF 433 MHz 入門學習套件,可以學習到無線發射接收模組使用與控制的方法,不管是微控器或是樹莓派都可容易的上手,賣場部落格相關系列文章有:

    套件中 HT12E、HT12D、RF433MHz 無線發射接收模組規格資料請至露天賣場觀看


    RF433MHz(無線發射接收模組)入門學習套件
    RF433MHZ入門學習套件 - 加購 RF433 MHZ 無線發射接收模組
    RF433MHZ - ASK 無線發射接收模組套件


    RF433MHZ入門學習套件 - 加購 433MHZ - ASK 無線發射接收模組套件