Сигнализация ардуино: GSM-сигнализация для автомобиля на базе Arduino Uno / Хабр

Бюджетная GSM сигнализация с мозгами из Arduino

Внимание! Команды выделенные жирным шрифтом могут быть выполнены только с основного номера, так как отвечают за конфигурацию устройства. Остальные команды могут быть выполнены с номеров с признаком «Management».

SMS — команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone или FullReset. Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Возможно добавить два одинаковых номера, но тогда у номера дубликата автоматически остаётся только признак «r» — исключительно для повторного голосового вызова.
Пример команды:
До версии GSM_2017_05_26-20-22.hex:

AddPhone:2+71234567891m
AddPhone:3+71234567892a
AddPhone:4+71234567893
AddPhone:5+71234567894ma

Начиная с версии GSM_2017_05_26-20-22.hex:
AddPhone:2+71234567891mrsp
AddPhone:3+71234567892ms
AddPhone:4+71234567893sp
AddPhone:5+71234567894r

Синтаксис команды:

AddPhone — команда
: — разделитель
5 — записать в пятую ячейку памяти
+71234567890 — номер телефона
До версии GSM_2017_05_26-20-22.hex:
а — Параметр «Alarm» — на номера с этим параметром будут отправляться смс — сообщения о срабатывании сигнализации и сообщения постановке или снятии с охраны.
Начиная с версии GSM_2017_05_26-20-22.hex:
m — Параметр «Management» — разрешено управление сигнализацией

s — Параметр «SMS» — будет отправлено sms сообщение при срабатывании датчиков
r — Параметр «Ring» — будет совершен голосовой вызов при срабатывании датчиков
p — Параметр «Power» — будет отправлено sms сообщение при включении/отключении внешнего питания
i — Параметр «Info» — будет отправлено sms сообщение при постановке или снятии с охраны
При отсутствии параметров «m», «s», «r», «p»,«i» телефон заносится в память, но никак не используется.


DeletePhone — Удалить номер телефона.
Пример команды:
DeletePhone:+71234567891

Синтаксис команды:

DeletePhone — команда
: — разделитель
+71234567891 — номер телефона


EditMainPhone — Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:
EditMainPhone:spri

Синтаксис команды:

EditMainPhone — команда
: — разделитель
srpi — параметры


BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:
BalanceNum:#103#L24

Синтаксис команды:

BalanceNum — команда
: — разделитель
#103# — номер запроса баланса
L24 — Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.


EditSensor — Изменить название датчика и логический уровень срабатывания. Всего может быть не более 8 дополнительных датчиков. После изменения параметров необходима перезагрузка устройства.
Пример команды:
EditSensor:1+Datchik dvizheniya v koridore#h
EditSensor:2+Gerkon na okne

Синтаксис команды:

EditSensor — команда
: — разделитель
1 — записать в первую ячейку памяти
+ — разделитель
Datchik dvizheniya v koridore — название датчика, не может превышать 36 символов, включая пробелы.
#h — Признак высокого логического уровня с датчика, при получении которого сработает сигнализация. Если отсутствует «#h», сигнализация будет срабатывать при получении с датчика низкого логического уровня.


SleepTime — Время «засыпания» сигнализации при получении смс — команды «Pause», указывается в минутах. Значение по умолчанию: 15, не может быть менее 1 и более 60.
Пример команды:
SleepTime:20

Синтаксис команды:

SleepTime — команда
: — разделитель
20 — 20 минут «сна».


AlarmPinTime — Время на которое включается/выключается тревожный/инверсный пин, указывается в секундах. Значение по умолчанию: 60, не может быть менее 1 секунды и более 43200 секунд (12 часов).
Пример команды:
AlarmPinTime:30

Синтаксис команды:

AlarmPinTime — команда
: — разделитель
30 — 30 секунд включения/выключения тревожного пина.


DelayBeforeGuard — Время до постановки устройства на охрану, после получения соответствующей команды.
Пример команды:
DelayBeforeGuard:25

Синтаксис команды:

DelayBeforeGuard — команда
: — разделитель
25 — 25 секунд до постановки на охрану


DelayBeforeAlarm — Время по истечении которого будет отправлено «тревожное» смс уведомление, если за этот период времени сигнализация не была снята с охраны. Заменена расширенными командами начиная с версии GSM_2017_08_10-12-17.hex
Пример команды:
DelayBeforeAlarm:40

Синтаксис команды:

DelayBeforeAlarm — команда
: — разделитель
40 — 40 секунд до отправки «тревожного» уведомления


WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:
WatchPowerTime:5

Синтаксис команды:

