BASIC4MCU | 질문게시판 | 아두이노 소스코드 합치기 질문 드립니다.
페이지 정보
작성자 하기싫다 작성일2020-06-01 15:47 조회7,440회 댓글2건본문
안녕하세요 아두이노 완전 생초보입니다..
우노보드 이용해서 수분센서 온습도 센서 통해서 토양습도 습도 온도 읽어내고
토양습도 낮으면 자동으로 펌프가동하는 예문이 있습니다.
그리고 esp8266모듈 코드를 여기에 합치고 싶습니다.
초보라 염치불구하고 문의드립니다.
먼저 수분센서 코드입니다.
#include "DHT.h" //DHT 라이브러리 호출
#include <DigitShield.h> //DigitShield.h 라이브러리 호출
#define DHTPIN 12 // 온습도 센서가 12번에 연결
#define DHTTYPE DHT11 // DHT11 온습도 센서 사용
DHT dht(DHTPIN, DHTTYPE); //DHT 설정(12,DHT11)int motor = 10; //모터 릴레이 핀
int water = 0 ; // water 변수 선언void setup()
{
Serial.begin(9600); //통신속도 9600으로 통신 시작
DigitShield.begin();
dht.begin();
Serial.begin(9600);
pinMode(motor,OUTPUT);}
//10
void loop() {
delay(500);
float h = dht.readHumidity(); //습도값을 h에 저장
float t = dht.readTemperature(); //온도값을 t에 저장
float f = dht.readTemperature(true);// 화씨 온도를 측정합니다.
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humidity: "); //문자열 출력
Serial.print(h); //습도값 출력
Serial.print("% ");
DigitShield.setValue(h);
delay(500);
Serial.print("Temperature: ");
Serial.print(hic); //온도값 출력
Serial.println("C");
DigitShield.setValue(t);
delay(500);
water=analogRead(A3); //토양 습도 센서 아날로그핀 A3 번 사용 , A3 값 읽어와 water에 저장
Serial.print("Soil humidity: "); //토양 습도 체크
Serial.println(water);
DigitShield.setValue(water);
if ( water > 800) // 토양 습도 체크 800보다 낮으면 모터 동작 시켜 물공급 아니면 정지
{
digitalWrite(motor,HIGH);
Serial.println("motor on");
}
else {
digitalWrite(motor,LOW);
Serial.println("motor off");
}
}
다음으로 esp8266 코드입니다.
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "FNcZlOeEeun0G6RAym6YKxKG09X1-X5i";// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "U+Net76F3";
char pass[] = "614C081438";// Hardware Serial on Mega, Leonardo, Micro...
//#define EspSerial Serial1// or Software Serial on Uno, Nano...
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600ESP8266 wifi(&EspSerial);
void setup()
{
// Debug console
Serial.begin(9600);delay(10);
// Set ESP8266 baud rate
EspSerial.begin(ESP8266_BAUD);
delay(10);Blynk.begin(auth, wifi, ssid, pass);
}void loop()
{
Blynk.run();
}
블링크 앱이용해서 구동하려고 합니다.
도와주시면 정말 감사드리겠습니다. 감사합니다!
댓글 2
조회수 7,440master님의 댓글
master 작성일
https://cafe.naver.com/circuitsmanual/196483
이 글 참고해서 직접 해보세요
하기싫다님의 댓글
하기싫다
감사합니다. 참고해서 해보겠습니다.