Сообщество - Arduino & Pi
Добавить пост

Arduino & Pi

1 377 постов 20 569 подписчиков

Популярные теги в сообществе:

6 Урок - Проект пульсар, подключение транзистора ВС 337 к Arduino в приложении ArduBlock 2.0

6 Урок - Проект пульсар, подключение транзистора ВС 337 к Arduino в приложении ArduBlock 2.0 Arduino, Ardublock, Видео

Программа:

6 Урок - Проект пульсар, подключение транзистора ВС 337 к Arduino в приложении ArduBlock 2.0 Arduino, Ardublock, Видео
Показать полностью 2

5 Урок - Ночной светильник на Arduino

5 Урок - Ночной светильник на Arduino Arduino, Ardublock, Видео

Программа:

5 Урок - Ночной светильник на Arduino Arduino, Ardublock, Видео
Показать полностью 2

4 Урок - Светильник с управляемой яркостью на ArduBlock 2.0

Обновление ArduBlock от 19 дек 2020

3 Урок - Маячок с нарастающей яркостью PWM в ArduBlock 2.0

Открываем дверь домофона при помощи голосового ассистента и ардуино

Всем привет!

Сегодня у меня статья про то, как при помощи Яндекс-колонки Алиса и Ардуино, можно открыть дверь, подключенную к домофону. Если Вам это интересно, то прошу под кат.

Часто бывает так, что кто-то звонит в домофон, а ты в этот момент чем-то занят или просто лень подходить для того, чтобы открыть дверь. Знакомая ситуация, не правда ли?

А мой домофон так вообще без поднятия трубки не открывает дверь и если в течении 30 секунд после вызова не поднять трубку, то кнопка открывания двери перестанет быть активной до того момента, пока не поступит новый вызов. Так как домофон не из дешёвых (на тот момент) меня жаба душила менять его на другой. И я решил с этим бороться.

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

Второй проект был реализован на роутере TL-MR3020 с прошивкой CyberWRT и программным СИП телефоном BareSIP. При нажатии на кнопку вызывной панели, роутер параллельно с вызовом интеркома звонил на мобильный телефон и можно было даже находясь в другом городе разговаривать с человеком, стоящим около двери твоей квартиры, но программный телефон или сам роутер, работали крайне нестабильно и пришлось от него отказаться.

Но тут к моему счастью в прошлом году на день рождения мне подарили голосового ассистента Алису и у меня появилась новая идея — отрывать дверь голосом, через Яндекс колонку.

И сегодня настал тот день, когда я взялся реализовать свою задумку.

Немного о том, как работает вызывная панель видео-домофона.

Вызывная панель соединена с монитором домофона при помощи 4-х проводов GND, +12 В, аудио и видео.

Если на вызывной панели, провод Audio замкнуть через резистор 100 Ом на GND, то раздастся сигнал вызова. А если на провод Audio подать напряжение +12 В, то сработает реле открытия электромагнитного замка.

На изображении ниже показана схема соединения вызывной панели с домофоном.

Открываем дверь домофона при помощи голосового ассистента и ардуино Яндекс Алиса, Домофон, Arduino, Голосовой помощник, Пульт, Видео, Длиннопост

Если для подключения вызывной панели к монитору, у Вас используется специальный домофонный кабель, то он подключается как правило по следующей инструкции:

GND — экранирующая оплетка

+12 В — красный провод

Аудио — синий провод

Видео — центральная жила коаксиального кабеля

Открываем дверь домофона при помощи голосового ассистента и ардуино Яндекс Алиса, Домофон, Arduino, Голосовой помощник, Пульт, Видео, Длиннопост

Схема

Из схемы видно, что для подключения устройства на Ардуино к домофону, потребуется подсоединить всего 2 провода. Для коммутации этих проводов я использовал то, что у меня было под рукой. Вместо реле можно использовать ключ на N-P-N транзисторе или оптроне PC817.

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

Открываем дверь домофона при помощи голосового ассистента и ардуино Яндекс Алиса, Домофон, Arduino, Голосовой помощник, Пульт, Видео, Длиннопост

Используемые компоненты

Ардуино Нано

Модуль реле

ИК приемник 38 кГц

Провода Dupont


Вместо Arduino nano можно применить любой другой микроконтроллер из линейки ардуино. Я же использовал Ардуино нано потому, что у меня их достаточно много.


