BASIC4MCU | 질문게시판 | 답변 : 아두이노 미세먼지 LCD RGB_LED 서보모터
페이지 정보
작성자 master 작성일2018-06-17 02:48 조회7,209회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=1928
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-06-17 오전 2:52:14// by Ok-Hyun Park//#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x3F,16,2);//#include <Servo.h>int servoPin=9;//int dust_sensor=A0;int sensor_led=12;int rgb_red=5,rgb_green=6,rgb_blue=7; // rgbint piezo=3;//float dust_value=0,dustDensityug=0;//void setup(){Serial.begin(9600);pinMode(sensor_led,OUTPUT); // 미세먼지 적외선 ledpinMode(rgb_red,OUTPUT); pinMode(rgb_green,OUTPUT); pinMode(rgb_blue,OUTPUT); // 3색 LEDpinMode(piezo,OUTPUT);lcd.init(); lcd.backlight();servo.attach(servoPin);}//void loop(){digitalWrite(sensor_led,LOW); delayMicroseconds( 280); // LED 켜기dust_value=analogRead(dust_sensor); delayMicroseconds( 40); // 센서 값 읽어오기digitalWrite(sensor_led,HIGH); delayMicroseconds(9680); // LED 끄기dustDensityug=(0.17*(dust_value*(5.0/1024))-0.1)*1000;lcd.setCursor(0,0); lcd.print("HAP: ");lcd.setCursor(0,1); lcd.print(dustDensityug);//if(dustDensityug<=30.0){ // 좋음 파란색analogWrite(rgb_red,0); analogWrite(rgb_green,0); analogWrite(rgb_blue,255);lcd.print("blue");servo.write(90);}else if(dustDensityug<=80.0){ // 보통 녹색analogWrite(rgb_red,0); analogWrite(rgb_green,255); analogWrite(rgb_blue,0);lcd.print("green");}else if(dustDensityug<=150.0){ // 나쁨 노란색analogWrite(rgb_red,255); analogWrite(rgb_green,155); analogWrite(rgb_blue,0);lcd.print("yellow");digitalWrite(piezo,HIGH); delay(1000); digitalWrite(piezo,LOW); delay(1000);}else{ // 매우 나쁨빨간색analogWrite(rgb_red,255); analogWrite(rgb_green,0); analogWrite(rgb_blue,0);lcd.print("red");digitalWrite(piezo,HIGH); delay(1000); digitalWrite(piezo,LOW); delay(1000);servo.write(180);}delay(2000);}
댓글 0
조회수 7,209등록된 댓글이 없습니다.