// #include "WaterMachine.h"
#include <Servo.h>
#ifndef __WATERMACHINE__
#define __WATERMACHINE__
#define WATER_ADD_TIME 5*1000
#define WATER_LOSS_TIME 5*1000
#define POWER_INTERVAL 2*1000
#define POWER_OFF_TIME 5*1000
int powerPin = 8;
Servo waterAdder;
Servo waterRemover;
void addWater() {
waterAdder.write(180);
delay(WATER_ADD_TIME);
waterAdder.write(0);
}
void lossWater() {
waterRemover.write(180);
delay(WATER_LOSS_TIME);
waterRemover.write(0);
}
void powerOn(int cnt) {
for (int i = 0; i < cnt; i++) {
digitalWrite(powerPin, HIGH);
delay(POWER_INTERVAL);
digitalWrite(powerPin, LOW);
delay(POWER_INTERVAL);
}
}
void powerOff() {
digitalWrite(powerPin, HIGH);
delay(POWER_OFF_TIME);
digitalWrite(powerPin, LOW);
}
#endif
#define JINGPAO_TIME 10*1000
#define WASH_TIME 10*1000
#define PIAOXI_TIME 10*1000
#define PIAOXI_TIMES 5
// WaterMachine waterMachine;
int repeat;
void setup() {
repeat = 0;
waterAdder.attach(10);
waterRemover.attach(11);
pinMode(powerPin, OUTPUT);
Serial.begin(115200); // Any baud rate should work
Serial.println("初始化");
}
void loop() {
repeat += 1;
if (repeat > 100) {
repeat = 1;
}
if (repeat == 1) {
// 浸泡
Serial.println("###### 开始浸泡 ######");
Serial.println("加水");
addWater();
Serial.println("浸泡");
delay(JINGPAO_TIME); // 浸泡
Serial.println("开机");
powerOn(2);
Serial.println("快洗");
// delay(3 * 60 * 1000); // 快洗
delay(6 * 1000);
Serial.println("关机");
powerOff();
Serial.println("放水");
lossWater(); //放水
// 洗涤
Serial.println("###### 开始洗涤 ######");
Serial.println("加水");
addWater();
for (int i = 0; i < 2; i++) { //连续洗
Serial.println("开机");
powerOn(2);
delay(WASH_TIME);
Serial.println("关机");
powerOff();
delay(1000);
}
Serial.println("放水");
lossWater();
// 漂洗
for (int i = 0; i < PIAOXI_TIMES; i++) { //连续漂洗
Serial.println("###### 开始漂洗 ######");
Serial.println("加水");
addWater();
Serial.println("开机");
powerOn(2);
delay(PIAOXI_TIME);
Serial.println("关机");
powerOff();
delay(1000);
Serial.println("放水");
lossWater();
}
}
delay(10 * 1000);
}