관엽 식물의 자동 급수기를 만들자! ! (ESP-WROOM-02) ~ 그 중 1 ~
15935 단어 전자 공작데이터 분석ArduinoIoTESP-WROOM-02
1. 소개
이번에는 ESP-WROOM-02 의 개발 보드 의 자동 물 공급기를 만들어 본다.
※펌프 이외의 곳은 넷으로 많이 있으므로 가볍게 설명하고 있습니다!
물을 사용하므로 물에 잠기지 않도록주의하십시오.
[보충]
트위터 시작했습니다. 따라주세요.
※※※ 평소에는 경마 예상 시바 를 운용하고 있습니다.
연대적 중률 : 약 86%
회수율 : 약 136%
ESP-WROOM-02를 사용한 이유
Wifi 경유로의 데이터의 로깅이나 Twitter 제휴 등 향후의 확장을 생각해 ESP-WROOM-02로 해 보았습니다.
완성 이미지
Youtube 동영상은 이쪽
2. 재료 준비
준비한 것(총액으로 5,000엔 이내)
이름
구매 장소
ESPr® Developer(ESP-WROOM-02 개발 보드)
센고쿠 덴쇼 (아키하바라)에서 구입
Grove - 수분 센서
센고쿠 덴쇼 (아키하바라)에서 구입
트랜지스터 (2SC1815GR)
센고쿠 덴쇼 (아키하바라)에서 구입
브레드보드
센고쿠 덴쇼 (아키하바라)에서 구입
브레드보드용 점프 와이어
센고쿠 덴쇼 (아키하바라)에서 구입
미니 에어 펌프 모터(6V)
아마존에서 구매
플라스틱 용기(수통)
다이소에서 구입
비닐 호스
도큐 핸즈에서 구입
그 외에 납땜, 드릴, 접착제, 접착제 총, USB 케이블 등의 도구를 준비.
3. 회로도
간단하게 이번 회로도입니다.
ESP-WROOM-02에서 Analog를 읽으려면 TOUT 핀을 사용하는 것 같습니다.
4. 브레드 보드에서 시도
여기서 토양 습도 센서로부터 오는 데이터를 시리얼 모니터로 확인하면, 습도가 높은 상태를 1023으로 낮으면 0이 되어 있었습니다.
우선 여기까지의 프로그램.
#include <SPI.h>
#define ANALOG_PIN A0
#define MOTOR_PIN 12
void setup() {
Serial.begin(115200);
pinMode(MOTOR_PIN, OUTPUT);
}
void loop() {
int val = analogRead(ANALOG_PIN);
int per = (int) map(val, 0, 1023, 0, 100);
String message = "土壌湿度 : " + String(per) + "%";
Serial.println(message)
if (val < 200) {
digitalWrite(MOTOR_PIN, HIGH);
} else {
digitalWrite(MOTOR_PIN, LOW);
}
delay(1000);
}
12번의 Pin에 LED등 디버그해 주면 확인할 수 있다고 생각합니다만, 습도가 낮아지면 LED가 점등한다.
5. 펌프 만들기
물을 주는 펌프를 만듭니다.
①드릴과 용기를 준비(페트병 등으로 OK)
②뚜껑에 2개의 구멍을 뚫고 비닐호스를 통과시킨다
③【중요】뚜껑의 밀폐도를 높인다
뚜껑을 통과한 호스에 틈이 없어 공기가 새지 않도록 합니다.
※※ 제대로 하지 않으면 움직이지 않습니다.
④하나는 에어 펌프 모터에 다른 하나는 식목에
사진의 예라면 오렌지 호스를 모터에 연결합니다.
핑크 호스를 식물에 연결합니다.
6. 막상 실험! !
Youtube 동영상은 이쪽
나름대로 움직였습니다. 앞으로 운용하면서 개선하겠습니다.
7. 약간 기능 추가
모처럼의 ESP-WROOM-02이므로 Twitter에 데이터를 업로드해 보겠습니다.
[계정]
htps : // 라고 해서 r. 코 m / 아우토와 테린 g
#include <SPI.h>
#include <ESP8266WiFi.h>
#define ANALOG_PIN A0
#define MOTOR_PIN 12
const char* ssid = "*******************";
const char* password = "*******************";
// StewGate U を使う
const char* host = "stewgate-u.appspot.com";
const char* token = "*******************";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while(WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
pinMode(MOTOR_PIN, OUTPUT);
}
int tweetTime = 0;
void loop() {
int val = analogRead(ANALOG_PIN);
if (tweetTime == (600 * 6)) {
tweetTime = 0;
} else if(tweetTime == 0) {
int per = (int) map(val, 0, 1023, 0, 100);
String message = "土壌湿度 : " + String(per) + "%";
tweet(message);
}
if (val < 200) {
digitalWrite(MOTOR_PIN, HIGH);
} else {
digitalWrite(MOTOR_PIN, LOW);
}
delay(1000);
tweetTime++;
}
void tweet(String msg) {
WiFiClient client;
const int httpPort = 80;
if(!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
client.println("POST /api/post/ HTTP/1.0");
client.print("Host: ");
client.println(host);
int msgLength = 40;
msgLength += msg.length();
client.print("Content-length:");
client.println(msgLength);
client.println("");
client.print("_t=");
client.print(token);
client.print("&msg=");
client.println(msg);
delay(10);
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
}
8.사이고에게
자택의 환경에서 아직도 여러가지 시험하고 싶은 일이 있으므로, 더 여러가지 것을 만들고 싶습니다.
트위터 시작했습니다. 따라주세요.
Reference
이 문제에 관하여(관엽 식물의 자동 급수기를 만들자! ! (ESP-WROOM-02) ~ 그 중 1 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tsunaki/items/670348ccbd92e111eef4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)