В старом форуме была тема "Управление дворниками автомобиля Победа"Управление дворниками на автомобиле ПОБЕДА 1957 г. в. | Аппаратная платформа Arduino. Пишу это не просто так, а от того, что статья эта могла пригодиться, если бы скетч заработал. Ситуация сложилась так, что нужно было ехать на машине с неисправными дворниками. Далеко. Вернее неисправен блок контроля. Иностранная машина, цена блока в небеса и под заказ( может быть). Короче нужно. Срочно! Мотор управляется одним проводом. Коротим на массу-дворники работают на максималках. Убрали с массы-остановились. Вот рабочий скетч. Схема есть в статье по ссылке. Вместо датчика парковки-датчик Холла SS495 на жабо под дворниками. Вместо галетного переключателя на 4 позиции-обучаемый радиомодуль RX480-E в третьем режиме и к нему пульт на 4 кнопки. Ездить так не рекомендую, но если обстоятельства так сложились-то разочек можно.
void setup() {
pinMode(A0, INPUT);// сигнал от датчика Холла SS495 в точке парковки
pinMode(A2, INPUT);// постоянная работа
pinMode(A3, INPUT);// пауза 2 секунды
pinMode(A4, INPUT);// отключение
pinMode(A5, INPUT);// пауза 5 секунд
pinMode(13, OUTPUT);// исполнительное реле. Лучше перенести на другую ногу, а то при загрузке будут рывки дворников.
}
void loop() {
int a = analogRead(A0);
if ( digitalRead(A2) == HIGH) {
digitalWrite(13,HIGH);
}
if ( digitalRead(A3) == HIGH) {
digitalWrite(13,HIGH);
}
//У моего двухполярного датчика среднее положение показаний в
//отсутствии магнита "прыгает" в пределах 508-509
// при приближении одного полюса показания увеличиваются,
// а другого- уменьшаются
if (a >= 520 && digitalRead(A3) == HIGH) { digitalWrite(13,LOW);
delay(2000);//пауза
digitalWrite(13,HIGH);
delay(500);//гарантированное движение для отхода от парковки
}
if ( digitalRead(A5) == HIGH) {
digitalWrite(13,HIGH);
}
if (a >= 520 && digitalRead(A5) == HIGH) { digitalWrite(13,LOW);
delay(5000); // пауза
digitalWrite(13,HIGH);
delay(500); //гарантированное движение для отхода от парковки
}
// выключение
if ( digitalRead(A4) == HIGH) {digitalWrite(13,LOW);}
}