Решил создать отдельную тему. Цель темы, собрать идеи по функционалу. Кому интересно, пишите, будем пытаться что-нибудь собрать. :)
Вот как раз назрел первый вопрос - как питать ардуину в автомобиле?
Вид для печати
Решил создать отдельную тему. Цель темы, собрать идеи по функционалу. Кому интересно, пишите, будем пытаться что-нибудь собрать. :)
Вот как раз назрел первый вопрос - как питать ардуину в автомобиле?
Если питать только Arduino с минимумом обвязки , то достаточно встроенного стабилизатора. Если питать дополнительно активные шилды, то потребуется внешний стабилизатор
Chip, будем исходить из того, что в автомобиле нет CarPC и соответственно БП. Питаться будет ардуина + возможно 1-2 шилда и до 8 5В реле - Какой стаюилизатор лучше использовать?
Все зависит от общего тока потребления всех этих устройств. Возьми с запасом например такой преобразователь +5в 3А или любой другой на +5в 3А
Мне тоже интересно "GSM Модуль к сигнализации на базе Ардуино"
Тоже хотел бы с этим поработать.
Тогда читай вот эту тему
Придумал вот что:
Ардуина + GSM Shield будут работать совместно с уже установленной сигнализацией (у меня Sheriff 1050). Причем модель сигнализации, значения не имеет. Смысл работы - при срабытывании датчиков - ардуина звонит мне на телефон. Вначале хотел сделать СМС оповещение, но передумал, т.к. СМС пришла, "пикнула" и все... Можно не услышать, тем более на телефонах с Android.. Там сигналы CМС короткие и нудные..
Теперь, нужно сделать, чтобы Ардуина, становилась в режим охраны, вместе с сигнализацией (чтобы не звонила при каждом открывании двери, капота и т.д.). Для этого, параллельно к в выходам блока сигнализации для управления приводами открытия/закрытия дверей (проще ЦЗ - у меня желтый и белый провода), подключил обычное автомобильное 5 контактное реле, которое в данном случае работает в качестве кнопки - ALARM ON/OFF. Подключил Ардуину, залил скетч:
- все работает. Т.е. включаю (брелком) охрану - светодиод загорается, снимаю - тухнет. При этом, (почему использую именно 5-контактное реле), при постановке на охрану, реле размыкает один из проводов, идущих от замка зажигания (типо иммобилайзер). Но эта функция еще сыровата...PHP код:
const int switchPin = 5;
const int ledPin = 10;
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;
void setup()
{
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
boolean debounce (boolean last)
{
boolean current = digitalRead(switchPin);
if (last != current)
{
delay(5);
current = digitalRead(switchPin);
}
return current;
}
void loop()
{
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
ledOn = !ledOn;
}
lastButton = currentButton;
{
digitalWrite(ledPin,ledOn);
}
}
Далее, используя такое же реле (можно 4-х контактное) и подключаю его к блоку сигнализации, на провод, получающий сигналы от концевиков дверей. У меня это коричневый провод. На него приходит минус, поэтому второй провод от реле я кинул на +.
Скетч для звонка при срабатывании реле :
Теперь возникла проблема №1 - если в 1 случае, реле включается и сразу выключается, то во 2-м случае, реле включается, но не выключается, пока не будет закрыта дверь. И Ардуина будет все это время пытаться звонить... Нужно доработать скетч и получить результат типо того, что датчик сработал (HIGH-реле замкнулось), затем по прошествии определенного времени, не зависимо от состояния датчика - разомкнулось (т.е. снялась с охраны), а потом, секунд через 10-15 снова стало в охрану. Вобщем как-то так.PHP код:
const int buttonPin = 5;
int buttonState = 0;
void setup() {
Serial1.begin(9600);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
Serial1.println("ATD+380675678366;");
delay(60000); //чтобы не звонил все время
}
}
Проблема №2 - объединить эти два скетча и чтобы 2-й скетч начинал работать только тогда, когда машина под охраной, т.е. если LED из скетча №1 в режиме HIGH.. Вот пока как-то так. :)
Поломалась макетка :( ... Заказал новую... Приедет, продолжим. :)
А реле то зачем? Может лучше оптронЦитата:
Теперь, нужно сделать, чтобы Ардуина, становилась в режим охраны, вместе с сигнализацией (чтобы не звонила при каждом открывании двери, капота и т.д.). Для этого, параллельно к в выходам блока сигнализации для управления приводами открытия/закрытия дверей (проще ЦЗ - у меня желтый и белый провода), подключил обычное автомобильное 5 контактное реле, которое в данном случае работает в качестве кнопки - ALARM ON/OFF.
А какой GSM Shield нужно купить, чтобы можно было делать то же самое?
Chip, я пробовал из того, что было под рукой. А какие приемущества у оптрона в моем случае?
Я использую IcomSat GPRS Shield (http://iteadstudio.com/store/index.p...roducts_id=413)
Я ведь использую реле в качестве кнопки, а как одним диодом обойтись?
Вот так ,только программно нужно подключить внутренний резистор
Вложение 14099
Нет, для меня с реле проще.
Это просто пример .
В твоем случаи только диод к сигнальному проводу и к Arduino
А как же напряжение в 12 В?
Да хоть 30в можно подавать
Сейчас работает вот так:
Вложение 14101
А по твойе схеме, используется сигнальный выход сигнализации. Какой вывод?
Наверно желтый, но лучше тестером проверить
Дело в том, что когда сигнализация включается (с брелка), на желтый подается +, на белый-. Когда сигнализация отключается - на желтый -, на белый +. Т.е. таким образом, она толкает замки в разные стороны. А для моего случая, происходит определение - включена или выключена сигнализация. А вот в случае с датчиками открывания дверей - да, можно использовать твою схему. У меня идет один коричневый игнальный провод. При срабатывании он дает -.
Ну тогда нужно 2 диода и подключить к двум цифровым входам
Я не понимаю, как это будет выглядеть и как работать.
Как диод работает знаешь?
Насколько я понимаю, в одну сторону пропускает ток, в другую не пропускает
Теперь смотри на схему
Если на катод диода приложить +20в или +30в что будет на аноде или входе ардуино?
А потом катод диода замкнуть на GND ?
Chip, с двумя диодами, мы используем 2 цифровых входа ардуины, а с реле - 1. Кроме того, есть маленькие релюшки на 12В. А с диодами, мне не очень все понятно, поэтому буду пока пробовать с реле, а там посмотрим.
А почему у вас так все сложно? Любой сигнализации есть выход на рэлее блокировки нормально замкнутого типа. На этом выводе при постановке на охрану появляется минус (вывод садится на корпус), а при снятии пропадает! вот вам и будет выход состояния. А с работку можно взять с выхода на сирену правда там +12в выходит но опять же развязать рэлее или оптроном (ведь могут сработать не только дверные концевики а также капот либо багажник или датчик удара).
Вариант не плохой, так было бы действительно проще, но не в каждом автомобиле (особенно если сигнализация заводская) легко добраться до блока сигнализации и еще искать этот провод.
От сирены не подходит, т.к. как-раз датчик удара нам и будет мешать. Если он 2-х зонный, при срабатывании 1-й зоны (слабое срабатывание), уже начнет звонить. Что касается капота и багажника, они также завязаны на ту-же линию, что и двери. А вот датчик удара, будет отдельно подключен к Ардуино и именно зона №2.
Ну раз уж сигнализация заводская то вам мало будет одних замков так как вы их можете в ходу закрывать нужен будет провод зажигания и поворотов чтоб наверняка(так сделано в сигнализациях под родной ключ). Ну и алгоритм соответствующий!
А что касается предупредительной зоны датчика удара и сигнала снятия постановки на охрану то длительность импульса там меньше секунды. Программная задержка все решит (в некоторых сигнализациях не хватает его длительности даже для включения рэлее ).
Закрытие замков "в ходу", сигнализации абсолютно не касается. Там стоят 2 дополнительных реле, которые при закрытии замков с кнопки в салоне, отключают блок сигнализации. Я уже проверял. Сигнал идет только при закрытии-открытии от сигнализации.
По поводу 2-го, я не вижу значительных приемуществ перед моим вариантом. Может я чего-то не понимаю? Опишите подробнее, чем это лучше.
Преимущество в том что при сработке любого из датчиков включается сирена, а у вас задействованы только двери! Бесспорно что подключение непосредственно к датчикам лучший вариант но если уже идти этим путем то нужно задействовать датчик капот багажник и зону сработки ударного датчика тогда мы получим почти автономную сигнализацию. Насчет рассинхронизации Chip прав при помехе в питании (особенно при запуске двигателя) у тебя может перевернутся состояние и и будет все наоборот работать! (на это грабли я уже натыкался)
Да, с рассинхронизацией вы правы. Если использовать диоды, то получается, что при постановке на охрану, сигнал (+ или -) поступает на один пин ардуины, а при снятии, сигнал (+ или -) поступает на другой пин?
Вложение 14110
Вот так подключать?
Вот так
Так нельзя. Оба диода должны быть подключены анодами к ардуино (верхний наоборот). При постановке на одном будет -, при снятии на другом.
1. Какие диоды использовать?
2. Chip, вот этот скетч http://www.compcar.ru/forum/showpost...12&postcount=7 упростить можно?
Chip, нашел диоды FR207 (2A;1000V) - Подойдут? И еще, если не тяжело, нарисуй пожалуйста подробную схему подключения ардуино через эти диоды (с пинами), а то не пойму, куда к ардуине 12В подключать и т.д. Не нужны ли резисторы, как делители напряжения?