WatchPowerTime — команда
: — разделитель
5 — 5 минут до отправки смс сообщения


RingTime — Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.
Пример команды:
RingTime:40

Синтаксис команды:

RingTime — команда
: — разделитель
40 — 40 длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.


ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:
ModemID:2

Синтаксис команды:

ModemID — команда
: — разделитель
2 — ID модема.


ExtDeviceTime — Количество секунд на которое изменится уровень сигнала на выходе управления внешним устройством.
Пример команды:
ExtDeviceTime:5

Синтаксис команды:

ExtDeviceTime- команда
: — разделитель
5 — 5 секунд


ExtDeviceLevelLow — Внешнее устройство подключенное к выходу A3 управляется низким уровнем сигнала (GND). На выходе по умолчанию будет присутствовать высокий уровень +5В, пока не поступит команда управления внешним устройством
ExtDeviceLevelHigh — Внешнее устройство подключенное к выходу A3 управляется высоким уровнем сигнала (+5V). На выходе по умолчанию будет присутствовать низкий уровень GND, пока не поступит команда управления внешним устройством

ResetSensor — сброс параметров датчиков расширителя порта

ResetConfig — сброс настроек на заводские установки

ResetPhone — удаление из памяти всех телефонных номеров

FullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.

RingOn — включить уведомление звонком на «главный» номер записанный в первую ячейку памяти при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex
RingOff — выключить уведомление звонком при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex

SmsOn — включить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex
SmsOff — выключить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex

PIROn — включить обработку датчика движения
PIROff — выключить обработку датчика движения

ReedSwitchOn — включить обработку основного герконового датчика
ReedSwitchOff — выключить обработку основного герконового датчика

WatchPowerOn — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану. Удалена начиная с версии GSM_2017_03_01-23-37.

WatchPowerOn1 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану.
WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено

WatchPowerOff — выключить контроль внешнего питания

GuardButtonOn — управление сигнализацией внешними устройствами или кнопкой включено

Удалена начиная с версии GSM_2017_04_16-12-00.
GuardButtonOn1 — функция постановки или снятия охраны внешними устройствами или кнопкой включена
GuardButtonOn2 — функция только постановки на охрану внешними устройствами или кнопкой включена, снятие с охраны производится по звонку на устройство или с помощью смс команды.
GuardButtonOff — управление сигнализацией внешними устройствами или кнопкой выключено

Reboot — перезагрузка устройства (Arduino)

PCFForceOn — постоянный мониторинг группы всех датчиков модуля расширения
PCFForceOff — мониторинг группы всех датчиков модуля расширения только при постановке устройства на охрану

MainSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (D6) от датчика
MainSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (D6) от датчика
MainSensorLevelOff — обработка датчика на входе (D6) отключена

SecondSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (A0) от датчика
SecondSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (A0) от датчика
SecondSensorLevelOff — обработка датчика на входе (A0) отключена

MainDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании основного датчика (D6), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
SecondDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании дополнительного датчика (A0), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
PCFDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании датчиков платы расширения (PCF8574), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.

GuardOn — поставить на охрану
GuardOff — снять охраны

Open — команда управления внешним устройством

Info — проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о том с какого номера была включена/выключена охрана

Pause — приостанавливает работу системы на время установленное командой sleeptime в минутах, система не реагирует на срабатывания датчика.

TestOn — включается тестовый режим, мигает синим светодиодом.
TestOff — выключается тестовый режим.

LedOff — выключает светодиод режима ожидания.
LedOn — включает светодиод режима ожидания.

Money — запроса баланса.

ClearSms — Удалить из памяти все sms

Консольные команды (до версии GSM_2017_04_24-13-22.hex) — вводятся в мониторе порта Arduino IDE:

AddPhone — аналогична sms-команде AddPhone

DeletePhone — аналогична sms-команде DeletePhone

EditSensor — аналогична sms-команде EditSensor

ListPhone — вывод в монитор порта списка сохранённых в памяти телефонов

ResetConfig — аналогична sms-команде ResetConfig

ResetPhone — аналогична sms-команде ResetPhone

FullReset — аналогична sms-команде FullReset

ClearSms — аналогична sms-команде ClearSms

WatchPowerOn1 — аналогична sms-команде WatchPowerOn1
WatchPowerOn2 — аналогична sms-команде WatchPowerOn2
WatchPowerOff — аналогична sms-команде WatchPowerOff

GuardButtonOn — аналогична sms-команде GuardButtonOn . Удалена начиная с версии GSM_2017_04_16-12-00
GuardButtonOn1 — аналогична sms-команде GuardButtonOn1
GuardButtonOn2 — аналогична sms-команде GuardButtonOn2
GuardButtonOff — аналогична sms-команде GuardButtonOff

Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут сброшены, аналогично команде FullReset.

