■ BME280 気圧・温度・湿度・高低差 計の製作 ■

 気圧・温度・湿度センサーBME280を使用した、気圧・温度・湿度・高低差計の製作です。
 高度が変わると気圧も変化する原理を利用して、高低差を測定します。
 持ち運びができる様に、ボタン電池を電源としてスチロールSK-2ケースに収めました。


回路の解説
 
1.電源回路

 
 ・ボタン電池「CR2032」 3Vを使用します。
 ・消費電流は、動作時で最大2mA、待機時はATtiny85のマニュアルから約0.2μAです。
  (微少の電流計を持ち合わせていないので、想定値です)

2.AVRとクロック
 
 ・AVRマイコンは、8ピンのAVR「ATtiny85-20PU」を使用。 
 ・動作クロックは、内臓発振器8MHzを1/8した、1MHzで動作しています。

3.気圧・温度・湿度センサー
 
 ・1つのセンサー・モジュールで、温度・湿度・気圧を測定できるBoschのBME280センサーです。
 ・AVRマイコンとの通信は、I2Cインターフェースを使用します。
 ・秋月電子の(AE-BME280)モジュールと、AmazonやAliExpressの(GY-BME280)モジュール
  を使用できます。
 ・BME280の詳細は、「BME280 温度・湿度・気圧センサーを制御する」を参照してください。

4.液晶表示器
 
 ・秋月電子の「I2C接続 小型LCDモジュール 8x2行」 [AQM0802A-RN-GBW]を搭載できる
  ピッチ変換キット「AE-AQM0802」を使用します。
 ・AVRマイコンとの通信は、I2Cインターフェースです。
 
 ・BASCOM-AVRで制御する際には、専用のライブラリを組み込む必要があります。
 ・LCD[AQM0802A , AQM1602XA]共用ライブラリ[ Lcd_AQMxx02.LBX ]をダウンロードして、
  パソコンの下記フォルダーに保存してからコンパイルして下さい。
    C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB
 
 ※専用ライブラリを使用して各自でプログラムを作るときは、下記を記載して下さい。
  (プログラムの一例です。このページの製作(装置)には関係がありません。)
 
Config Scl = Portb.0
Config Sda = Portb.1
I2cinit
Const Vmode = 3
Config Lcd = 16x2 , Chipset = St7032
$lib "Lcd_AQMxx02.LBX"
Initlcd
 'I2CバスのSCLラインを接続するポートピンを設定する。(任意)
 'I2CバスのSDAラインを接続するポートピンを設定する。(任意)
 'I2Cバスを初期化する。
 '[AQMxx02A]の電源電圧。(3.5V以下 = 3 , 3.5V以上 = 5)
 'LCD表示を16文字2行に設定。
 'LCD [AQM0802A]用のライブラリを組み込む。
 'LCDを初期化する。
 
  これ以降は、通常のLCD命令が使用できるようになります。

5.操作スイッチ
 
 ・SKHHPNA010、または汎用のタクトスイッチを2個使用します。
 ・SK-2ケースの高さに合わせて、ケースの穴を大きく開けるか、スイッチの取り付け時に
  基板から1〜2mm浮かせて取り付けるなど、任意で調整してください。

6.[JP1]とISP端子

 
 ・ISP端子は、基板上でAVRにプログラムを書き込むために使用します。
  (プログラムを書き込んだ後は、ISP端子を使用しません)
 ・AVRにプログラムを書き込む際には、[JP1]のショートプラグを必ず抜いて下さい。
 ・通常動作では、必ず[JP1]のショートプラグを差し込んで下さい。 (ハンダによるショートでも可)

 
 ・プログラム書き込み済みのAVRを使用する場合は、ジャンパー線[JP4]と[JP5]、並びに
  ISP端子のピンヘッダは不要です。
 ・同じくジャンパーピン[JP1]は、メッキ線かハンダで接続(ショート)することも可能です。



回 路 図  PDF版 BME280_SK-2_Cir.pdf (241KB)
部品配置図  GIF版 BME280_SK-2_Pcb.gif (99KB)
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。

