Sony Spresense용 CO2, 온도 습도 센서 보드 제작
그래서 Sony Spresense부터 손쉽게 사용할 수 있는 실내 환경 센서판을 제작했습니다.
CO2 센서: SGP30-25KVOC 센서 "SGP30/SGPC3"(NRND)
온도 습도 센서: SHTC1디지털 온도 습도 센서 "SHTC1"
모두 센시리언이 제작한 센서들이지만 SGP30은 제조사를 추천하지 않는다.
사진.
회로도
두 센서 모두 아두노용 라이브러리를 사용할 수 있습니다. 아래의 라이브러리를 추가해 주십시오.
SGP30 https://github.com/sparkfun/SparkFun_SGP30_Arduino_Library
SHTC1 https://github.com/winkj/arduino-sht
라이브러리의 샘플 프로그램에서 센서가 실행 중인지 확인하십시오.
Example1_BasicReadings.ino
// SPG30 Example1_BasicReadings
/*
Library for the Sensirion SGP30 Indoor Air Quality Sensor
By: Ciara Jekel
SparkFun Electronics
Date: June 28th, 2018
License: This code is public domain but you buy me a beer if you use this and we meet someday (Beerware license).
SGP30 Datasheet: https://cdn.sparkfun.com/assets/c/0/a/2/e/Sensirion_Gas_Sensors_SGP30_Datasheet.pdf
Feel like supporting our work? Buy a board from SparkFun!
https://www.sparkfun.com/products/14813
This example reads the sensors calculated CO2 and TVOC values
*/
#include "SparkFun_SGP30_Arduino_Library.h" // Click here to get the library: http://librarymanager/All#SparkFun_SGP30
#include <Wire.h>
SGP30 mySensor; //create an object of the SGP30 class
void setup() {
Serial.begin(9600);
Wire.begin();
//Initialize sensor
if (mySensor.begin() == false) {
Serial.println("No SGP30 Detected. Check connections.");
while (1);
}
//Initializes sensor for air quality readings
//measureAirQuality should be called in one second increments after a call to initAirQuality
mySensor.initAirQuality();
}
void loop() {
//First fifteen readings will be
//CO2: 400 ppm TVOC: 0 ppb
delay(1000); //Wait 1 second
//measure CO2 and TVOC levels
mySensor.measureAirQuality();
Serial.print("CO2: ");
Serial.print(mySensor.CO2);
Serial.print(" ppm\tTVOC: ");
Serial.print(mySensor.TVOC);
Serial.println(" ppb");
}
SHTC1_sample.ino// SHTC1 Sample code
#include <Wire.h>
#include <shtc1.h>
SHTC1 shtc1;
void setup() {
// put your setup code here, to run once
Wire.begin();
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
shtc1.readSample();
Serial.print("SHTC1:\n");
Serial.print(" RH: ");
Serial.print(shtc1.getHumidity(), 2);
Serial.print("\n");
Serial.print(" T: ");
Serial.print(shtc1.getTemperature(), 2);
Serial.print("\n");
delay(1000);
}
두 센서가 모두 움직이고 있는지 확인한 후 한 프로그램에 집합한다.Spresense_SGP30_SHTC1.ino
#include "SparkFun_SGP30_Arduino_Library.h" // Click here to get the library: http://librarymanager/All#SparkFun_SGP30
#include <Wire.h>
#include <shtc1.h>
SGP30 mySensor; //create an object of the SGP30 class
SHTC1 shtc1;
void setup() {
Serial.begin(115200);
Wire.begin();
//Initialize sensor
if (mySensor.begin() == false) {
Serial.println("No SGP30 Detected. Check connections.");
while (1);
}
//Initializes sensor for air quality readings
//measureAirQuality should be called in one second increments after a call to initAirQuality
mySensor.initAirQuality();
}
void loop() {
//First fifteen readings will be
//CO2: 400 ppm TVOC: 0 ppb
delay(1000); //Wait 1 second
//measure CO2 and TVOC levels
mySensor.measureAirQuality();
//measure TEMP and HUM levels
shtc1.readSample();
Serial.print("CO2: ");
Serial.print(mySensor.CO2);
Serial.print("ppm tTVOC: ");
Serial.print(mySensor.TVOC);
Serial.print("ppb");
Serial.print(" RH: ");
Serial.print(shtc1.getHumidity(), 2);
Serial.print("% TEMP: ");
Serial.print(shtc1.getTemperature(), 2);
Serial.println("℃");
}
이렇게 하면 Sony Spresense를 통해 CO2, TOVC, 온도, 습도의 데이터를 얻을 수 있다.
다음에는 Spresense LTE를 사용해 얻은 데이터를 서버(클라우드)에 업로드하는 샘플을 공개한다.
추기
Sony Spresense LTE 확장판으로 온습도, eCO2, TVOC 데이터를 클라우드에 업로드(Thingspeak)
Reference
이 문제에 관하여(Sony Spresense용 CO2, 온도 습도 센서 보드 제작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaz19610303/items/ade1e22dbdfcb568c7d7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)