Использовался простой и дешёвый МК MSP430, переделать код и схему подключения для Arduino не составит особого труда.
/*
Подключение поплавковых выключателей так же как подключение кнопок
через 10 килоомный резистор подключеный к земле.
Насос погружной, нижняя часть находится между датчиками B и C.
| _ |
|_A | | |
|~~~| |~~~|
|_B | | |
| \o/ |
|_С |
|_________|
*/
const int Apin = 8; //PIN верхнего поплавка
const int Bpin = 9; //PIN нижнего поплавка
const int Cpin = 10; //PIN аварийного поплавка
const int PumpRelayPin = 13; //PIN насосного релле
boolean floatA = 0; //Состояние верхнего поплавка
boolean floatB = 0; //Состояние нижнего поплавка
boolean floatC = 0; //Состояние аварийного поплавка
boolean Pumpttriger = 0; //Текущее состояние насосного релле (1-ON, 0-OFF)
void setup(){
pinMode (Apin,INPUT); //Цифровой PIN верхнего поплавка входной
pinMode (Bpin,INPUT); //Цифровой PIN нижнего поплавка входной
pinMode (Cpin,INPUT); //Цифровой PIN аварийного поплавка входной
pinMode (PumpRelayPin,OUTPUT); //цифровой PIN насосного релле выходной
pinMode(RED_LED, OUTPUT);
// initialize serial communication:
Serial.begin(9600);
digitalWrite(RED_LED, HIGH);
delay (1000);
digitalWrite(RED_LED, LOW);
}
void loop(){
delay(1000);
floatA = digitalRead(Apin); //Читает состояние PIMа верхнего поплавка и запоминает его
floatB = digitalRead(Bpin); //Читает состояние PIMа нижнего поплавка и запоминает его
floatC = digitalRead(Cpin); //Читает состояние PIMа аварийного поплавка и запоминает его
if (floatA + floatB == 2) //Условие запуска насоса
{
Serial.println("Pump on");
Pumpttriger=1;
}
if(floatA+floatB==0) //Условие Остановки насоса
{
Serial.println("Pump off");
Pumpttriger=0;
}
//Условие Аварийной Остановки насоса при сработке датчика аварийного поплавка
if (floatC==0) {
Serial.println("Pump STOP!");
Pumpttriger=0;
}
if(Pumpttriger==1)
{
digitalWrite(PumpRelayPin,HIGH);
digitalWrite(RED_LED, HIGH);
}
else
{
digitalWrite(PumpRelayPin,LOW);
digitalWrite(RED_LED, LOW);
}
}
Сборка датчиков. Для каркаса использовался пластиковый уголок и стяжки. Кабель - витая пара с RJ-45.
Внутренняя сборка. (Виден блок питания 220V-5V, конвертор 5V-3.3V (для питания МК), силовое реле и сам МК MSP430 с небольшим обвесом)
Готовое устройство.