大気圧センサ(LPS25H)を試す
- 2016/03/17 20:32
- カテゴリー:気象センサー, Arduino・AVR, 電子工作
これまでの続きで大気圧センサ(LPS25H)を試してみる
温湿度センサを繋いでいるブレッドボードに追加
FSTN液晶モジュールもそのままにしてあるためSPIで接続しCSを8にする
(LPS25H) (arduino) (ATMEGA328P)
1 VDD +3.3V
2 SCL 13 19 SPI共通
3 SDA/SDI 11 17 SPI共通
4 SAO/SDO 12 18 SPI共通
5 CS 8 14 SPI別
6 NC
7 INT1
8 GND GND
こちらからライブラリをいただいてテストプログラムを調整
// 大気圧センサLPS25H(SPI接続)のテスト
//
#include <SPI.h>
#include "skLPSxxSPI.h"
#define LPS25H_CS 8
skLPSxxx LPS(LPS25H,LPS25H_CS); // デバイスはLPS25Hを指定
void setup() {
int ans;
// シリアルモニターの設定
Serial.begin(9600);
// SPIの初期化
SPI.begin(); // SPIを行う為の初期化
SPI.setBitOrder(MSBFIRST); // ビットオーダー
SPI.setClockDivider(SPI_CLOCK_DIV4); // クロック(CLK)をシステムクロックの1/4で使用(16MHz/4)
SPI.setDataMode(SPI_MODE3); // クロック極性 1(HIGH) クロック位相 1(HIGH)
pinMode(LPS25H_CS, OUTPUT); // 気圧センサーのCS
delay(3000); // 3Sしたら開始
// 気圧センサの初期化を行う(更新速度は1Hz)
ans = LPS.PressureInit();
if(ans == 0) {
Serial.println("Initialization normal");
} else {
Serial.print("Initialization abnormal ans=");
Serial.println(ans);
}
delay(1000);
}
void loop() {
LPS.PressureRead(); // 圧力と温度を読み出す
Serial.print("[LPS25H]");
Serial.print(Press); // 気圧値の表示を行う
Serial.print(" hPa ");
Serial.print(Temp); // 温度の表示を行う
Serial.println(" 'C");
delay(1000); // 1秒後に繰り返す
}
特に問題なく動作確認完了