BASIC4MCU | 질문게시판 | 일산화탄소 경보기 질문 있습니다
페이지 정보
작성자 지니 작성일2022-12-10 17:33 조회656회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=22142
본문
MQ-7과 부저 3색 led, I2C lcd를 이용해서 하는데 lcd에 일산화탄소 농도가 너무 높게 나옵니다 #include #include #include LiquidCrystal_I2C lcd (0x27, 16, 2); #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; int rgb_green = 9; int rgb_blue = 10; int buzzerPin = 4; MQ7 mq7(A0, 5.0); void setup() { Serial.begin(9600); lcd.begin(); lcd.backlight(); } void loop() { Serial.println(mq7.getPPM()); delay(1000); if (mq7.getPPM() <= 19) { analogWrite(rgb_red, 0); analogWrite(rgb_green, 0); analogWrite(rgb_blue, 255); Serial.println("blue"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("MQ7_value [^__^]"); lcd.setCursor(0, 1); lcd.print(mq7.getPPM()); lcd.print(" ppm"); } else if (20 < mq7.getPPM() && mq7.getPPM() <= 30) { analogWrite(rgb_red, 0); analogWrite(rgb_green, 255); analogWrite(rgb_blue, 0); Serial.println("green"); 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); lcd.clear(); lcd.setCursor(0, 0); lcd.print("MQ7_value [+__+] "); lcd.setCursor(0, 1); lcd.print(mq7.getPPM()); lcd.print(" ppm"); } else { analogWrite(rgb_red, 255); analogWrite(rgb_green, 0); analogWrite(rgb_blue, 0); Serial.println("red"); tone(buzzerPin, NOTE_G7, 1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("MQ7_value [***] "); lcd.setCursor(0, 1); lcd.print(mq7.getPPM()); lcd.print(" ppm"); } delay(1000); }
댓글 0
조회수 656등록된 댓글이 없습니다.