BASIC4MCU | 질문게시판 | 답변 : 스케치 합치기
페이지 정보
작성자 master 작성일2019-04-07 14:32 조회3,333회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=8153
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-04-07 오후 2:33:29// by Ok-Hyun Park//#include <DHT11.h>int PIN=3;DHT11 dht11(PIN);float temp,humi;//#include <OneWire.h>#include <DallasTemperature.h>#define ONE_WIRE_BUS 4OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);//volatile int l_min,flow_frequency;unsigned char flowsensor=2;unsigned long currentTime,cloopTime;//void flow(){ flow_frequency++; }//void setup(){pinMode(flowsensor,INPUT_PULLUP);Serial.begin(9600);sensors.begin();attachInterrupt(0,flow,RISING);sei();currentTime=millis();cloopTime=currentTime;}//void loop(){currentTime=millis();if(currentTime=(cloopTime+1000)){ cloopTime=currentTime;dht11.read(humi,temp); sensors.requestTemperatures();l_min=(flow_frequency/0.2);flow_frequency=0;Serial.print("S1="); Serial.print(temp);Serial.print(",S2="); Serial.print(humi);Serial.print(",S3="); Serial.print(l_min,DEC);Serial.print(",S4="); Serial.print(sensors.getTempCByIndex(0));delay(2000);}}
if(currentTime=(cloopTime+1000)){ cloopTime=currentTime;읽는 주기가 1초로 되어 있지만2초의 딜레이가 있으므로 약2초 주기로 실행하고 있습니다.
if(currentTime=(cloopTime+2000)){ cloopTime=currentTime;2초로 주기를 변경하고 2초짜리 딜레이를 제거해야겠죠
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-04-07 오후 2:35:17// by Ok-Hyun Park//int rainPin=6;float rainGauge=0;bool input_State=1;long t;//void setup(){Serial.begin(9600);pinMode(rainPin,INPUT_PULLUP);t=millis();}//void loop(){if ((input_State) &&!digitalRead(rainPin)){ input_State=0; rainGauge+=0.2794; delay(50); }else if((!input_State)&& digitalRead(rainPin)){ input_State=1; delay(50); }//if(millis()-t>=1000){ t=millis();Serial.print(",S5="); Serial.println(rainGauge); rainGauge=0;}}이 코드와 함쳐보죠
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-04-07 오후 2:39:16// by Ok-Hyun Park//#include <DHT11.h>int PIN=3;DHT11 dht11(PIN);float temp,humi;//#include <OneWire.h>#include <DallasTemperature.h>#define ONE_WIRE_BUS 4OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);//volatile int l_min,flow_frequency;unsigned char flowsensor=2;unsigned long t,rainTime=0,cloopTime=0;//int rainPin=6;float rainGauge=0;bool input_State=1;//void flow(){ flow_frequency++; }//void setup(){pinMode(rainPin ,INPUT_PULLUP);pinMode(flowsensor,INPUT_PULLUP);Serial.begin(9600);sensors.begin();attachInterrupt(0,flow,RISING);sei();}//void loop(){t=millis();//if(t-cloopTime>=2000)){ cloopTime=t;dht11.read(humi,temp); sensors.requestTemperatures();l_min=(flow_frequency/0.2);flow_frequency=0;Serial.print("S1="); Serial.print(temp);Serial.print(",S2="); Serial.print(humi);Serial.print(",S3="); Serial.print(l_min,DEC);Serial.print(",S4="); Serial.print(sensors.getTempCByIndex(0));}//if ((input_State) &&!digitalRead(rainPin)){ input_State=0; rainGauge+=0.2794; delay(50); }else if((!input_State)&& digitalRead(rainPin)){ input_State=1; delay(50); }//if(t-rainTime>=1000)){ rainTime=t;Serial.print(",S5="); Serial.println(rainGauge); rainGauge=0;}}
댓글 0
조회수 3,333등록된 댓글이 없습니다.