8월 18일

9월 22일

설치 자료


공유하기

인천 연수고등학교 융합동아리

#include <Wire.h> //아두이노와 다른 하드웨어 간의 I2C 통신하는 Wire 라이브러리 추가
#include <LiquidCrystal_I2C.h> // LCD를 사용하기 위한 라이브러리 추가
#include <DHT.h> // 온습도센서를 사용하기 위한 라이브러리 추가
#include "BluetoothSerial.h" //esp32의 블루투스 기능을 포함

#define DHTPIN 32      //DHT센서(온습도센서)가 연결된 핀 번호(32번 핀) 정의
#define DHTTYPE DHT11  //사용하는 DHT센서의 종류(DHT11 센서) 정의
//#define DHTTYPE DHT22 
#define wls_pump_pin 26     //물 펌프가 연결된 핀 번호(26번 핀) 정의 
#define cds_plantled_pin 19 //식물용 LED가 연결된 핀 번호(19번 핀) 정의
#define cds_pin 34          //조도센서와 연결된 핀 번호(34번 핀) 정의
#define wls_pin 13          //수위센서와 연결된 핀 번호(13번 핀) 정의
#define wls_ledpin 15       //수위센서와 연결된 LED의 핀 번호(15번 핀) 정의
#define wls_buzzerpin 2     //수위센서와 연결된 부저의 핀 번호(2번 핀) 정의
// --------------------------------------------------------------------------
// For average filtering    //필터링하는 이유는 원본데이터에 포함된 잡음을 줄이고 값 변동을
                            //완만하게 하여 시스템이 안정적으로 작동하도록 하기 위해
// --------------------------------------------------------------------------
//define NUM 20 // the number of Filter Taps  //필터링할 때 사용하는 filter taps의 개수 정의
                //NUM이라는 변수에 20개의 필터탭의 개수 할당. 필터링 탭 개수는 필터링 품질과
                //성능에 영향을 미침. 길이가 긴 경우 더 많은 계산을 요구하고
                //좀 더 세밀한 필터링 결과를 얻을 수 있음.
                //#define NUM 20 // the number of Filter Taps이라고 하지 않은 이유는???
float filteredWls;  //수위센서 데이터의 필터링된 값을 저장하는 float 변수 선언
float Alpha = 0.2;  //평균 필터링에서 사용할 알파계수(0.2) 정의    알파계수??
float filteredCds;  //조도센서 데이터의 필터링된 값을 저장하는 float 변수 선언
float Beta = 0.2;   //평균 필터링에서 사용할 베타계수(0.2) 정의   베타계수??
// --------------------------------------------------------------------------

LiquidCrystal_I2C lcd(0x27, 16, 2);  // LCD I2C 통신 설정(주소, 글자수, 줄수)
LiquidCrystal_I2C klcd(0x3F, 16, 2); // LCD I2C 통신 설정(주소, 글자수, 줄수)
DHT dht(DHTPIN, DHTTYPE); // 온습도센서 사용 설정

int wls_val, wls_lcdval;  //수위센서 변수를 정수형(int)으로 선언
int wls_plcdval;          //수위센서 LCD에 표시할 변수를 정수형(int)으로 선언 
int past_wls_plcdval;     //과거 이전 수위센서 LCD에 표시할 변수를 정수형(int)으로 선언
int pump_OnOff;           //펌프 on/off 상태를 정수형(int)으로 선언
int cds_val, cds_lcdval;  //조도센서 변수를 정수형(int)으로 선언
int cds_plcdval;          //이전 조도센서 변수를 정수형(int)으로 선언 
byte error, address;      //error변수를 byte 자료형으로 선언, address변수를 byte 자료형으로 선언

BluetoothSerial SerialBT; //블루투스 기능을 정의