Радиолоцман Электроника en
расширенный поиск +
  

Параллельная работа двух реле от Arduino UNO

Ответ
 
Опции темы Поиск в этой теме Рейтинг: Рейтинг темы: голосов - 1, средняя оценка - 1.00.
Старый 03.02.2017, 23:53 #1
iven83
Новичок
 
Регистрация: 03.02.2017
Сообщений: 6
Репутация: 10
iven83 Новичок
По умолчанию Параллельная работа двух реле от Arduino UNO

Здравствуйте. Помогите пожалуйста реализовать проект.

Нужно запитать два реле по следующему алгоритму работы:

1. Включается реле №1 на 1с.

2. Реле №1 выключается на 10 минут.

3. Через 2 секунду после включения реле №1 включается реле №2.

4. Реле 2 отключается через 1 с работы на 10 минут.

Цикл замкнутый (пока не отключу кнопкой). Включать-включать хочу всё с одной кнопки.

Не судите строго - читаю про Ардуино 3й день и пользуясь исключительно видеоуроками из Ютуба попытался написать следующее.

void setup() {
pinMode(13, OUTPUT); // реле №1
pinMode(11, OUTPUT); // реле №2
pinMode(12, INPUT_PULLUP); // кнопка включения-выключения
}
void loop() {
if ( digitalRead(12) == LOW ) digitalWrite(13, 11, HIGH);
else digitalWrite(13, 11 LOW);
{
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
digitalWrite(11, HIGH);
delay(1000);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(13, LOW);
delay(9000);
digitalWrite(11, LOW);
delay(9000);
}
}
Поскольку параллельное выполнение задач вроди как невозможно (опять же исходя из моих скромных знаний), попытался реализовать последовательно.
Проаверить пока даже негде - только завтра обещали прислать "комплект новичка" на базе Arduino UNO. Ранее вообще к программированию отношения не имел, так что не судите строго пожалуйста.
Всем заранее спасибо.
iven83 вне форума  
Оценка 0
Старый 04.02.2017, 09:32 #2
OKF
Новичок
 
Регистрация: 30.03.2010
Сообщений: 19
Репутация: 13
OKF Новичок
3 0
0 0
По умолчанию У Вас 3 задачи - кнопка, реле1 и реле2

В цикле Вы должны последовательно все эти 3 задачи решать. По простому, скачите с одной на другую и нигде не застряёте. И все будут довольны.))
OKF вне форума  
Оценка 0
Зачем использовать внешнюю микросхему часов реального времени (RTC), а не внутренние RTC микроконтроллера? Хотя бы потому, что у RTC MAX31342 производства Maxim Integrated типовое потребление составляет 150 нА при 3 В и температуре 25°С, а у встроенных RTC одного из самых малопотребляющих микроконтроллеров при тех же условиях – примерно 370 нА.
Старый 06.12.2017, 23:22 #3
CCat
Новичок
 
Регистрация: 06.12.2017
Сообщений: 4
Репутация: 10
CCat Новичок
0 2
0 0
По умолчанию

Цитата:
Сообщение от iven83 Посмотреть сообщение
видеоуроками из Ютуба
Не надо из Ютюба... Читать - лучше и быстрее.
Очень редко надо delay, это останавливает выполнение всего.
Вбейте в поисковике что-то типа "arduino замена delay"
Потом "arduino кнопка прерывание".
Что у Вас сейчас происходит - на краткий миг Ардуина смотрит, нажата ли кнопка или нет. Потом погружается в долгую процедуру "что-то включим, заснем на секунду, что-то выключим, поспим". Потом опять на краткий миг между прошлым и будущим взглянет на кнопку - не нажата ли в эту долю секунды.

Параллельное выполнение задач (во внешем мире - не на уровне кода) на Ардуино зависит от тактовой частоты процессора Ардуины и от количества и трудоемкости этих задач.
CCat вне форума  
Оценка 0
На вебинаре 10 июня будет детально рассмотрено семейство микросхем VIPer со встроенным транзистором, их возможности и топологии применения, анонсированы новые регуляторы семейства VIPerPLUS, расширяющие границы применения этих компонентов. Также будут продемонстрированы испытания из лаборатории ST и пример моделирования в среде E-DesignSuite. Участие бесплатное.
Старый 07.12.2017, 14:38 #4
Vadzz
Специалист
 
Аватар для Vadzz
 
Регистрация: 12.11.2008
Адрес: Тирасполь
Сообщений: 2,163
Записей в дневнике: 19
Репутация: 400
Vadzz Специалист Vadzz Специалист Vadzz Специалист Vadzz Специалист Vadzz Специалист
388 84
0 0
Отправить сообщение для Vadzz с помощью ICQ
По умолчанию

Вместо функции delay() в основном цикле используйте millis(). Как реализовать тайминги с помощью этой функции полно информации в сети
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Vadzz вне форума  
Оценка 0
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Оценка этой теме
Оценка этой теме:
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Часовой пояс GMT +3, время: 09:19.
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Вебинар: Регуляторы VIPerPLUS — решения для источников питания на любой вкус
Методы снижения пусковых токов импульсных источников питания
Срезы портала ↓
Рейтинг@Mail.ru