Доброе время суток. Господа Помогите доделать скеч. Нужно создать меню для настройки нижнего и верхнего придела включения и выключения. Кто может подскажите куда копать дальше. Проект делаю в первый раз. Не пинайте сильно. Заранее спасибо. Код (C++): /* адрес eeprom Давление EEPROM 0 Минимальное значение давления EEPROM 1 Максимальное значение давления */ // Подключаем библиотеки: //***************************************** //#include <EEPROM.h> // подключаем библиотеку для работы с EEPROM #include <Wire.h> // подключаем библиотеку для работы с шиной I2C #include "LCD_1602_RUS.h" // подключаем библиотеку для работы с LCD дисплеем с русским языком //***************************************** LCD_1602_RUS lcd(0x3F, 20, 4); // объявляем переменную для работы с LCD дисплеем //***************************************** int sensor = A1; // Пин датчика давления "аналоговый" int dig_out; int RelePin = 10; // Пин реле "насоса" int ledPin_Rele = 11; // Пин светодиода "вклюсение насоса" автоматический режим int ledPin_Error = 12; // Пин светодиода "авария насоса" int ledPin_Rele_manual = 13; // Пин светодиода "вклюсение насоса" ручной режим int buttonPin_manual = 2; // Пин кнопка "вклюсение насоса" ручной режим int buttonPin_SET = 3; // Пин кнопка "SET" int buttonPin_UP = 4; // Пин кнопка "UP" int buttonPin_DOWN = 5; // Пин кнопка "DOWN" int val = 0; //***************************************** void setup() { pinMode(RelePin, OUTPUT); // устанавливает режим работы - выход pinMode(ledPin_Rele, OUTPUT); // устанавливает режим работы - выход pinMode(ledPin_Error, OUTPUT); // устанавливает режим работы - выход pinMode(ledPin_Rele_manual, OUTPUT); // устанавливает режим работы - выход pinMode(buttonPin_manual, INPUT); // устанавливает режим работы - вход pinMode(buttonPin_SET, INPUT); // устанавливает режим работы - вход pinMode(buttonPin_UP, INPUT); // устанавливает режим работы - вход pinMode(buttonPin_DOWN, INPUT); // устанавливает режим работы - вход pinMode(sensor, INPUT); // устанавливает режим работы - выход { lcd.init(); // инициируем LCD дисплей lcd.backlight(); // включаем подсветку LCD дисплея Serial.begin(9600); } } void loop() { float dig_out = analogRead(sensor = A1); // Считываем входное напряжение dig_out = dig_out * 5.0 / 1024.0; // Преобразуем значение dig_out = 1.111 * dig_out - 0.555; if (dig_out < 0 ) { ('-', false); dig_out *= 0; } val = digitalRead(buttonPin_manual); // нажата кнопка "вклюсение насоса" ручной режим digitalWrite(RelePin, val); // включает реле digitalWrite(ledPin_Rele_manual, val); // включаем светодиод //****************************************** Serial.println(dig_out); lcd.setCursor(1, 0); lcd.print(L"РЕЛЕ ДАВЛЕНИЯ"); // Выводим надпись lcd.setCursor(0, 2); lcd.print("MPa"); // Выводим надпись lcd.setCursor(8, 2); lcd.print("MPa"); // Выводим надпись lcd.setCursor(16, 2); lcd.print("MPa"); // Выводим надпись lcd.setCursor(8, 3); lcd.print(dig_out); // Выводим давление delay(500); // Время задержки }
Я сейчас готовлю к мелкосерийному производству блок управления котельной. Среди функций есть и управление скважиной. Включение и аварийное отключение насоса при осушении работает через датчик протока воды. Его же показания используются для оценки статистики потребления воды, дебет скважины и.т.д. Рекомендую использовать такую же схему. Самый простой монтаж, без необходимости лезть в скважину с установкой датчиков давления/уровня.