Arduinoで作ろう(26) 気温・湿度・気圧のデータロガー (その2)
前回のデータロガーに以前使ったRTCモジュールを追加しました。
これで時刻をちゃんと取得できるので,もうExcelで ごにょごにょ しなくて済みます。
スケッチはコレ→ 20190825sd_write2.ino
/*
SD card datalogger RTCモジュール付き
*/#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <RtcDS3231.h>
#include "SparkFunBME280.h"
RtcDS3231<TwoWire>
Rtc(Wire);
BME280 sensor;
const int chipSelect = 4;void setup() {
Serial.begin(9600);
Serial.print("Initializing SD card...");
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
while (1);
}
Serial.println("card initialized.");
Wire.begin();
sensor.beginI2C();
Rtc.Begin() ;
}void loop() {
String dataString = "";
char buff[12] ;
RtcDateTime dt = Rtc.GetDateTime() ;
sprintf(buff, " %02u:%02u:%02u", dt.Hour(), dt.Minute(), dt.Second()) ;
dataString += String(buff);
dataString += ",";
dataString += String(sensor.readTempC());
dataString += ",";
dataString += String(sensor.readFloatHumidity());
dataString += ",";
dataString += String(sensor.readFloatPressure()/100.0);
File dataFile = SD.open("datalog.csv", FILE_WRITE);
if (dataFile) {
dataFile.println(dataString);
dataFile.close();
Serial.println(dataString);
}
delay(600000); //10分(600000ms)ごとに測定
}
24時間測定した結果がこちら↓ 時刻もちゃんと記録できています。
| 固定リンク | 1
「Arduino」カテゴリの記事
- 大型7セグLEDを4個使った表示装置(2022.01.23)
- Arduinoで作ろう(61) Digisparkで7セグLED温度計(2022.01.16)
- Arduinoで作ろう(60) Digisparkでデジタル時計(2022.01.10)
- Arduinoで作ろう(59) DigisparkのP5を使えるようにした(2022.01.08)
- Arduinoで作ろう(58) DigisparkとLM35で温度計(2022.01.02)
コメント