Исходник для Arduino

Код достаточно простой и понятный.

Для получения и сохранения кода нажатой кнопки, нужно перевести контроллер Ардуино в режим добавления кнопки пульта. Потребуется установить перемычку на выводы D2 и GND и нажать кнопку сброса на Arduino, после чего на плате контроллера засветится системный светодиод и контроллер будет ожидать нажатия кнопки на пульте.

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

Можно нажимать кнопки сколько угодно, но Arduino запомнит только последнее нажатие. Чтобы выйти из режима запоминания кода, достаточно удалить перемычку и нажать на микроконтроллере кнопку «Reset».


#include <IRremote.h>

#include <EEPROM.h>

//#define TOLERANCE 35 // процент допустимого отклонения принимаемого сигнала

#define IR_RECEIVE_PIN 11 // Вход для подключения ИК приемника

#define RELAY_PIN 12 // Выход для управления реле

#define SET_PIN 2 // Вход для перевода в режим программирования пульта

IRrecv irrecv(IR_RECEIVE_PIN);

decode_results results;


void setup()

{

irrecv.enableIRIn(); //запустить ожидание нажатия кнопки на пульте

pinMode(RELAY_PIN, OUTPUT);

digitalWrite(RELAY_PIN, LOW);

pinMode(SET_PIN, INPUT_PULLUP); //D10 конфигурируем на вход, для режима «запоминания кода»

pinMode(LED_BUILTIN, OUTPUT);

digitalWrite(LED_BUILTIN, LOW);

// Serial.begin(115200);

while(!digitalRead(SET_PIN)) //если пины D2 и GND замкнуты то заходим в режим запоминания ИК кода

{

set_command();

}

}


void loop()

{

if (irrecv.decode(&results)) //если был принят код с пульта

{

if(LoadEEPROM()==results.value) //если код совпадает с сохраненным (ir_command==results.value)LoadEEPROM();

{

digitalWrite(RELAY_PIN, HIGH); //включить реле

digitalWrite(LED_BUILTIN, HIGH);

delay(500);

digitalWrite(LED_BUILTIN, LOW);

digitalWrite(RELAY_PIN, LOW); //Выключить реле

}

irrecv.resume(); //запустить ожидание нажатия кнопки на пульте

}

}


void set_command() //режим запоминания кода пульта ДУ

{

digitalWrite(LED_BUILTIN, HIGH);

if (irrecv.decode(&results))

{

digitalWrite(LED_BUILTIN, LOW);

SaveEEPROM(results.value); //сохраняем полученый код кнопки ПДУ в EEPROM

irrecv.resume(); //запустить ожидание нажатия с пульта

}

delay(100);

}


void SaveEEPROM(unsigned long ir_code) // записываем полученый код кнопки ПДУ в EEPROM

{

EEPROM.write(0, ir_code & 0xFF);

EEPROM.write(1, (ir_code & 0xFF00) >> 8);

EEPROM.write(2, (ir_code & 0xFF0000) >> 16);

EEPROM.write(3, (ir_code & 0xFF000000) >> 24);

}


unsigned long LoadEEPROM() // считываем код кнопки ПДУ из EEPROM

{

byte val = EEPROM.read(3);

unsigned long ir_code=val;

val = EEPROM.read(2);

ir_code= (ir_code << 8) | val;

val = EEPROM.read(1);

ir_code= (ir_code << 8) | val;

val = EEPROM.read(0);

ir_code= (ir_code << 8) | val;

return ir_code;

}


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


Подключение к Яндекс.Станции Алиса

Для подключения к умной колонке понадобится Умный пульт Яндекс.

Открываем дверь домофона при помощи голосового ассистента и ардуино Яндекс Алиса, Домофон, Arduino, Голосовой помощник, Пульт, Видео, Длиннопост

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

Для этого нужно зайти в приложение Яндекс.Браузер — Все сервисы — Устройства — Управление устройствами — Пульт — Добавить устройство — Настроить вручную — вводим название «Дверь» — Добавить команду — вводим название голосовой команды «Открой» — берем пульт от любой бытовой техники, направляем его на Яндекс.пульт и нажимаем требуемую кнопку.

После того, как синий светодиод на Я.пульте погас — колонка готова к выполнению этой команды. Теперь можно проверять, произносим фразу «Алиса открой дверь», она, немного подумав, выполнит Ваш приказ.


