BASIC4MCU | 질문게시판 | 답변 : 일산화탄소 경보기 질문 있습니다
페이지 정보
작성자 master 작성일2022-12-10 18:41 조회150회 댓글0건본문
MQ-7과 부저 3색 led,I2C lcd를 이용해서 하는데 lcd에 일산화탄소 농도가 너무 높게 나옵니다
//
#include
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2);
//
MQ7 mq7(A0,5.0);
//
#define NOTE_C7 2093
#define NOTE_D7 2349
#define NOTE_E7 2637
#define NOTE_F7 2794
#define NOTE_G7 3136
#define NOTE_A7 3520
#define NOTE_B7 3951
#define NOTE_C8 4186
//
int rgb_red=8,rgb_green=9,rgb_blue=10;
int buzzerPin=4;
//
void setup(){
Serial.begin(9600);
lcd.begin(); lcd.backlight();
}
//
void loop(){
float PPMval=mq7.getPPM();
Serial.println(PPMval); delay(1000);
//
lcd.clear();
lcd.setCursor(0,1); lcd.print(PPMval); lcd.print(" ppm");
if(PPMval<=19){
analogWrite(rgb_red,0); analogWrite(rgb_green,0); analogWrite(rgb_blue,255);
Serial.println("blue");
lcd.setCursor(0,0); lcd.print("MQ7_value [^__^]");
}
else if(PPMval<=30){
analogWrite(rgb_red,0); analogWrite(rgb_green,255); analogWrite(rgb_blue,0);
Serial.println("green");
lcd.setCursor(0,0); lcd.print("MQ7_value [+__+] ");
tone(buzzerPin,NOTE_C7,500); delay(100);
tone(buzzerPin,NOTE_D7,500); delay(100);
tone(buzzerPin,NOTE_E7,500); delay(100);
tone(buzzerPin,NOTE_F7,500); delay(100);
tone(buzzerPin,NOTE_G7,500); delay(100);
}
else {
analogWrite(rgb_red,255); analogWrite(rgb_green,0); analogWrite(rgb_blue,0);
Serial.println("red");
lcd.setCursor(0,0); lcd.print("MQ7_value [***] ");
tone(buzzerPin,NOTE_G7,1000);
}
delay(1000);
}
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jyoun&logNo=221423420449
웹검색으로 다른 분들 예제를 따라서 해보세요
댓글 0
조회수 150등록된 댓글이 없습니다.