I2CScan — поиск и инициализация поддерживаемых устройств на шине I2C.

ListConfig — вывод в монитор порта текущей конфигурации устройства.

ListSensor — вывод в монитор порта текущей конфигурации датчиков.

SmartESP :: Проект «Сигнализация» — охранная система, противопожарная система, оповещение через Интернет на Arduino или ESP8266

В основе проекта лежит контроллер типа Arduino, но более компактный и функциональный. Рекомендуемый вариант платы — Wemos D1 mini,  где используется чип ESP8266. В проекте определены:

  • SelfTemp — датчик температуры DS18B20 для контроля температуры устройства. Используется 1-Wire подключение.
  • OutTemp — датчик температуры DS18B20 для контроля наружной температуры. Использует 1-Wire подключение.
  • Post1 (Post1Cnt, Post1Pct)- дискретный входа для подключения разного рода датчиков охраны или пожарной сигнализации. Пороговое значение логического перехода порядка 2.5V
  • Post2 (Post2Cnt, Post2Pct)- дискретный входа для подключения разного рода датчиков охраны или пожарной сигнализации. Пороговое значение логического перехода порядка 2.5V
  • Post3 (Post3Cnt, Post3Pct)- дискретный входа для подключения разного рода датчиков охраны или пожарной сигнализации. Пороговое значение логического перехода порядка 2.5V
  • SelfFan — управление вентилятором (U=5V, Imax=200mA) для охлаждения контроллера.
  • AlertVoice (AlertVoiceTrack, AlertVoiceTick) — управление MP3-плеером для голосового или музыкального оповещения. 
  • AlertSiren — управление сигнальной сиреной для оповещения.
  • FusePower — управление предохранителем. Обычно в качестве предохранителя выступает контактор, который размыкает питание других устройств.

Внимание! Предложенная схема является типовой и может быть модернизирована согласно Ваших предпочтений и требований. Вам необязательно использовать все компоненты указанные в схеме и подключать их! Аналогично, Вы можете использовать этот проект не по прямому назначению, заменяя устройства и компоненты на какие-либо другие. 

Схема предусматривает питание 12V датчиков. Для этого присутствует дополнительный источник питания на 12V, реле включения/выключения питания датчиков, а также реализован согласователь входа на базе оптрона. Обратите внимание, что оптрон работает в инвертированном режиме, то есть датчик должен быть нормально закрытым, а при срабатывании разрывать цепь. 

Для голосового или музыкального оповещения используется MP3-плеер в который вставляется microSD-карта памяти с предварительно записаными треками. Рекомендуется использовать модуль DFPlayer mini, которому передается сигнал по серийному порту. В целях экономии цифровых выводов, для управления MP3-плеером используется только один канал для трансляции команды на исполнение. Подробная инструкция к плате от производителя: https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299. 

Контроллер можно использовать, как систему противопожарной или охранной сигнализации. Для этого предусмотрены три поста, а также внешний датчик температуры. Кроме этого, возможно подключение до трёх разных оповещателей. Вы можете управлять голосовым и звуковым оповещением исходя из критичности состояния. Также контролер оснащен MP3-плеером, что значительно расширяет возможности его применения. Например, Вы можете подготовить голосовые mp3-файлы из записать их на microSD-карту, а потом настроить привязки к другим устройствам таким образом, что в случае превышения каких-то пороговых значений, этот контроллер будет проигрывать соответствующее сообщение.

Для проигрывания MP3-файлов указывается номер файла (от 0 и более), цикличность воспроизведения (ключ yes), громкость (от 0 до 30), время воспроизведения (в секундах). Файлы необходимо записать на microSD-карту в той последовательности, которая будет соответствовать Вашему порядку. Обратите внимание, если время воспроизведения не будет задано, то устройство все равно будет считаться работающим, даже если проигрывание mp3-файла прекратится.

Несмотря на то, что Вы решили использовать этот модуль для оповещения о критических состояниях, не забудьте настроить уведомления, которые будут приходить к Вам через мессенджер Telegram, где бы Вы ни находились.

Сигнализация своими руками на Arduino

Сегодня мы докажем Вам, что сделать сигнализацию своими руками не составит труда даже для тех, кто никогда не имел дела с подобными устройствами. Нам понадобятся следующие элементы: плата Arduino, реле, радиоприемник, блок питания, сирена, брелок и датчики GSM-сигнализации, работающие на частоте 433 МГц. Если Вы хотите глубже изучить способы создания устройств с помощью Arduino, предлагаем дополнительно посмотреть обучающее видео о подключение датчиков к плате

