Для управления ей купил такой драйвер https://ru.aliexpress.com/item/Big-Disc ... 6176.html?
для ручного управления задвижкой написал скетч
Код: Выделить всё
#include <AFMotor.h>
AF_DCMotor motor(1, MOTOR12_64KHZ); // создаем объект motor №1, ШИМ 64 кГц
void setup() {
Serial.begin(9600); // устанавливаем скорость передачи
Serial.println("Water gate valve");
motor.setSpeed(255); // устанавливаем скорость вращения 200/255
motor.run(RELEASE);
pinMode(14, INPUT); // Концевик открыт
pinMode(15, INPUT); // Концевик закрыт
pinMode(16, INPUT); // Кнопка открытия
pinMode(17, INPUT); // Кнопка закрытия
}
void loop() {
digitalWrite(14, HIGH);// Подключен подтягивающий резистор
digitalWrite(15, HIGH); // Подключен подтягивающий резистор
digitalWrite(16, HIGH);//Подключен подтягивающий резистор
digitalWrite(17, HIGH);//Подключен подтягивающий резистор
cucle:
if(digitalRead(16)==LOW){
Serial.print("Forward"); // Пишем что открываемся
while(digitalRead(14)==HIGH){
motor.run(FORWARD); // вращение вперед
//Serial.print("Open")
//Serial.println("");
}
motor.run(RELEASE);
Serial.print("stop");
goto cucle;
} else if( digitalRead(17)== LOW) {
Serial.print("bacward"); // Пишем что закрываемся
while(digitalRead(15)==HIGH){
motor.run(BACKWARD); // вращение назад
//Serial.print("close")
//Serial.println("");
} motor.run(RELEASE);
Serial.print("stop");
}
Serial.print("0");
Serial.println("");
goto cucle;
}
по замыканию концевика останавливается.
Не дописал закрытие задвижек при протечке, там пин 2 свободный можно реализовать использовав его
вся фишка в том что с этим драйвером можно общаться по аналоговым пинам так как почти все цифровые заняты
как теперь управлять ею с МД в автоматическом режиме?
открывать и закрывать ее в автоматическом режиме.
есть варианты как то подружить c другой ардуиной по шине i2c?