通过ESP8266调节继电器时间

通过ESP8266调节继电器时间

 

1、继电器选择(可调节时间的继电器)

2、继电器与esp8266的接线【set --- D6,UP --- D5,DOWN --- D1】

3、Arduino 程序

void changeTime(int change_type) {
  // 长按 SET 2s
  pinMode(D6, OUTPUT);
  digitalWrite(D6, LOW);
  delay(2300);
  digitalWrite(D6, HIGH);
  Serial.println("长按 SET 2s 。。。 ");
  pinMode(D6, INPUT);
  delay(800);

  // 按一下 SET
  pinMode(D6, OUTPUT);
  digitalWrite(D6, LOW);
  delay(200);
  digitalWrite(D6, HIGH);
  Serial.println("按一下 SET 。。。 ");
  pinMode(D6, INPUT);

  // 等 2s
  delay(4000);
  Serial.println("等 3s 。。。 ");

  // 按一下 UP
  if (change_type == 1) {
    pinMode(D5, OUTPUT);
    digitalWrite(D5, LOW);
    delay(200);
    digitalWrite(D5, HIGH);
    pinMode(D5, INPUT);
    delay(1200);
  // 按一下 DOWN
  } else if (change_type == 2) {
    pinMode(D1, OUTPUT);
    digitalWrite(D1, LOW);
    delay(200);
    digitalWrite(D1, HIGH);
    pinMode(D1, INPUT);
    delay(1200);
  }

  // 长按 SET 2s
  pinMode(D6, OUTPUT);
  digitalWrite(D6, LOW);
  delay(2200);
  digitalWrite(D6, HIGH);
  Serial.println("长按 SET 2s 。。。 ");
  pinMode(D6, INPUT);
  delay(800);

  // 按一下 SET
  pinMode(D6, OUTPUT);
  digitalWrite(D6, LOW);
  delay(200);
  digitalWrite(D6, HIGH);
  Serial.println("按一下 SET 。。。 ");
  pinMode(D6, INPUT);

  // END Program
  Serial.print("程序结束(电压):");
  Serial.println(ESP.getVcc());
}

void setup(){
  Serial.begin(115200);
}

void loop(){
  if(Serial.available()>0)
  {
    char c=Serial.read();
    if (c == 'u') {
      Serial.println("Begin UP");
      changeTime(1);
    } else if (c == 'd') {
      Serial.println("Begin DOWN");
      changeTime(2);
    }
  }
}

 

posted @ 2019-10-23 14:33  GetcharZp  阅读(782)  评论(0编辑  收藏  举报