Итак, первым делом мы подключаем реле к Arduino по следующей схеме: Реле GND VCC In Arduino UNO GND +5V Pin3

Радиоприемник подключается тремя проводами, соответственно: vcc — +5v; GND-GND; и два контакта, объединенные в один, подключаются на второй pin в плате. Также необходимо припаять антенну (мы использовали соединительный провод от Arduino). На задней плоскости платы, где порт для отключения питания, мы припаяли 2 контакта, с их помощью можно подключить провода. Из них выводится питание на 12 Вт, следовательно, если подключить блок питания, то из двух припаянных проводков один идет напрямую к сирене, а второй разрывается и идет через реле.

Блок питания на 12 В. отлично подойдет для обеспечения всех задействованных устройств. Теперь мы подключаем Arduino к компьютеру и загружаем нашу программу. Нам нужно подключить библиотеку rs switch и назначить две переменные. Переменная – alarm pin отвечает за pin, на который подключено реле. Переменная stat отвечает за статус сигнализации. В начале подключаемся к serial port на определенной скорости и по умолчанию задаем значение «0», если ничего не происходит на pin2 — к нему подключен радиоприемник. Далее обозначаем, что alarm pin это выход (реле), его изначальный статус «low».

Void loop отражает происходящее в цикле. Цикл состоит из двух частей: В первой части мы видим состояние устройства, когда все стабильно, а во второй (после els) выводится все происходящее. Здесь Вы найдете строчку, отвечающую за вывод информации на serial monitor. Нажимая на эту строчку, мы открываем окно, где отражаются коды сработавших датчиков или пультов. Мы записываем все отсканированные кнопки пульта (alarm- это кнопка тревоги, armed — постановка сигнализации на охрану, disarmed – снятие сигнализации с охраны). Если нажать кнопку тревоги, то сигнализация переходит в соответствующий режим, включается реле и начинает орать сирена. Если мы нажимаем «отключить сигнализацию», то сигнализация переходит в статус «отключена», сирена замолкает. Самый интересный пункт — кнопка постановки на охрану: сигнализация входит в режим охраны, но с реле ничего не происходит.

Следующие строки выводят коды сработавших датчиков, когда сигнализация находится в режиме охраны. Каждой строке соответствует определенный датчик. Для удобства в использовании рядом с каждым кодом вы можете написать уточнения, например, «датчик на окне в спальне». Если вы хотите добавить новые датчики, скопируйте и вставьте предыдущие строки, введите новые коды и внесите уточнения. То же самое можно проделать с пультами: скопируйте все три строки, вставьте и поменяйте коды.

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

Система сигнализации Arduino | Хакадей

Существует огромный рынок оборудования для систем охранной сигнализации с частотой 433 МГц, от ИК-детекторов движения до дверных и оконных датчиков. Если вы хотите заставить их работать, все, что вам нужно, это приемник, сетевой микроконтроллер и некоторый код. В своем последнем видео [Аарон Кристофель] показывает, насколько это может быть легко.

По сути, вы подключаете обычный модуль приемника 433 МГц к микроконтроллеру ESP32 или ESP8266 и ждете, пока конкретное устройство не издаст сигнал.Оттуда код на ESP может запускаться, используя любой API, который подходит для ваших целей. В этом случае [Аарон] использует Telegram API для отправки сообщений, которые будут всплывать с уведомлением на его телефоне, когда открывается дверь или окно. Но вы могли бы так же легко использовать что-то вроде MQTT, или, если вы хотите пойти по старинке, заставить его переключать реле, подключенное к громкой сирене.

Даже если вы не собираетесь создавать собственную импровизированную систему сигнализации, код и видео после взлома — отличный пример для подражания, если вы хотите начать работу с оборудованием 433 МГц.В частности, [Аарон] проводит зрителя через процесс сканирования новых устройств 433 МГц и добавления их уникальных идентификаторов в список, который код будет прослушивать. Если вы когда-нибудь задавались вопросом, как быстро вы можете приступить к работе с этим материалом, теперь у вас есть ответ.

В прошлом мы видели, как Raspberry Pi используется в качестве шлюза RF для WiFi для датчиков этого типа, а также в проектах, которые собирали их все вместе в полноценную систему домашней автоматизации по дешевке.

продолжить чтение «Система сигнализации ESP32 своими руками использует датчики 433 МГц» →