Заключение

Использование Яндекс пульта в умном доме позволит Вам управлять любой бытовой техникой, в состав которой входит ПДУ. А так же достаточно легко, собрав простейшую схему на Arduino интегрировать управление любыми другими устройствами, не имеющих ПДУ. Это просто, надежно и не требует подключения этих устройств к интернету.

Если Вам понравилась моя статья — можете подписаться на мой канал, чтобы не пропустить следующую публикацию.

Если у Вас есть вопросы, то можете их задать в комментариях.

Показать полностью 4

Кибертрак На Управлении От Смартфона - Cybertruck NodeMcu Esp8266 V3 WiFI

Как сделать машинку кибертрак на управлении от смартфона на базе платы NodeMcu Esp8266 V3 WiFI.


Материалы:

- Старая машинка на радиоуправлении

- Плата NodeMcu Esp8266 V3 WiFI

- Транзистор PN2222

- Сервопривод SG-90

- Алюминиевые пластинки(8 мм)

- Смартфон

- Прочее


Скетч, схема, шаблоны


Скачать Приложение RemoteXY в Google Play Market или App Store.


Инструкция подключения смартфона к машинке:

После того, как прошивка загрузилась на плату, можно подключаться к смартфону. Для этого нужно подключиться к WIFI-сети RemoteXY. Затем нужно скачать и войти в приложение RemoteXY. Нажать на плюсик и подключиться к уcтройству с помощью точки доступа WIFI. После успешного подключения на экране появится элементы управления. Если всё правильно подключено, то при нажатии на кнопки, кибертрак начнёт показывать признаки жизни.

Кибертрак На Управлении От Смартфона - Cybertruck NodeMcu Esp8266 V3 WiFI Arduino, Nodemcu, Tesla, Wi-Fi, Радиоуправляемая машина, Видео, Длиннопост, Tesla Cybertruck
Кибертрак На Управлении От Смартфона - Cybertruck NodeMcu Esp8266 V3 WiFI Arduino, Nodemcu, Tesla, Wi-Fi, Радиоуправляемая машина, Видео, Длиннопост, Tesla Cybertruck

Базу транзистора нужно подключать к пину платы через резистор номиналом 10 Ом.


Основой кибертрака будет выступать старая машинка на радиоуправление. Пульт от неё был благополучно потерян, а хозяину скоро сдавать сессию). Поэтому можно сказать даём ей вторую жизнь. Для начала я её полностью разобрал. Затем с помощью зубной щётки и моющего средства хорошенько очистил от грязи. Задний привод я оставил прежним без изменений. Рулевую же часть я решил слегка доработать, заменив щёточный двигатель на сервопривод. Колесная база у кибертрака больше, чем у данной модельки, поэтому с помощью алюминиевых пластинок я её расширил.


Закончив с этим я приступил к электронной части. Мозгами пикапа будет выступать плата NodeMcu с встроенным WIFI чипом ESP8266. Для управления задним приводом буду использовать транзистор PN2222. В создании программного обеспечения мне помогла система RemoteXY, которая позволяет создавать графический интерфейс для управления контроллерами со смартфона. После того, как прошивка загрузилась на плату, можно подключаться к смартфону. Для этого нужно подключиться к WIFI-сети RemoteXY. Затем нужно скачать и войти в приложение RemoteXY. Нажать на плюсик и подключиться к уcтройству с помощью точки доступа Wifi. После успешного подключения на экране появится элементы управления. Если всё правильно подключено, то при нажатии на кнопки, кибертрак начнёт показывать признаки жизни. Так как всё успешно работает, я спаял все элементы по схеме. Транзистор я приклеил к алюминиевой пластинке, которая будет служить радиатором. Затем я скомпоновал всю электронику внутри корпуса. Кроме того снизу я приклеил дно. Проблемой оказалось то, что у машинки отсутствовали шины, поэтому я решил сделать их сам, использовав при этом термоклей. Затем для красоты я покрасил их чёрной краской.


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

Показать полностью 2

В Питере шаверма и мосты, в Казани эчпочмаки и казан. А что в других городах?

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

Реклама АО «Кордиант», ИНН 7601001509

2 Урок - Железнодорожный светофор на Arduino в приложении ArduBlock 2.0

Отличная работа, все прочитано!