プログラム  テキスト形式 ソースファイル  BME280_SK2_201.TXT
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 BME280_SK2_201.bas
 
 ・この製作では、ヒューズ ビットを工場出荷状態のまま使用しますので、変更の必要はありません。
 
 ・LCD[AQM0802A , AQM1602XA]共用ライブラリ [ Lcd_AQMxx02.LBX ] をダウンロードして、
  パソコンの下記フォルダーに保存してからコンパイルして下さい。
    C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB

注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。

       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)




左側面

前 面
 
右側面

後 面

プリント基板

基板 部品面
Amazon/AliExpress
GY-BME280
モジュールの場合

基板 部品面
秋月電子
AE-BME280
モジュールの場合

 
LCD基板を搭載
完成状態 
 
基板 ハンダ面


製作について
 
・部品表は、部品の背が低い順に記載してありますので、この順番に取り付けて行きます。
 
・ジャンパー線[JP2],[JP3],[JP4],は、すずメッキ線や被覆電線を使用して下さい。
・ジャンパー線[JP5]は、被覆電線を使用して下さい。
 ※プログラム書き込み済みのAVRを使用する場合は、ジャンパー線[JP4]と[JP5]は不要です。
・積層セラミックコンデンサは、2.54mmピッチの物が取り付け可能です。
・AVRマイコン ATtiny85-20PUは、ICソケットを使用せずに直接基板にハンダ付けします。
 (1番ピンマークに注意、配置図を確認)
・電池ホルダーはLCD基板の支えも兼ねるので、指定の部品を使用して下さい。
・ジャンパーピン[JP1]は、基板上でAVRマイコンにプログラムを書き込む場合に使用します。
 AVRマイコンにプログラムを書き込む際には、ジャンパーピン[JP1]のショートプラグを必ず
 抜いて下さい。
 (通常動作時は、ショートプラグを差し込まないと動作しません)

 ※プログラム書き込み済みのAVRを使用する場合は、ジャンパーピン[JP1]をメッキ線か
   ハンダで接続(ショート)することも可能です。

・ISP端子用ピンヘッダ(6ピン オス)は、ISP端子を使用してAVRのプログラムを書き込む場合に
 取り付けて下さい。 (書き込み済みのAVRを使用する場合は不要です)
・押しボタンスイッチは、SKHHPNA010または汎用のタクトスイッチを基板上に取り付けできます。
 装置をポケットやバッグに入れた時に、不意に電源スイッチが押されないようにケース表面より
 低めに配置されていますので、ケースの使用状況に合わせて高さを調整して下さい。
 ※スイッチをケースの表面に出す(押しやすくする)場合は、スイッチの取り付け時に、
   基板から1〜2mm浮かせて取り付けます。

・気圧・温度・湿度センサーBME280は、細ピンヘッダ(0.5mm角)を使用して取り付けます。
 ◎秋月電子の(AE-BME280)の場合は、基板の上段の穴に取り付けます。
   付属のL型ピンヘッダを使用せずに、ストレートタイプの細ピンヘッダ6ピンを別途入手して
   取り付けます。
   (モジュールのJ3,J1,J2をハンダで接続して下さい)
 ◎AmazonやAliExpressの(GY-BME280)の場合は、基板の下段の穴に取り付けます。
・LCD AQM1602Y-RN-GBWは、ピッチ変換キットに搭載してから取り付けます。
   (プルアップのジャンパ(PU)は接続しません)
 ピッチ変換キットのLCDモジュールを、付属の細ピンヘッダを使用して、基板と樹脂部分の間隔を
 3.5mm空けて取り付けます。 (部品配置図を参照)
  (イラックスチューブ0.7mm等を3.5mmに切ってピンに通すと、高さが決まります)
 
・ケースの基板取り付け穴の加工(皿ビス用)が難しい場合は、2mm厚のウレタンや隙間テープを
 使用して、両面テープでケースと基板を固定して下さい。



操 作 方 法
 
