Страница 1 из 3

Управление задвижкой

Добавлено: Сб апр 29, 2017 7:05 pm
ученик
В прошлом году пришла мне, вот такая задвижкаhttps://ru.aliexpress.com/item/CWX-25S- ... 2559.html?
Для управления ей купил такой драйвер 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?

Re: Управление задвижкой

Добавлено: Сб апр 29, 2017 7:50 pm
alx69
1. На чем стоит МД?
2. Вариантов море. Начиная от проводных вариантов (менее гибко, точнее, вообще не гибко) заканчивая радио вариантами через модули на 433MHz, 2.4GHz (NRF24L01 модуль) WiFi (ESP8266).
Как мне кажется, проще купить ESP8266, подключить к ней и дальше управлять через mqtt протокол, который умеет и ESP и MD.

Re: Управление задвижкой

Добавлено: Пн май 01, 2017 6:45 pm
ученик
Система базируется на linux.
По вашему совету решил попробовать WiFi (ESP8266).

Re: Управление задвижкой

Добавлено: Пн май 01, 2017 6:59 pm
serghei
Связь двух ардуин по шине I2C показана ТУТ . Заливай два кода в разные ардуины , соединяй тремя проводами и вперёд. Потом вместо цифр подставляй свои переменные.

Re: Управление задвижкой

Добавлено: Пн май 01, 2017 11:11 pm
yurat2008
распиновка платы2.jpg
распиновка платы2.jpg (28.66 КБ) 7571 просмотр
Вот такая поделка с этой задачей справится
Стоимость выходит в районе 8 баксов не считая своей работы (если с китая все заказывать), но надо поработать паяльником пару часиков, потому что изначально это выглядит так
photo_2017-05-01_23-08-32.jpg
photo_2017-05-01_23-08-32.jpg (24.95 КБ) 7571 просмотр
Можно конечно за такие деньги и что-то готовое у китайцев купить, только оно как правило не совсем удобно в эксплуатации

Re: Управление задвижкой

Добавлено: Вт май 02, 2017 6:20 am
ученик
А вот такой модуль не подойдет для этой задачи?
https://ru.aliexpress.com/item/ESP-01-E ... 8582.html?

Re: Управление задвижкой

Добавлено: Вт май 02, 2017 10:22 am
slgeo
ученик писал(а):А вот такой модуль не подойдет для этой задачи?
https://ru.aliexpress.com/item/ESP-01-E ... 8582.html?
Подойдет, но у него есть свои особенности. Я допиливал вот таким образом

Re: Управление задвижкой

Добавлено: Вт май 02, 2017 9:01 pm
yurat2008
ученик писал(а):А вот такой модуль не подойдет для этой задачи?
https://ru.aliexpress.com/item/ESP-01-E ... 8582.html?
У него разведено всего 2 gpio и те имеют обрезанный функционал (если они будут замкнуты на землю во время загрузки модуля - модуль переходит в режим прошивки) - поверьте, это может стать серьезной проблемой.
Хак который предлагает slgeo - это пайка под микроскопом, не стоит оно того.
Если не хотите паять берите что-то типа https://www.aliexpress.com/item-img/ESP ... 01343.html

В принципе там все ноги разведены, останется подтяжки резисторами поделать для стабильной работы

Re: Управление задвижкой

Добавлено: Ср май 03, 2017 4:44 pm
alx69
Собственно говоря - вот схема подобного как раз на ESP8266 (ESP-01)
https://habrahabr.ru/company/masterkit/blog/258469/

Re: Управление задвижкой

Добавлено: Ср май 03, 2017 8:24 pm
yurat2008
а датчик протечки к чему цеплять? Ног явно не хватает, тем более есп-01 и есп-07 стоят практически одинаково