Перейти к содержанию

Товарищи Помогите Пожалуйста Со Скетчем Для Сигнализации


Рекомендуемые сообщения

Уважаемые профессионалы, прошу Вашей помощи!

Дело в том, что я решил сделать сигналку в гараже ( ибо имел случай воровства). Заказал в интернет магазине ардуино уно, понижающий трансформатор, коробочку под ардуино., купил уже герконы, сирену и кнопку. В общем все комплектующие по схеме. Дело в том, что по специальности я инженер-механик, и как бы поле моей деятельности лежит немного в другой плоскости. Но я имею прямые руки. Схемы читать умею (в том числе и электро). Проблема в программировании. Полностью отсутствуют азы программирования.

Так вот к главному. Нашел сайт со схемой подключения и скетчем. Но при компиляции программа среды выдает ошибку.

Приведу адрес страницы со схемой и скетчем http://eschemo.ru/ohrannaya-sistema-na-arduino/

Прошу администраторов не считать это рекламой сторонних ресурсов. А уважаемых профессионалов прошу помочь мне со скетчем. (скетч последний на странице).

Заранее благодарен.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Ошибку хоть привели бы, тут же не экстрасенсы :)

ЗЫ: Алгоритм работы немного странный.

Для чего нужно приоткрывать дверь, чтобы нажать на кнопку - совершенно не понятно. Удобнее было бы после нажатия кнопки, ждать просто закрытия двери (не учитывая её открытия), затем включать охрану через некоторое время (когда охранка убедится, что дверь уже заперта и не откроется больше). Если за это время, пока ждём, она снова открылась (забыл хозяин что-то дома), то она опять ждёт её закрытия какое-то время. Время выбрать минут 5, для уверенности. За 5 минут после ухода хозяина, всё равно никто не залезет.

Я бы сделал так :)

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

К сожалению, с программированием ардуинов, никогда не связывался. Пишу программы для МК на чистом Си.

Вы бы, перед покупкой, лучше посоветовались на форуме. Вас бы, скорее всего, отговорили покупать ардуину. Лучше купить МК + всякую навесуху + собрать простенький программатор. С прямыми руками собрали бы сами всё в кучу без проблем.

Ссылка на комментарий
Поделиться на другие сайты

И ещё, по схемотехнике. Все размыкаемые/замыкаемые контакты принято коммутировать на минус, а резисторную подтяжку делать к плюсовому проводу питания. Кнопки и герконы на плюс коммутируют только неопытные электронщики.

Ссылка на комментарий
Поделиться на другие сайты

Эту штучку за 47 рублей я щелчком пальца собью. Уж извините меня пожалуйста.

В моем случае, всетаки возможно замаскировать комплектующие сигнализации, хоть растащить их по всему гаражу.

Уважаемый Alex, пытливый ум покоя не дает, что сделано то сделано.

Ссылка на комментарий
Поделиться на другие сайты

Ошибку компилятора может всё-таки покажите ? Вдруг какие слова знакомые попадутся :)

В 13.30 по Москве. Сейчас к сожалению на работе.

Ссылка на комментарий
Поделиться на другие сайты

алгоритм и реализация не верны, говорю как человек, много лет занимавшийся монтажом, разработкой и изготовлением сигнализаций для дома

даже в самом простом варианте вам надо:

- бесперебойное питание на 3-4 часа (аккумулятор 6-12в ёмкостью от 4А/ч),

- хотя бы 2 реле (на звуковой сигнал и на световой маяк),

- хотя бы два входа (шлейф на двери и на окна). Если есть риск, то еще датчики движения крест-на-крест,

- кнопка или ключ для постановки и снятия с охраны,

- светодиод работы (чтобы видеть опрос шлейфа - просто выход МК),

- перемычка "после подачи питания вставать на охрану".

алгоритм:

включили питание. Мигнул Х раз - живой!

опрос перемычки: если не замкнута - в цикл опроса кнопки постановки на охрану.

Если замкнута:

цикл:

-опрос шлейфа,

-мигание светового маяка = "жду закрытия дверей и окон",

если всё замкнулось - выход из цикла

Замкнулось:

пикнуть, вкл световой маяк. ожидание 30-50 сек (чтобы успели выйти И чтобы датчик движения инициализировался. Но может потребоваться до минуты - есть и такие датчики!)

цикл контроля шлейфа:

-мигать светодиодом,

- шлейф разомкнулся? - да = выход из цикла

вкл ревун, вкл световой маяк

Цикл

- учет времени работы тревоги,

- опрос ключа/кнопки снятия с охраны. Сняли с охраны - Да = выход из цикла

- если ревёт больше Х минут - отключить звук.тревогу (ревун), откл световой маяк, опросить шлейф: замкнут? - стать на охрану. Нет - дальше реветь

Отключить звук.тревогу (ревун), откл световой маяк

спать

раз в ХХ секунд опрос ключа постановки на охрану

ps

если дверь закрыта, то шлейф обязан быть нормальнозамкнутый. Т.е., если порвался/разомкнут - тревога. Так работают все датчики тревоги.

