Немного заброшенного кода на растерзание "Сенсорное открытие багажника".

Привет всем!

Я новичок в программировании и делаю свои первые шаги на платформе Arduino. Читаю книги Виктора Петина + смотрю различные видеоуроки YouTube. Решил поделиться опытом.

Когда-то было дурацкое и в тоже время дичайшее желание сделать на своей Калине открывание багажника при помощи сенсорной кнопки.

В видео ниже представлен общий пример.

Но просто прикоснуться нужного метса на авто и потянуть багажник для меня было недостаточно. Я хотел сделать всё гибко и под себя и вот каким путём я на тот момент пошел...

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

1) Машинку поставили на охрану, поворотники мигнули 1 раз, режим "LOCK" — сигналы с сенсорной кнопки не учитываются, багажник не открыть.

2) Машинку открыли, поворотники мигнули 2 раза, режим "UNLOCK" — идём и спокойно открываем багажник.

3) Сработала охрана, вы сломались и включили аварийку, используете поворотники при перестроениях? Т.е. все те моменты когда поворотники мигают три раза и более . В этом случае ардуинка переходит в режим ожидания "WAIT". Как только сигналы с поворотников перестают поступать, Ардуинка восстанавливает тот режим, который был до "WAIT".

4) Сняли аккумулятор? Как только восстанавливается питание на Ардуинку и пока не сработает один из двух режимов "LOCK" или "UNLOCK" — ни какой реакции на сенсорную кнопку не будет.

Более подробно как всё будет работать написано в коде https://github.com/Beijo2908/My в "Недоделка".

Вопрос к знатокам - правильно ли я использовал условия от переполнения счетчика?

Немного заброшенного кода на растерзание "Сенсорное открытие багажника". Arduino, Программирование, Первый опыт, Опыт, Новичок на Пикабу, Новичок, Видео

Arduino & Pi

1.4K постов20.6K подписчика

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Автор поста оценил этот комментарий

да блядь. да блин. ну нельзя использовать millis() в таких целях!

millis() - функция целочисленная, и ОНА НЕ ВОЗВРАЩАЕТ ВРЕМЯ, а возвращает КОЛИЧЕСТВО ТАКТОВ, ПРОШЕДШИХ С МОМЕНТА ВКЛЮЧЕНИЯ ПО МОДУЛЮ 2^32! читайте документацию внимательно, а не "по-диагонали".

p.s. Через 49,5 дней, любой цикл, в котором есть сравнение (вроде if(next_time>millis()) начинает не работать... Типичная ошибка переполнения, которой diy насрать (какая самоделка на ардуине работает непрерывно более 1-2-3х, ну хорошо, суток; только чур не "в теории", а на практике?), но если делать нечто "долгоиграющее", то такой пиздец однажды приподносит такой сюрприз... который при отладке невозможно поймать!

p.p.s. если так нужно millis() использовать - используйте самописный врапер, в котором результатом будет либо аналог int64, либо обрабатывается случай переполнения счётчика...

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Нашёл тему обсуждения переполнения millis() на стороннем сайте и взял для себя от туда немного опыта. Да, вы указали что if(next_time>millis()) это ошибка, я с вами полностью согласен. Но если делать через вычитание...
if(millis() - unsigned long > 2000){
***
}
unsigned long = millis();
В таком случае счётчик ни когда не переполнится. Для меня это был сюрприз) Это всё из-за уроков Гайвера)
показать ответы
2
Автор поста оценил этот комментарий

просто использовать канал сигналки на открытие багажника совсем не интересно?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Как раз таки это и решило бы проблему, но у меня всё штатное и увы, доп. каналы отсутствуют. Да хоть если бы и сигналка была норм, возникает другая задача - её найти и достать. А есть такие установщики, после которых не сняв торпеду сигналку не достать))
показать ответы
1
Автор поста оценил этот комментарий

я думал что вы уже сделали, вот и спрашивал) Думаю вам понравятся и пригодятся эти каналы https://www.youtube.com/channel/UC4axiS76D784-ofoTdo5zOA https://www.youtube.com/channel/UCgtAOyEQdAyjvm9ATCi_Aig автор один и тот же человек.

А по поводу сенсора, есть ёмкостные сенсоры для включения светодиодных лент, они более компактные и работают через небольшой слой пластика. так же посмотрите видео с лампой, код и конструкцию сенсорного касания через пластик можно взять от туда https://www.youtube.com/watch?v=c79ZYTGxeG4&t=522s

раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо, на Гайвера подписан давненько, но что-то тем про Ардуино и подделок у него все меньше и меньше(((

1
Автор поста оценил этот комментарий

если не сенсор, то как определяется приближение руки?

раскрыть ветку (1)
Автор поста оценил этот комментарий

В смысле практического опыта сенсорного открывания багажника у меня нет. Так, когда-то набросал код, но наступила зима и всё)

Автор поста оценил этот комментарий
Какая комплектация у Калины?
блок электропакета находится под задним левым сиденьем. Там есть выход на дополнительный датчик (удара, объема). Не сочтите за рекламу - покупаешь ЕС-1 (датчик прикосновения), питание берешь из электропакета с разъема. Датчик управляет релюшкой, а она соленоидом.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Калина "Норма". Я подразумевал сделать универсальное решение для большинства. Чтоб не надо было думать и ковыряться. Это как ДХО в пол накала на дальнем свете))

Автор поста оценил этот комментарий

что за сенсор ставили под пластмассу?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я не ставил, но подумывал ttp223b.

показать ответы
3
Автор поста оценил этот комментарий

сел аккум машинв открылась? Это слишком даже ддя автоваза. Может напутали что?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Да, да... Напутал(( В общем там идет на замыкание, но сигнал блок центрального замка получает в виде нуля.

показать ответы
Автор поста оценил этот комментарий
Да ты дьявол, 4 elseif, попробуй switch юзать..
раскрыть ветку (1)
Автор поста оценил этот комментарий

Я только начинающий, изучаю все азы))) к switch'у надо привыкнуть)

1
Автор поста оценил этот комментарий

pc817 отличная замена релюшкам, рекомендую.

раскрыть ветку (1)
Автор поста оценил этот комментарий

А вообще, подскажи... В конце поста у меня вопрос, правильно ли я составил условия от переполнения счетчика?

показать ответы
Автор поста оценил этот комментарий
Номер машины известен...выехали с аккумулятором;)
раскрыть ветку (1)
Автор поста оценил этот комментарий

Видео и тем более машинка то не моя и я вообще с другого региона. Это видео 15 года и не факт что машинка целая)))

показать ответы
1
Автор поста оценил этот комментарий

pc817 отличная замена релюшкам, рекомендую.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо. Буду углубленно изучать оптроны. А то в моем след. проекте катушка с колодкой очень громоздкие.)

показать ответы
1
Автор поста оценил этот комментарий

А то прям на лобовом будет написано и прикреплена схема как это все работает :)
Не, ну если учесть, что автор спалил свой номер..

раскрыть ветку (1)
Автор поста оценил этот комментарий
Авто не моё, так... Видео с инета)
Автор поста оценил этот комментарий

Пока по программе я вижу, что учитывается только один канал поворотников, а не два.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Я предпологал два реле (реле на правый и реле на левый сигнал поворота). Контакты управления управления которых соединяются последовательно. Пока не замкнутся два контакта одновременно - сигнала не будет.
Можно было и программно все организовать - два канала... Хотя, все равно две релюшки нужно из-за бортового напряжения авто 12В.
показать ответы
3
Автор поста оценил этот комментарий
А почему просто не использовать реле, сигналка включена реле обесточено, и сенсор не работает ну и тд... Почему так не сделать ?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Во время изучения схем электрооборудования своего авто, я к сожалению не обнаружил реле или какое-нибудь место, где при постановке/снятии с охраны исчезало/появлялось напряжение. Более того, принцип работы Центрального Замка на Калине основан на не замыкании контактов, а наоборот... Нажали кнопку, напряжение исчезло - Центральный Замок открылся. Во как.
показать ответы
Автор поста оценил этот комментарий

А схема то где ?
Хотя я уже и без схемы вижу уязвимость, сдергиваем боковой повторитель поворота, моргаем туда 12-ю вольтами сколько надо раз, и по сенсорной кнопке открываем машину :-)

раскрыть ветку (1)
Автор поста оценил этот комментарий
Ха :D
Схемы нету, так как забросил это дело. Занимаюсь другим минипроектом.
Да и не думаю что тот кто будет тырить мою Калину, будет носить с собой 12 вольтовый аккумулятор + ему надо разобрать не одну фару, а две. Так как сигнал будет учитываться в том случае, если будет работать как левая сторона поворотников, так и правая одновременно)
показать ответы