Таймер отсчета и мониторинг аналогового входа

Tehnik
Offline
Зарегистрирован: 20.09.2013

Добрый день!

Прошу помощи в написании скетча для uno, такая задумка;

1. Есть одна кнопка buttonPin

2. Есть две лампочки redPin и greenPin

3. Пьезопищалка beepPin

4 Вход аналогового порта 0

 Алгоритм такой; Если кнопка buttonPin не нажата то горит greenPin и ни чего не происходит

При нажатии на кнопку запускается обратный таймер на 5 минут (фиксированный), greenPin начинает моргать по секундно (секунду горит секунду не горит) а так же в этот период идет мониторинг порта который улавливает сигналы(скачки).

Если за время работы таймера был пойман хотя бы один сигнал с аналогового порта 0 (в аналоге пределы измерения скачка от 0 до 512) то загорается redPin и идет звуковой сигнал 0,5сек(1000гц) так же если еще поступят импульсы с аналогового порта 0 то их просто озвучивать пока таймер не закончит отсчет. По окончанию работы таймера звучит сигнал пять раз 0.5сек(1000гц) и остается гореть redPin и greenPin. Сброс осуществляется нажатием на кнопку buttonPin.

Если прошло 5 минут и сигналов с аналогового порта 0 не было то загорается greenPin и звучит сигнал три раза по 0.5сек(1000гц)

Если во время работы таймера нажать повторно на кнопку buttonPin, то таймер с показаниями мониторинга порта 0 сбрасывается на начало отсчета и ждет нажатия кнопки.

Если не реально на одной кнопке такое провернуть, то можно ввести вторую кнопку.

Заранее благодарен за любую помощь, просто посмотрел похожего ни чего не нашел, есть по отдельности что то подобное но соеденить ума нема... Может ссылки там какие совет..

 

 

 

 

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Перепостите вот сюда - http://arduino.ru/forumy/ishchu-ispolnitelya

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

начните плясать от Blink without delay, заставьте в это время реагировать на кнопку, дальше все просто.

Гриша
Offline
Зарегистрирован: 27.04.2014

поддерживаю, задача очень простая - учитесь на примерах, коих море. С чего начать сказано выше

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Я бы посоветовал посадить buttonPin на Reset.

Tehnik
Offline
Зарегистрирован: 20.09.2013

Значит все таки придется вводить еще одну кнопку. Ясно спасиб. сделаю скину что получилось.

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

зачем еще одну?