Когда [Даг] переехал в свой новый дом, он обнаружил старую панель сигнализации, но у нее больше не было службы мониторинга.Не желая платить ежемесячную плату за настройку, он решил попробовать подключить Arduino к системе, чтобы отправлять события в сеть!

Самое интересное, что на самом деле он был вдохновлен другим похожим проектом, о котором мы рассказывали на Hackaday несколько лет назад, под названием «Подчинение панели управления домашней безопасностью вашей воле». Но этот проект только показал вам, как связать Arduino с клавиатурой — [Даг] сделал все возможное и подключился напрямую к плате управления для большего количества функций.

Он использует Arduino Uno и коммутационную плату Ethernet для подключения к сети.Это позволяет ему отправлять текстовые сообщения самому себе, когда система сигнализации включена, выключена или активирована. Весь код доступен на GitHub, если у вас также есть система сигнализации DSC 1550.

Это довольно ловкий хак, так что не забудьте посмотреть видео после перерыва.

Читать далее «Модернизация системы сигнализации с помощью Arduino» →

Ультразвуковой датчик тревоги

в Arduino | Бесплатный видеоурок

  • Создайте машину с дистанционным управлением, которой можно управлять с помощью приложения для смартфона.
  • Создайте свой собственный мобильный телефон, с помощью которого вы сможете совершать/принимать звонки и отправлять/принимать текстовые сообщения.
  • Создавайте игры с помощью Arduino, включая контроллеры света, звука и джойстика.
  • Понимание таких компонентов, как ультразвуковые датчики, драйверы двигателей, сервоприводы, транзисторы, модули Bluetooth/WiFi/GSM
  • Понимать многие распространенные электронные компоненты и то, как они работают
  • Будьте уверены, чтобы создавать сложные электронные проекты
  • Узнайте, как создавать прототипы проектов электроники
  • Будьте уверенным производителем и прототипером