1.電源投入
 
 ・ボタン電池を入れると、気圧・温度・湿度の計測を開始し、計測値が表示されます。
 ・電池を入れても表示が出ない場合は、ISP端子の5ピンと6ピンを一瞬だけショートさせて下さい。
   (ハードウェアの強制リセットが働きます)
 
 ・初期状態では、スイッチの操作を終えてから、約1分後に自動で電源がOFFになります。
 ・電源がOFFになっても、表示や設定および高低差の測定値は保持されています。
 ・電源スイッチ[SW1]を押すと、電源がOFFになる前の状態が再現されて測定が再開されます。
 
 ・[SW1]を押した状態でボタン電池を入れる、またはISP端子の5ピンと6ピンを一瞬だけショート
  させると、LCD画面に現在のプログラム・バージョンが表示されます。

 
2.表示の切り換え
 
 ・電源がONの状態で電源スイッチ[SW1]を押すと、LCDの表示項目が「気圧値+高低差」と
  「温度+湿度」で交互に切り変わります。 
 
 ・「高低差」が表示されている状態で、サンプル速度スイッチ[SW2]を3秒間押し続けると、
  高低差が0.0mにリセットされます。
  (LCD2行目に、*(アスタリスク)マークが順に表示されます)
 ・高低差の基準となる場所で、気圧値が安定したのを見計らってリセットして下さい。
 ・リセットした場所の気圧値を基準にして、気圧値の変化量と係数で高低差を計算し表示します。
  (気圧値は気象条件と時間経過により緩やかに変化するので、高低差の測定時間が長くなると、
   その分誤差も大きくなります)

 
3.サンプリング速度の切り換え
 
 ・気圧値を移動平均する時間を切り換えます。
  (気圧変化に対する表示の更新速度が変わります)
 ・サンプル速度スイッチ[SW2]を押すたびに、[通常]と[高速]に切り替わります。
  (気圧・温度・湿度のサンプリング時間は、0.5秒間隔です)
 
 LCD左下の表示   モード   移動平均数   更新時間 
通常 32個 16秒
高速 8個 4秒

 ・高低差の変化が緩やかな場合は、「通常」モードで測定します。
 ・エレベータなどの様に高速で高低差が変化する場合は、「高速」モードにすると計測の誤差
  (ばらつき)は多くなりますが、高低差を計測する反応が早くなります。

 
4.機能設定モード
 

 ・電源スイッチ[SW1]とサンプル速度スイッチ[SW2]を同時に押すと、機能設定モードに入ります。
 ・下記3項目が設定できます。
 
 LCDのコントラスト調整   30〜50   初期値: 32 
 自動電源オフの時間   0 , 1 , 2 , 3 , 4 分   初期値: 1分
 気圧差から高低差を計算する係数   1hPa = 8〜12m   初期値: 9m

 ・サンプル速度スイッチ[SW2]で、設定値を選択します。
 ・電源スイッチ[SW1]で、次の項目に移ります。
 ・これらの設定は内蔵EEPROMに記憶されますので、電池を交換した後も残されています。
 
 ○コントラスト調整
  ・電池電圧によりLCDのコントラストが変わるので、見やすい値に調整します。
 
 ○自動電源オフの時間
  ・スイッチの操作を終えてから、設定時間(1〜4分)後に自動で電源がOFFになります。
  ・[0]を選択すると自動OFFは無くなり、電源スイッチ[SW1]は下記の動作を繰り返します。
    電源ON → [気圧値+高低差 表示] → [温度+湿度 表示] → 電源OFF
 
 ○気圧差から高低差を計算する係数
  ・気圧を測定する絶対高度が1,000m高くなると、1hPa変化した時の高低差[m]の係数が1m程度
   大きくなるようです。
  ・厳密な計算式で計算するほど高性能な装置ではないので、測定する高度に合わせて係数を
   選択して下さい。
  ・気圧と高度の詳細な関係は、各自で研究して下さい。


◎ このプリント基板と書き込み済みAVRを、実費頒布しております。
 
  基板・部品の頒布室



   電子工作の部屋 Top へ 前のページへ戻る