M5StickC로 eCO2와 환기 팬(등)을 연동해 본다
12344 단어 M5StickC
수중에서 남기고 있는 M5StickC에서도 닮을 수 없을까, 라고 하는 것으로 해 보았습니다.
준비하는 것
M5StickC(본체만 해당) - 스위치 과학 ¥2,398
TVOC/eCO2 가스 센서 유닛(SGP30) - 스위치 과학 ¥1,562
M5Stack용 적외선 송수신 유닛 - 스위치 과학 ¥528
GROVE - 4핀 점퍼 메스 케이블 (5개 세트) - 스위치 과학 ¥550
아마존 | 옴 전기 기기 전용 리모콘 콘센트 [품번] 07-8251 OCR-05W 화이트 | 옴 전기 | 펜던트 라이트 ¥1,936
누계 ¥7,056
그리고 핀 헤더를 자르는 데 필요하기 때문에 가지고 있지 않다면 니퍼를.
Amazon | 엔지니어 마이크로 니퍼 ESD 정전기 대책 120mm NS-04 | 소형 니퍼
연결
TVOC/eCO2 가스 센서 유닛은 부속의 커넥터로 HY2.0-4P(GROVE)에 접속.
적외선 송수신 장치는 GROVE 4 핀 점퍼 메스 케이블 둘 다 긴 핀 헤더를 삽입
GND -> GND
5V -> 5V
OUT -> G26
IN -> G36
에 연결.
리모콘 콘센트를 환기 팬의 콘센트에 연결하십시오.
할 수있는 것
Arduino IDE 코드
eCO2가 500을 경계로 전원을 제어하도록 되어 있습니다. 값은 실제로 사용해 보고 조정 예정입니다.
#include "Adafruit_SGP30.h"
#include <M5StickC.h>
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRsend.h>
Adafruit_SGP30 sgp;
int i = 15;
long last_millis = 0;
const uint16_t kIrLed = 26;
IRsend irsend(kIrLed);
// on
uint16_t onRawData[19] = {2578, 2664, 816, 876, 838, 850, 840, 1890, 840, 1892, 840, 1890, 842, 1892, 816, 876, 836, 852, 812}; // UNKNOWN 8F0C8B3A
//off
uint16_t offRawData[19] = {2554, 2688, 816, 878, 812, 1916, 840, 850, 812, 876, 814, 1918, 814, 876, 812, 1918, 840, 1890, 838}; // UNKNOWN D410BC59
void setup() {
M5.begin();
irsend.begin();
Serial.begin(115200);
delay(1000);
Wire.begin(32, 33); // M5StickC
if (!sgp.begin()) {
Serial.println("Sensor not found");
while (1);
}
M5.Lcd.setRotation(3);
M5.Axp.ScreenBreath(12);
M5.Lcd.setTextColor(WHITE, BLACK);
}
void loop() {
M5.update();
if (! sgp.IAQmeasure()) {
Serial.println("Measurement failed");
return;
}
Serial.println("TVOC " + String(sgp.TVOC));
Serial.println("eCO2 " + String(sgp.eCO2));
if (sgp.eCO2 > 500) {
Serial.println("eCO2 over 500 ");
irsend.sendRaw(onRawData, 19, 38); // Send a raw data capture at 38kHz.
}
if (sgp.eCO2 <= 500) {
Serial.println("eCO2 under 500 ");
irsend.sendRaw(offRawData, 19, 38); // Send a raw data capture at 38kHz.
}
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setCursor(0, 0, 2);
M5.Lcd.print("eCO2");
M5.Lcd.setCursor(0, 30, 4);
M5.Lcd.print(sgp.eCO2);
M5.Lcd.print("ppm");
delay(1000);
}
Reference
이 문제에 관하여(M5StickC로 eCO2와 환기 팬(등)을 연동해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kenji0302/items/e6fc2e55fd6acc9c215c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)