Английский [Авто] В этом проекте мы рассмотрим очень полезный компонент для ваших проектов в области электроники и ультразвуковой датчик.Мы создадим схему сигнализации, которая включает пизо-зуммер и красный и зеленый светодиоды для предупреждения об обнаружении объекта или его приближении к определенному диапазону нашего датчика. Когда объект должен закрыться, зуммер погаснет и загорится красный свет. Как только препятствие не обнаружено, зеленый свет говорит нам, что все в порядке. Давайте посмотрим на цели, успешно завершив этот проект. Мы освоим следующие предметы. Мы узнаем, что такое ультразвуковой датчик и как он работает.Этот конкретный ультразвуковой датчик, который мы будем использовать, является очень распространенной моделью, CSIRO для которой стоит очень недорого. Мы узнаем, что такое CSIRO и как подключить его в цепь. Мы также познакомимся с функцией импульса и с тем, как он используется вместе с ультразвуковым датчиком для выполнения измерений, важных для работы нашей схемы. Если вы готовы начать, давайте начнем этот проект. Вот части, которые нам понадобятся: Arduino UNO, USB-кабель, макетная плата, три, три, 30 резисторов и C.S — все для ультразвукового датчика, красного и зеленого света, пизо-зуммера и соединительных проводов. Давайте сначала рассмотрим, как работают ультразвуковые датчики, подобно механизму, который летучие мыши используют для навигации, то есть гидролокатору, датчик передает волновой сигнал, который называется пингом, и ожидает получения эха этого сигнала. Если волна соприкасается с препятствием, она отражается обратно, и как только датчик обнаруживает отражение, можно выполнить расчет, используя время, которое потребовалось для возврата волны.Таким образом можно определить расстояние между датчиком и объектом. Импульс в функции используется для измерения времени между отправкой сигнала и моментом его получения. На самом деле он выполняет это, наблюдая за временем, которое требуется сигналу для перехода от низкого к высокому или от высокого к низкому. Мы поговорим об этой функции подробнее, когда будем углубляться в код. Если вы посмотрите на макет ультразвукового датчика, вы заметите, что он стоит четыре пенса. VXI подключен к пяти голосам на Arduino, а земля подключена к земле.Триггерный и эхо-выводы подключены к другим цифровым контактам на Arduino, и показания с них используются как часть процесса измерения. Давайте посмотрим на принципиальную схему для нашего проекта. Итак, вы заметите, что здесь ультразвуковой датчик и четыре контакта. VXI подключается к пяти реальным на макетной плате, а сказочный реальный подключается к пяти колесам на Arduino. Земля подключается к заземляющей шине на макетной плате, и мы подключаем эту землю к земле. Триггерный контакт подключен к PIN-коду два на Arduino.И оборудование подключено к трем Dwinell. Для нашего писо зуммера. Отрицательный конец частичного зуммера подключен резистором три тридцать Ом к земле, а положительный контакт нашего зуммера подключен к уровню контактов на Arduino. У нас есть два вывода в нашей цепи для реальности, крупный рогатый скот или короткое вращение подключено резистором три к одному к земле. И А. или более длинный положительный штырь собирается, чтобы приколоть его к тебе, Дуинелл, для нашего Гринли, катод подключен, загорелся три тридцать один, поднимается на землю и положительный, А.PIN-код подключен к PIN-коду девять на Adreno. Это проводка нашей цепи. Хорошо, давайте продолжим и носимую схему. Если вы посмотрите на наш ультразвуковой датчик, вы увидите, что он состоит из ПВХ на четыре пенса, который будет соединен с пятью на вашей надпочечниковой земле, которая будет соединена с землей. Триггерный контакт будет подключен к PIN-коду оригинала, а эхо-контакт будет подключен к трем надпочечникам. Итак, давайте продолжим, и почему это произошло в схеме. Когда вы подключаете свой ультразвуковой датчик, вам нужно соединить датчик и приемник на лицевой стороне макетной платы.Таким образом, мы можем проверить реальную преграду. Так что давай, подключи это. Давайте сначала соединим землю с землей и макетной платой. Правильно, проплыть заземляющее соединение и следующее соединение, быть пятикратно реальным. Итак, мы идем от пожарных лодок. И они не делают пять старых, вот где ультразвуковой датчик рядом. Итак, во-первых, большой заземляющий штифт. Мы пойдем на землю, когда Arduino. Затем мы можем подключить VXI. Что за пять голосов, то у нас есть булавка спускового крючка. Это идет в Пинту возле Двины.Наш идет к ручке три. Тогда мы сможем уничтожить зуммер Писо. Позитив и писо зуммер идет на 11 под Adreno. У нас есть три дня на резисторе от земли или от отрицательного штрафа, части нас будут расти. Так что просто убедитесь. Я просто собираюсь воткнуть этот резистор прямо в землю. Теперь коннектор ведет. Регулируется. И зеленый свет. Минусовые катоды светодиодов подключены к земле через резисторы 331, поэтому подключите их сейчас. Это первое, а это второе.И, наконец, нам нужно подключить плюсовые выводы, поэтому для красного, А. Призрак, восьмерка на Двине. Ну и напоследок за зеленый плюс идет моему Adreno. Хорошо, это завершает проводку цепи, хорошо? Это будет круто. Пока это загружается, я открою последовательный монитор. Итак, сначала вы заметите, что я показываю расстояние, на котором препятствие находится ближе всего к датчику, и изначально мы установили диапазон равным двум дюймам. Поэтому, если объект находится менее чем в двух дюймах от датчика, сработает зуммер и сигнал тревоги.Итак, прямо сейчас горит зеленая Оливия. Это означает, что наша схема находится в состоянии готовности или ключа. А теперь я собираюсь начать двигать рукой к датчику. Итак, поехали. Если вы посмотрите на измерения, вы увидите, что расстояние уменьшается, так что шесть дюймов теперь моя рука составляет около пяти дюймов. Четыре дюйма. И наконец. Это хорошо, нет. Хорошо, вы видите. Будильник срабатывает, поэтому загорается красный свет и звучит зуммер, как только моя рука окажется менее чем в двух дюймах от датчика.Хорошо. Теперь я собираюсь изменить код и увеличить его до трех дюймов. Идите и загрузите это. И теперь вы увидите, когда они снова начнут двигать мою руку к центру. А в пределах шести дюймов и, приближаясь, пять дюймов. Более 40 дюймов, поэтому, когда я начинаю приближаться, центр должен исчезнуть. Заходим так раз, как меньше трех дюймов, то гаснет. Последняя настройка и изменение диапазона до пяти дюймов. Это означает, что когда моя рука оказывается на расстоянии пяти дюймов от сенсора, он должен срабатывать.Итак, начнем. Клозер. Семь, Эрик. Итак, вы увидите нас примерно на пять дюймов, меньше чем на пять дюймов. Вот когда сработает зуммер. Итак, как вы можете видеть, это довольно точно для больших расстояний, и вы можете поиграть с этой настройкой диапазона, чтобы настроить расстояние, допустимое расстояние препятствия от ультразвукового датчика. Давайте сначала посмотрим на код схемы нашего ультразвукового датчика. Мы определяем наш триггерный вывод как два, так как он подключен к двум a.м. и оборудование состоит из трех датчиков, соединенных в три. И все же мы знаем, что дальше идет наш только углубляющийся Зеленоглазый. А. подключен в зависимости от того, что мы знаем, и анод красного света подключен, чтобы прикрепить его к надпочечникам, наконец, для нашего зуммера. Положительный вид нашего зуммера подключен к 11 под Adreno. Следующая глобальная переменная с очисткой — это охват. Это максимально допустимый диапазон до того, как сработает наша тревога. Начальная настройка составляет два дюйма, так что это означает, что если ваше препятствие находится менее чем в двух дюймах от ультразвукового датчика, тогда сработает зуммер и загорится красный свет.Вы можете настроить и изменить эту переменную соответствующим образом, чтобы поэкспериментировать с различными диапазонами для вашего проекта. Далее в нашей функции настройки мы должны сделать несколько вещей, сначала мы настроим скорость последовательной связи. Затем мы инициализируем контакты датчика, триггерный контакт является выходом, так как это контакт, который генерирует выходной импульс, а вывод эха является входом, поскольку он считывает отраженный импульс. Конечно, наши зеленое и красное перья определены как выходы, и изначально мы хотели бы отправить высокий сигнал на зелено-красное перо, чтобы включить его и выключить наш красный светодиод.Теперь мы готовы идти. Давайте рассмотрим функцию взгляда. Первоначально, чтобы снять показания, мы должны сгенерировать чистый высокий импульс, поэтому для этого мы сначала генерируем низкий сигнал, записываем низкий уровень в триггер и имеем короткую задержку. Затем мы записываем высокий уровень в триггер и получаем задержку в пять микросекунд, а затем снова записываем низкий уровень в этот триггер. Так что это будет генерировать чистый, приятный импульс, который посылается нам. Когда этот импульс входит в контакт с препятствием и отражается, он возвращается.И что нам нужно сделать, так это измерить причину, по которой это произошло. Для этого мы используем передачу импульса и функции в наш эхо-вывод, в котором мы считываем показания, и мы хотим указать, что мы ищем этот переход от высокого к низкому. Таким образом, мы переходим к высокому аргументу здесь. Вскоре мы более подробно рассмотрим документацию по импульсу и функции. Далее мы хотим преобразовать дюймы и сантиметры в наше препятствие, поэтому есть пара удобных функций, мы можем использовать микросекунды в дюймах.Мы можем вызвать эту функцию, проходящую в направлении, взятом из функции Палссона или перенастроенном из нашей функции пользина. И мы также можем определить расстояние и сантиметры, вызвав функцию микросекунды два сантиметра, проходящих в направлении. Затем мы просто распечатываем эти значения, чтобы мы могли видеть расстояния, и это было то, что отображалось в нас здесь, на мониторе, и здесь у нас есть реальная логика, чтобы определить, меньше ли наша тревога, меньше ли дюймов, которые были возвращены. чем диапазон, который мы знаем, мы должны отправить много.Вот где мы могли бы переключить Зеленую долину на недооцененный город и дать этому сыну зуммер, используя нашу функцию тона, если бы мы были в порядке, а записанное в дюймах было больше, чем диапазон, мы готовы к работе. Таким образом, степень будет установлена ​​высокой, красный ЖК-дисплей будет выключен, и зуммер не подаст звуковой сигнал. Наконец, в нашей программе есть две вспомогательные функции, которые выполняют для нас вычисления в микросекундах в дюймах и микросекундах в сантиметрах. Итак, расчеты для них, если вам нужна дополнительная документация, здесь есть ссылка, которая объясняет, что такое расчеты, и здесь есть некоторая документация по функциям.Давайте посмотрим на пульс в действии. Так что я собираюсь Google, что. И вот ссылка, так что, по сути, функция pulse считывает импульс либо высокого, либо низкого уровня на выводе. Таким образом, если вы укажете, что значение высокое, Полсон будет ждать, пока пентакль достигнет максимума, начнет время, а затем дождется, пока он начнет смотреть. Следовательно, он измеряет время, необходимое отражению, чтобы вернуться от нашего препятствия. Как вы можете видеть, есть несколько различных вариантов аргументов, которые вы можете указать для импульса и функции в первом, именно тот, который является первым, мы использовали.Он просто принимает значение вывода и значение, которое вы хотите отслеживать, будь то высокое или низкое значение. Вы также можете вызвать импульс и функцию, используя дополнительный параметр тайм-аута, и в основном это говорит о том, что в течение нескольких микросекунд нужно дождаться завершения импульса. И если этот предел времени достигнут, тогда импульс и функция просто вернут ноль. Подводя итог, в этом проекте вы узнали, что такое ультразвуковой датчик и как он работает. Вас специально познакомили с CSIRO для модели и объяснили, что такое пино.Итак, теперь вы будете знакомы с тем, как подключить его в цепь. Вы также познакомились с функцией пульса и важной ролью, которую он играет в измерениях для ультразвукового датчика. Этот ультразвуковой датчик является очень полезным компонентом и может быть включен в ваши проекты роботов и автомобилей для предотвращения препятствий. Теперь вы знаете, как его использовать и взаимодействовать с ним, как вы это делаете. Перейдем к нашему следующему проекту.

