Ви не увійшли.
Сторінки 1
Спасибо всем за советы, получил сегодня свою первую Ардуинку. Терпеть не смог, собрал на коленке. Залил скетч из поста №10, реле пока не подключал, информацию смотрел в мониторе порта. Всё как я хотел. При сработке одного реле на 3 пине 648, при сработке двух реле на 3 пине 724. Ещё раз всем спасибо.
Всё намного сложнее, каждой системой порошкового тушения управляет свой прибор, который следит за датчиками пламени, включает оповещение, переключает режимы работы, формирует задержку для эвакуации людей, эти приборы между собой и с блоком реле "общаются" по RS485, а шкаф управления пеной релейный и ему для запуска необходимы два сигнала.
Уяснить задачу из первого поста мне не удалось.
Попытаюсь сформулировать задачу по другому. Есть пять систем порошкового пожаротушения и модуль на 8 реле, к каждому реле можно приписать любое количество систем (при активации любо приписанной системы - сработает реле). В этом же помещении есть система пенного пожаротушения, которая запускается по двум сигналам (логика И). Необходимо запустить пену, если запустились две любые системы с порошком.
По схеме из поста №5 контроллер не сможет определить нажатия кнопок.
Кажется понял. Надо делать так?
int analogPin = 3; // средний вывод делителя подключен к аналоговому выводу 3
int val = 0; // переменная для хранения считанного значения
int relais1 = 10; // модуль реле подключен к 10 выводу
int relais2 = 11; // модуль реле подключен к 11 выводу
void setup()
{
Serial.begin(9600); // настройка последовательного соединения
pinMode(relais1, OUTPUT); // переключаем цифровой вывод в режим выхода
pinMode(relais2, OUTPUT); // переключаем цифровой вывод в режим выхода
}
void loop()
{
val = analogRead(analogPin); // считываем напряжение с аналогового входа
Serial.println(val); // наблюдаем считанное значение
if (val > 600) {
digitalWrite(relais1, LOW); // включаем реле1
} else if (val > 700) {
digitalWrite(relais2, LOW); // включаем реле2
} else {
// действий нет
}
}
Я же написал, что со сбросом ещё не думал. Что ещё не так?
Пока пришла такая мысль со сбросом пока не думал.
int analogPin = 3; // зона подключена к аналоговому выводу 3
// общий вывод соединен с землей
int val = 0; // переменная для хранения считанного значения
int relais1 = 10; // модуль реле подключен к 10 выводу
int relais2 = 11; // модуль реле подключен к 11 выводу
void setup()
{
Serial.begin(9600); // настройка последовательного соединения
pinMode(relais1, OUTPUT); // переключаем цифровой вывод в режим выхода
pinMode(relais2, OUTPUT); // переключаем цифровой вывод в режим выхода
}
void loop()
{
val = analogRead(analogPin); // считываем напряжение с аналогового входа
Serial.println(val); // наблюдаем считанное значение
if (val < 350) {
digitalWrite(relais1, LOW); // включаем реле1
} else if (val < 700) {
digitalWrite(relais2, LOW); // включаем реле2
} else {
// выполнять действие C
}
}
Читаю С. Монк Программируем Arduino. Профессиональная работа со скетчами, может что посоветуете?
Читаю книгу по работе со скетчами, и ничего не понимаю. Если не трудно, помогите. Есть 6 входов и 2 выхода, необходимо по активации любого, из первых пяти входов - активировать выход 1 и при активации любого второго, из первых пяти входов - активировать выход 2. При активации выхода 6 - сбросить. Тыкните куда копать, в ардуино полный ноль, пока.
Сторінки 1