В идеальном случае надо в шлейфе делать некое сопротивление и контролировать не только факт замкнут/разомкнут, но и ток/напряжение. Т.е., если кто-то заблокировал перемычкой ваш датчик, то в цепи изменится ток/напряжение. МК замеряет - ага, не норма = тревога!

6712104.jpg

Изменено пользователем Гость
Ссылка на комментарий
Поделиться на другие сайты

Александр, спасибо за Ваш комментарий. Я думаю Вы знающий человек в своей сфере. Но видите ли, ситуации бывают разные, иногда достаточно и обычного геркона и несколько небольших сирен, чтобы отпугнуть. Просто Вы не знаете условий. А Ваш совет относится к более так сказать профессиональному оборудованию. Спасибо за участие

Ссылка на комментарий
Поделиться на другие сайты

поверьте мне, как когда-то пострадавшему от воров: делайте СРАЗУ ХОРОШО. Испортить всегда успеете :)

а вообще, купите за 1500 китайскую сигнализацию с GSM-управлением. И позвонит, и СМС пришлёт в случае тревоги

ps

да, про 1500 я погорячился: бакс-то растёт...

http://www.aliexpress.com/item/Free-shipping-New-Wireless-GSM-Home-Security-Burglar-Alarm-System-Auto-Dialing-Dialer-SMS-Call/564464977.html?spm=2114.01020208.3.10.zNg6eC&ws_ab_test=searchweb201556_4_79_78_77_80,searchweb201644_0,searchweb201560_9

2500р

Изменено пользователем Гость
Ссылка на комментарий
Поделиться на другие сайты

// постоянные
const int button = 12; // пин для кнопки
const int gerkon = 3; // пин для геркона
const int sirena = 2; // пин упр-ния сиреной const
int led = 13; // пин индикатора
// переменные
int buttonState = 0; // состояние кнопки
int gerkonState = 0; // состояние геркона
int N = 0; // счетчик кнопки отключения охраны
int s = 0; // счетчик сирены
int value = LOW; // состояние светодиода
long previousMillis = 0; // переменная подсчета времени без delay
int doorDelay = 0; // переменная задержки автовключения охраны
// изменяемые переменные
int timeDelay = 50; // время задержки (t/10=секунды) на снятие с охраны
int autoSec = 15; // время (сек) автоматической постановки на охрану после закрывания двери
void setup() { // управление сиреной и индикатором — выход
  pinMode(sirena, OUTPUT);
  pinMode(led, OUTPUT); // кнопка и геркон — входы
  pinMode(gerkon, INPUT);
  pinMode(button, INPUT);
}
void loop() {
  digitalWrite(led, HIGH);
  while (buttonState == 0) { // цикл ожидания, пока не нажмем кнопку
    buttonState = digitalRead(button); // для перехода в режим охраны
    if (s == 1) {
      if (millis() - previousMillis > 500) { // прерывистая работа сирены
        previousMillis = millis();
        digitalWrite(sirena, LOW);
        delay(200);
        digitalWrite(sirena, HIGH);
      }
      if (digitalRead(gerkon) == 1) { // автоматическая постановка на охрану после закрывания двери
        if (millis() - previousMillis > 1000) {
          previousMillis = millis();
          doorDelay++;
        }
        if (doorDelay == autoSec) {
          buttonState = 1;
        }
      }
      else {
        doorDelay = 0;
      }
    } digitalWrite(led, LOW);
    buttonState = 0; // обнуляем значение кнопки
    s = 0;
    previousMillis = 0; //
    digitalWrite(sirena, LOW); // отключение сирены кнопкой
    while (gerkonState == 0) { // цикл, пока не закроем дверь
      gerkonState = digitalRead(gerkon);
    }
    delay (500); // :-)
    digitalWrite(sirena, HIGH); // Код
    delay (70); // индикации
    digitalWrite(sirena, LOW); // включения
    delay (70); // режима
    digitalWrite(sirena, HIGH); // охраны
    delay (70); // оповещение
    digitalWrite(sirena, LOW); // звуковое
    while (gerkonState == 1) { // ждем открытия двери
      gerkonState = digitalRead(gerkon);
    }
    if (N > 0) { // самое главное
      digitalWrite(sirena, LOW); // не включаем сирену
    }
    else {
      s = 1;
      digitalWrite(sirena, HIGH); // включаем сирену
      delay(10000); // непрерывно на 10 секунд
    }
    digitalWrite(led, HIGH); // включаем индикатор
    N = 0;
    buttonState = 0;
    N = 0;
    doorDelay = 0;
    delay(2000); // напоминание «чайникам», которым нравится давить на кнопки без перерыва
    delay (1000);
    digitalWrite(led, LOW);
  }
}

Вот, на другом сайте amperka.ru человек поправил код. Спасибо ему большое. Если кому то пригодится - выкладываю.

мда, что то не так пошло :thank_you2:

http://forum.amperka...нализации.6714/

Изменено пользователем Alex
Подправил код
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...