Интеграций — Домашний помощник

Все (1963) Избранное

Добавлено в: 2022.4 (8) 2022,3 (8) 2022,2 (16) 2021,9 (6) 2021,8 (9) 2021,7 (6) 2021,6 (10) 2021,5 (8) 2021,4 (3) 2021,3 (12) 2021,2 (6) 2021.12 (11) 2021.11 (1) 2021.10 (5) 2020.12 (8) 0,118 (1) 0,117 (7) 0,116 (5) 0,115 (14) 0,114 (6) 0,113 (3) 0,112 (4) 0,111 (3) 0,110 (11) 0,109 (3) 0,108 (6) 0,107 (5) 0,106 (7) 0,105 (7) 0,104 (11) 0,103 (8) 0,102 (5) 0,101 (6) 0,100 (8) 0,99 (10) 0,98 (4) 0,97 (7) 0,96 (7) 0,95 (13) 0,94 (6) 0,93 (6) 0,92 (9) 0,91 (2) 0,90 (4) 0,89 (8) 0,88 (10) 0,87 (15) 0,86 (3) 0,85 (19) 0.84 (6) 0,83 (11) 0,82 (7) 0,81 (18) 0,80 (3) 0,79 (7) 0,78 (6) 0,77 (2) 0,76 (6) 0,75 (7) 0,74 (3) 0,73 (4) 0,72 (10) 0,71 (5) 0,70 (4) 0,69 (5) 0,68 (7) 0,67 (7) 0,66 (6) 0,65 (9) 0,64 (8) 0,63 (5) 0,62 (4) 0,61 (11) 0,60 (9) 0,59 (5) 0,58 (7) 0,57 (15) 0,56 (13) 0,55 (9) 0,54 (9) 0,53 (9) 0,52 (5) 0,51 (9) 0,50 (11) 0,49 (12) 0,48 (8) 0,47 (14) 0,46 (2) 0,45 (4) 0,44 (12) 0,43 (9) 0,42 (9) 0,41 (4) 0,40 (10) 0,39 (16) 0,38 (11) 0,37 (13) 0,36 (17) 0,35 (11) 0,34 (12) 0,33 (5) 0,32 (15) 0,31 (11) 0.30 (6) 0,29 (6) 0,28 (5) 0,27 (12) 0,26 (7) 0,25 (7) 0,24 (3) 0,23 (8) 0,22 (4) 0,21 (5) 0,20 (8) 0,19 (7) 0,18 (8) 0,17 (5) 0,16 (3) 0,15 (3) 0,14 (9) 0,13 (15) 0,12 (6) 0,11 (6) 0,10 (9) 0,9 (6) 0,8 (8) 0,7,6 (7) 0,7,5 (2) 0,7,4 (5) 0,7,3 (6) 0,7,2 (2) 0,7 (74) 0,0 (1)

Сигнализация (36)Панель управления сигнализацией (1)Автоматика (24)Бинарный датчик (166)Кнопка (18)Календарь (9)Камера (44)Автомобиль (15)Климат (82)Крышка (58)Сделай сам (23)Автоматизация устройств (1)Дверной звонок (6)Загрузка (11)Энергия (54)Окружающая среда (18)Фан (30)Финансы (13)Внешний интерфейс (4)Геолокация (8)Здоровье (27)Помощник (14)История (18)Хаб ( 101)Увлажнитель (7)Обработка изображений (19)Намерение (2)Орошение (5)Свет (111)Блокировка (33)Почтовый ящик (4)Медиаплеер (76)Медиаисточник (11)Мультимедиа (6)Сеть (34)Уведомления (66)Номер (15)Организация (3)Почтовая служба (2)Детектор присутствия (66)Удаленный (14)Сцена (18)Выбор (17)Датчик (290)Сирена (11)Социальный (7)Переключатель (152)Система Монитор (36)Сканер тегов (1)Преобразование текста в речь (12)Транспорт (31)Обновления (5)Утилита (30)Пылесос (9)Голос (12)Водонагреватель (8)Погода (28)Другое (32) .

Добавить комментарий

Ваш адрес email не будет опубликован.