Сообщество - Arduino & Pi
Arduino & Pi
564 поста 13 014 подписчиков
194

Спасибо AlexGyver, что прокачал мою...

Ну почему???

Почему,  когда мне было 10 лет в радио-магазинах продавались лампочки для фонариков и  только красные светодиоды?


И теперь в 35 я должен компенсировать тогдашнюю лажу по установке батарейки в кузов грузовичка, припаивания к ней лампочки и пальцем по лапке батарейки тык тык (замыкая цепь), типа,  смотрите - мигает. 


Короче,  Спасибо тебе комрад за твои труды, за часы программирования,  чтобы я смог за вечер повторить твое творчество и радовать своих детей яркостью красок и звуков...


Речь собственно  о colormusic и беседке для посиделок и шашлыкинга

Желаю тебе успехов и обязательно монетизирую свои слова благодарности.

276

Делаем "открытую" сборку ПК с Arduino и эффектами

Хочу поделиться историей о том, как я спроектировал и сделал себе стильный модный пылесборник корпус для ПК открытого типа, в который интегрирована Ардуина со светодиодными кольцами. На светодиодных кольцах выводится информация о загрузке и температуре железа ПК.

1138

Универсальный контроллер для теплиц, гроубоксов, инкубаторов...

Привет, Пикабу! Решил поделиться проектом, который сделан по заказу подписчиков: начал с контроллера для теплиц и гроубоксов, и закончил очень универсальным контроллером, который имеет большое количество применений. Проект полностью открытый, любой желающий может сделать себе такую штуку: на странице проекта у меня на сайте оставлена вся подробная информация по сборке и настройке. Ниже видеоролик с подробным "обзором" на девайс и примерами работы для разных сценариев.

На данный момент уже вышло обновление прошивки, в котором добавился гистерезис для датчиков и другой режим навигации по меню (кликнул, изменил настройку, кликнул ещё раз). Надеюсь многим пригодится!

6918

18 подробнейших уроков по программированию Arduino

Друзья, наконец-то я закончил съёмку этого курса уроков! Думаю многие про него уже знали, и ждали окончания. В общем, спасибо за поддержку и приятного просмотра!

Ну вот, теперь оставлю после себя что-то реально полезное =)

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

Муляж батарейки для слежения за нашим "перерабатываемым" мусором

Муляж батарейки для слежения за нашим "перерабатываемым" мусором Электроника, Батарейка, Исследование, Без рейтинга, Эксперимент, Мусор, Экология, Переработка мусора

Всем привет!


Многие наверняка вспомнят пост от @Kabzon. Это очень годная идея замаскировать gps-трекер под батарейку и выкинуть в "специальную" урну, чтобы понять, куда же это девается? Нашлась куча людей, поддержавших тс, да и сам тс не прочь материально помочь. Но вот не нашлось того умельца с золотыми руками, что сделает такую технологию.


Я - не тот умелец, если вы об этом подумали. Я лишь хочу еще раз поднять эту тему, набралось же наверняка людей на пикабу! Итак, то есть задача потенциального умельца сделать непромокаемый неубиваемый цилиндр, слегка похожий на батарейку, но с нефиговым зарядом. Который отсылал бы допустим каждые 25 минут нам сигнал о своем местонахождении (о технической реализации - не ко мне). А мы бы вели небольшой лог, например в формате .DAT.


Еще раз,

Гипотеза: наши батарейки никак не перерабатываются, а мы тратим бабло на это

Метод проверки: замутить муляж батарейки и отправить его через урну. Посмотреть, куда это уедет.


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


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


Почему я добавил это в сообщество Ардуино? Потому что полагаю, здесь самая большая концентрация умельцев, и очень надеюсь, что кто-нибудь все-таки найдется! Помимо интереснейшего эксперимента и возможности собрать плюсцов и подписчиков, наверное можно еще и в сми угодить (но это не точно).
2693

Как я делал удаленное управление теплом в гараже.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Для обогрева своего гаража, я использую 2 "конвектора". Один конвектор включен постоянно на +5 градусов, для поддержания плюсовой температуры, второй "конвектор" включается по необходимости.


Раньше приходилось бегать, включать его, уходить домой, ждать час-два пока температура поднимется до комфортных +20, но это быстро надоело, одолела лень и я решил применить максимально бюджетный вариант удаленного включения на Arduino.


Что необходимо было купить:

Arduino nano: https://ru.aliexpress.com/item/Freeshipping-1PCS-Nano-3-0-co...

146 руб

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Модуль ENC28J60: https://ru.aliexpress.com/item/2PCS-ENC28J60-Ethernet-LAN-Ne...

165 руб

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Датчик температуры DHT22: https://ru.aliexpress.com/item/1pcs-DHT22-digital-temperatur...

151руб

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Реле: https://ru.aliexpress.com/item/5PCS-LOY-1-Channel-5V-Relay-M...

40руб

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Коротко о подключении всего этого барахла.


Модуль ENC28J60:

VCC к 5V

GND к GND

SCK к Pin 13

SO к Pin 12

ST к Pin 11

CS к Pin 10


Реле:

S к Pin 2

Vcc к 5V

GND к GND


Датчик температуры DHT22:

Vcc к 3.3V

GND к GND

DATA к Pin4

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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


Что из этого вышло:


#include "DHT.h"

#include <EEPROM.h>

#define DHTPIN 4

#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

#include <EtherCard.h>

static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 }; // MAC Address должен быть уникальным в локальной сети

static byte myip[] = { 192,168,1,222 }; // Постоянный IP адресс нашей страницы

byte Ethernet::buffer[1000];

BufferFiller bfill;

// Начальные данные

int LedPins[] = {

2,3,5,6,7,8,9};

int t=0;

int h=0;

boolean PinStatus[7];

const char http_OK[] PROGMEM =

"HTTP/1.0 200 OK\r\n"

"Content-Type: text/html\r\n"

"Pragma: no-cache\r\n\r\n"

"\r\n"

"<meta charset='UTF-8'>"

"<meta name='viewport' content='width=device-width, initial-scale=1.0'>"

"<meta http-equiv='refresh' content='10'/>";

const char http_Found[] PROGMEM =

"HTTP/1.0 302 Found\r\n"

"Location: /\r\n\r\n";

const char http_Unauthorized[] PROGMEM =

"HTTP/1.0 401 Unauthorized\r\n"

"Content-Type: text/html\r\n\r\n"

"<h1>401 Unauthorized</h1>";

// Подключаем Ethernet порт HR911105A и датчик DHT22

void setup () {

if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0)

Serial.println( "Failed to access Ethernet controller");

ether.staticSetup(myip);

for(int i = 0; i <= 7; i++)

{

pinMode(LedPins[i],OUTPUT);

PinStatus[i]=EEPROM.read(i);

digitalWrite(LedPins[i],PinStatus[i]);

}

dht.begin();

}

// Получаем данные от DHT22

static void ReadDHT22()

{

h = dht.readHumidity();

t = dht.readTemperature();

}

// Оформление Web страницы

static word homePage() {

bfill = ether.tcpOffset();

bfill.emit_p(PSTR("$F"

"<title>Гараж</title>"

"<p style=\"text-align: center;\"><br />Конвектор: <br> <span style=\"font-size: 4em;\"><a href=\"?ArduinoPIN2=$F\">$F</a></span>"),

http_OK,

PinStatus[0]?PSTR("off"):PSTR("on"),

PinStatus[0]?PSTR("<font color=\"green\"><b>ON</b></font>"):PSTR("<font color=\"red\">OFF</font>"));

bfill.emit_p(PSTR(

"<br><br>Температура: <br> <span style=\"font-size: 4em;\">$D C</span> <br /><br />Влажность:<br> <span style=\"font-size: 4em;\"> $D %</span></p>"),t, h);

return bfill.position();

}

void loop () {

delay(1); // Задержка

word len = ether.packetReceive();

word pos = ether.packetLoop(len);

if (pos) // check if valid tcp data is received

{

ReadDHT22();

bfill = ether.tcpOffset();

char *data = (char *) Ethernet::buffer + pos;

if (strncmp("GET /", data, 5) != 0) {

bfill.emit_p(http_Unauthorized);

}

else {

data += 5;

if (data[0] == ' ') {

homePage();

}

else if (strncmp("?ArduinoPIN2=on ", data, 16) == 0) {

PinStatus[0] = true;

digitalWrite(LedPins[0],PinStatus[0]);

EEPROM.write(0,PinStatus[0]); // записываем в ячейку EEPROM №0, текущее состояние LedPins[0].

bfill.emit_p(http_Found);

}

else if (strncmp("?ArduinoPIN2=off ", data, 17) == 0) {

PinStatus[0] = false;

digitalWrite(LedPins[0],PinStatus[0]);

EEPROM.write(0,PinStatus[0]);

bfill.emit_p(http_Found);

}

else {

// Page not found

bfill.emit_p(http_Unauthorized);

}

}

ether.httpServerReply(bfill.position()); // send http response

}

}


Коротко о данном скетче:

В память ардуины (EEPROM) сохраняется информация о последнем положении кнопки реле, перебои со светом нам не страшны, положение кнопки всегда отражает реальное состояние реле, не будет такого, что на странице выводится OFF а на самом деле ON.


Далее подключаю сборку к локалке, для питания использую старую зарядку от мобильного телефона.


Вызываю страницу по IP адресу, который мы задали в начале скетча: http://192.168.1.222


Получаю страницу с данными:

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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


Далее нужен корпус. Можно заколхозить из какого-нибудь пластикового контейнера, или заказать на али типовой пластиковый корпус для подобного барахла, или купить распределительную коробку в электротоварах, но мне лень выходить из дома, поэтому, я по-быстрому накидал в солиде уродца и распечатал его на 3D принтере.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост
Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост
Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Собрал все в корпус, закрепил модули термоклеем.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Когда моделировал корпус, особо головой не думал, по этому реле почему-то сделал по середине… Лучше было его разместить с краю. Ну да ладно, и так сойдет…

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Вывел датчик DHT22 примерно на среднюю высоту стены, т.к. конвекторы сильно греют потолок, а пол помещения долго остается прохладным.


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

Провел интернет в гараж. Купил недорогую направленную Wi-Fi антенну, поставил её на карниз пока вот так, летом если дойдут руки и не будет лень сделаю нормальный кронштейн.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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


Теперь гараж с домом у нас в одной сети и самое время настроить виртуальный сервер на домашнем роутере.


Прописываем порт который мы открываем например 7777, прописываем IP нашей системы 192.168.1.222, прописываем порт по которому будет доступна наша страница, для доступа из браузера порт 80.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

При наличии статического IP адреса от провайдера, наша система теперь доступна откуда угодно по адресу http://нашip:порт


Если провайдер не предоставляет статический IP, можно сделать и другими способами, но для этого потребуется всегда включенный ПК в доме.


У меня есть статика и зарегистрированный домен, к поддомену которого, я привязал свою систему и мне нет необходимости помнить свой IP для доступа к управлению.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Не знаю, как на андроиде, а на айфоне можно вывести закладку на экран, она будет доступна как приложение, тем самым мы имеем быстрый доступ к нашей системе без лишних телодвижений и рытья в закладках.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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


Спасибо за внимание. Если есть вопросы, готов ответить )

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

Сircuits от Autodesk — бесплатный online-конструктор

Очень давно я слышал про Arduino, что есть такая заморская вещица, что можно с её помощью делать всякие-интересные электронные штуковины типа подсветки, «волшебные» фонарики, самоходные машинки и прочее. Но как-то не интересовало меня всё это… Пару-тройку недель назад на Пикабу я увидел пост, о том, как сделать Ambilight-подсветку для монитора своими руками на базе Arduino и тут меня зацепило! Я не мог ни есть, ни пить, ни спать, все думал о Arduino и о том, что можно сделать с ним. Начал читать форумы, искать сайты с обучающими материалами и наткнулся на Progmk.ru. Стал смотреть основы Ардуино для начинающих. В четвертом выпуске Виктор сказал, что пора приобретать устройство, послушавшись его я приобрел на всем известном сайте у братского народа Arduino и детали к нему. Тут меня постигли грустные мысли… Видео смотрю, книги про микроконтроллеры листаю…


Но что делать пока Arduino идет в посылке ко мне?


Посмотрел на форумах о программном обеспечении, наткнулся на Fritzing. Программа хороша, и макетку можно рядом с Arduino положить, и проводами контакты соединить, и код прописать… Но плоды своего труда не посмотреть… Нет эмуляции. Пришлось копать интернет дальше. На одном из форумов шло обсуждение VBB, что мол может она эмулировать, но платная. В комментариях предложили воспользоваться бесплатным online- конструктором circuits.io от Autodesk. Для меня это было открытием!


Circuits.io – электроника от новичка до профессионала!


После прохождения регистрации и согласия со всем, что предлагает сделать с моей душой автодеск в лицензионном соглашении, моему взору предстала страница с предложением начать

Сircuits от Autodesk — бесплатный online-конструктор Arduino, Электроника, Начинающий, Circuits, Программа, Длиннопост

В правом верхнем углу жму + New и выбираю New Elecronic Labs, открывается страница ради которой все и писалось! :) Перед собой я вижу макетную плату!

Сircuits от Autodesk — бесплатный online-конструктор Arduino, Электроника, Начинающий, Circuits, Программа, Длиннопост

Добавив Arduino Uno R3 с помощью кнопки Components +,

Сircuits от Autodesk — бесплатный online-конструктор Arduino, Электроника, Начинающий, Circuits, Программа, Длиннопост

я перешел в редактор кода, скрытый под кнопкой Code Editor. После ввода кода для мигания встроенным светодиодом, жму Upload & Run и наслаждаюсь магией! СВЕТОДИОД МИГАЕТ! ЭМУЛЯЦИЯ РАБОТАЕТ!

Сircuits от Autodesk — бесплатный online-конструктор Arduino, Электроника, Начинающий, Circuits, Программа, Длиннопост

Для программы из пятого выпуска мне понадобились:

- Резистор

- Кнопка

- Соединительные провода

Добавив все компоненты, соединив все проводами и переписав код, я получил вторую магию: кнопка жмется, светодиод светится! :)

Сircuits от Autodesk — бесплатный online-конструктор Arduino, Электроника, Начинающий, Circuits, Программа, Длиннопост

Также cirquit.io позволяет строить схему и печатную плату, но для меня это пока не нужно.

Сircuits от Autodesk — бесплатный online-конструктор Arduino, Электроника, Начинающий, Circuits, Программа, Длиннопост
Сircuits от Autodesk — бесплатный online-конструктор Arduino, Электроника, Начинающий, Circuits, Программа, Длиннопост

Итог: Приложение добротное, внимания заслуживает, думаю, будет интересно всем, от начинающих и ожидающих посылку (как я :) ), до профессионалов. Построить макет, запустить, посмотреть на свои труды (хоть и виртуальные).


Кстати, забыл упомянуть, в приложении есть множество модулей, для построения и тестирования электронных схем.


Спасибо всем, кто дочитал до конца! :)

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

Контроллер для авиасимуляторов своими руками

Контроллер для авиасимуляторов своими руками Arduino, 3d печать, Робототехника, Своими руками, Авиасимулятор, Инерционный трекер, Длиннопост, War Thunder

Добрый день, уважаемые Пикабушники! Выношу на Ваш суд разработку контроллера для авиасимуляторов, спроектированную и собранную мной и двумя моими товарищами.

Контроллер авиасимов на Arduino Micro + инерционный трекер на Arduino Nano с акселерометром GY-85 + VR-Box. Пока что первая, сырая, но, тем не менее, уже эффектная версия. Многое еще подлежит переделке, но впечатлений и эмоций очень много.

Узел Педали+РУС начерчен и изготовлен из стали при помощи плазменной резки, всё на подшипниках и газ-лифтах. Оси на датчиках Холла. РУД временно собран из Lego и потенциометра на 10КОм. Рукоятка РУС начерчена и распечатана на 3д принтере.

В WarThunder показания приборов тянутся из игры и выводятся в WEB-интерфейс.

Пока из очевидных недостатков тяжелая ручка управления самолетом с большим ходом. Во первых масса не дает работать возвратным пружинам корректно срабатывать (при сборке под руку подвернулась стальная толстостенная труба, далее будет алюминиевая), во вторых ручка, вероятнее всего, будет укорочена, а механизм джоя поднят выше и уменьшен диапозон свободного хода, пока же трубой стучим по коленям)) Зато ручка "быстросъем", на защелках от пневматики.

Как сделать трекер, хорошо описано во многих статьях в рунете, в том числе и на Пикабу, а в софтвенной части контроллера нам очень помог проект MMJOY2.

Вот, получился такой небольшой сумбур, первопост всё-таки.

Как только рейтинг позволит, выложу видео.

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

Проект GSM/GPRS сигнализации на Arduino ч.2

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, GSM, Gprs, Sms-Информирование, Длиннопост

Приветствую моих читателей. В первой части https://pikabu.ru/story/proekt_gsmgprs_signalizatsii_na_ardu... я рассказал вам, как сделать простую GPRS сигнализацию на Ардуино. Проект продолжает развиваться. Сигнализация эксплуатируется около месяца, и уже можно подводить некоторые итоги. За это время не было ни одного случая отказа или зависания, как модуля SIM800L, так и самой Ардуины. Напомню, в моём проекте микроконтроллер питается напрямую от аккумулятора пониженным напряжением 4 В. К каким-то отказам, как опасались многие читатели, это не приводит. Мною был проведён эксперимент, чтобы узнать, как поведёт себя сигнализация при постепенном разряде батареи.

Так как Ардуина разряжала аккумуляторы очень медленно, я подключил её вместе с модемом к лабораторному источнику питания, выставил ограничение по току 2А, и проверил работу на различных значениях напряжения.

Что удалось выяснить. При 3,5 В и выше SIM800L работает штатно. С питанием 3,4 В иногда начинаются перезагрузки при входящих звонках. При снижении напряжения ниже 3,4 В отваливается сеть, могут начаться перезагрузки, но на AT команды модуль продолжает отвечать. Так он работает в плоть до 3В, после чего выключается.

Ардуина работает даже при напряжении 2,7 В, ниже которых отключается. Никаких сбоев отмечено не было.

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

Для справки. Номинальное напряжение питания чипа зависит от частоты его работы. Если программно понизить частоту до 10МГц или ниже, то питание напряжением от 2,7 до 5,5В для Atmega328p будет стандартным. Если кого-то не убедили результаты эксперимента, то они могут  поиграться с настройками частоты.


С этим разобрались, теперь поговорим о доработках проекта.


За прошедшие две недели проект претерпел некоторые изменения. Геркон теперь подтянут через резистор не к +5В, а к +4,2В батареи (см. фото). Что позволит сохранить на пине высокий уровень при отключении внешнего питания без программной подтяжки. Мне кажется это более надёжным решением. Резисторы можно использовать любого номинала, начиная с 2,2 кОм и выше.


Остальные доработки касаются программной части. Файл настроек settings.h получил новые опции. https://github.com/wisenheimer/Arduino/blob/master/libraries...


По рекомендации читателей, в проект был добавлен watchdog (WTD), который перезагрузит Ардуину в случае её зависания. Включен по умолчанию следующим дефайном:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, GSM, Gprs, Sms-Информирование, Длиннопост

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


В качестве программатора я применил Ардуино УНО с прошивкой ArduinoISP из примеров.


Следующее изменение касается способа доставки отчётов. Теперь сигнализация поддерживает SMS отправку сообщений. Ранее мы отправляли ответы сигнализации на e-mail при помощи GPRS. Теперь можно выбирать способ отправки. Для этого добавлен следующий дефайн:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, GSM, Gprs, Sms-Информирование, Длиннопост

По умолчанию включены оба варианта.


SET_FLAG_ONE(GPRS_ENABLE) разрешает отправку e-mail по GPRS.

SET_FLAG_ONE(SMS_ENABLE) разрешает отправку отчётов по SMS.


GPRS имеет более высокий приоритет. Если сигнализации не удалось установить GPRS соединение, и SMS режим разрешён, то сообщения будут отправлены по SMS, флаг GPRS_ENABLE  выключен, и в дальнейшем будет задействована только SMS отправка. Включить или выключить оба режима можно так же в ручную DTMF командой.

Если мы хотим всегда использовать один режим, то дефайн нужно отредактировать, удалив лишнее.


Следующим нововведением стало изменение списка DTMF команд:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, GSM, Gprs, Sms-Информирование, Длиннопост

Команды, не вошедшие в список, будут подставлены в USSD запрос и отправлены сотовому оператору. Так что можете в режиме DTMF напирать любые USSD команды. Например запрос баланса. В случае успеха ответ оператора вернётся в виде отчёта.


Админ так же может управлять модемом SIM800L при помощи АТ команд из его даташита http://www.mt-system.ru/sites/default/files/documents/sim800... .


Например, добавлять и удалять номера из телефонной книги. Для этого достаточно с телефона Админа отправить сигнализации SMS с текстом АТ команды.


Дальше хочу подробно рассказать, как добавлять в проект датчики.


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

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, GSM, Gprs, Sms-Информирование, Длиннопост

В файле https://github.com/wisenheimer/Arduino/blob/master/libraries... описан класс Sensor и следующие типы датчиков:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, GSM, Gprs, Sms-Информирование, Длиннопост

DIGITAL_SENSOR - любой датчик с одним цифровым выходом, на котором может быть только два состояния, 0 или 1.

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

ANALOG_SENSOR - любой датчик с аналоговым выходом. Например датчик газа MQ-2.

DHT11, DHT21, DHT22 - датчики температуры и влажности.


Конструктор класса имеет следующий вид:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, GSM, Gprs, Sms-Информирование, Длиннопост

В нашем файле настроек имеется целый массив таких классов для каждого датчика:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, GSM, Gprs, Sms-Информирование, Длиннопост

Очень важно указать точный размер массива, иначе проект не соберётся. В данном случае у меня имеется 6 датчиков, конструктор для каждого описан отдельно.


Например:

Sensor(DOOR_PIN, DIGITAL_SENSOR, "DOOR", HIGH, 0)

означает, что для датчика двери (геркона) задействован пин Ардуино DOOR_PIN (задан в том же в файле), тип датчика DIGITAL_SENSOR, название датчика, которое будет выводиться в отчётах - "DOOR" (можно заменить на любое другое слово), обычное состояние пина  HIGH (DOOR_PIN у нас подтянут к 4,2В), время подготовки датчика при включении питания в секундах, через которое он начнёт показывать правильные значения - 0 секунд.


Для аналогового датчика газа MQ-2:

Sensor(A0, ANALOG_SENSOR, "GAS", LOW, 120)

пин A0, тип датчика ANALOG_SENSOR, имя  "GAS", значение на пине LOW, на прогрев датчика и выход на номинальный режим работы отводится 120 секунд. До истечения этого времени после включения датчик не опрашивается, что бы не получать неверные значения.


Для датчика температуры DHT11

Sensor(DHT_PIN, DHT11, "DHT", LOW, 10, 35)

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


Внимательный читатель уже заметил, что для разных датчиков описано разное количество параметров. Дело в том, что в языке С++ можно не писать все параметры функции, если в заголовке функции указаны их значения по умолчанию. Мы пишем только то, что не имеет значения по умолчанию, или мы хотим задать другое значение. Однако никто не запрещает указать все параметры конструктора класса.


Вы можете подключать к сигнализации любые датчики, не требующие отдельной библиотеки, лишь заполнив конструктор класса, и добавив его в массив Sensor sensors[]. И это будет работать. Если для датчика требуется отдельная библиотека, то её можно добавить точно так же, как в проект была добавлена библиотека stDHT.h для датчика DHT11, который имеет свой протокол для обмена данными. Или напишите мне, я добавлю.


На этом всё, спасибо за внимание.


Скачать проект можно как всегда по ссылке: https://github.com/wisenheimer/Arduino

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

PiHole - Блокируем рекламу на всех устройствах

Всем доброго дня, у меня недавно появился самый первый CubieBoard на процессоре A10. И я решил его куда-нибудь пристроить. Наткнулся на проект Pi-Hole и решил, почему бы и нет.

PiHole - Блокируем рекламу на всех устройствах Adblock, Cubieboard, Реклама, Блокировка, Своими руками, Видео, Длиннопост

Что же из себя представляет Pi-Hole?

"Network-wide ad blocking via your own Linux hardware" - т.е мы блокируем рекламу на ВСЕХ устройствах в локальной сети, используя нашу Linux машинку.


Реклама блокируется на вашем компьютере, на компьютере брата, на ноутбуке мамы, на всех сотовых телефонах, и на вашем холодильнике.


Изначально Pi-Hole затачивался под raspberry, но сейчас его можно поставить на любой linux дистрибутив.


На моей CubieBoard стоит Cubian - это переписанный Debian под эту плату.

PiHole - Блокируем рекламу на всех устройствах Adblock, Cubieboard, Реклама, Блокировка, Своими руками, Видео, Длиннопост

Для того чтобы поставит PiHole , вам нужно ввести всего одну команду:

curl -sSL https://install.pi-hole.net | bash


Ну или две

wget -O basic-install.sh https://install.pi-hole.net
bash basic-install.sh

p.s На cubian слетел доступ по https, поэтому используйте просто http://


Отлично, после распаковки всех файлов, там откроется простая установка. Вы можете смело отвечать на все пункты - "Next".

После установки, вам нужно будет перейти в Web-админку, в неё можно попасть по адресу: http://192.168.1.XXX/admin/ - где XXX концовка IP вашего устройства.

PiHole - Блокируем рекламу на всех устройствах Adblock, Cubieboard, Реклама, Блокировка, Своими руками, Видео, Длиннопост

На данный момент моя админка выглядит так. На ней вы можете видеть немного графиков и основную статистику. Чуть ниже идёт топ доменов и топ заблокированных доменов. Ещё ниже есть топ устройств с которых было больше всего запросов.

Всё обновляется в режиме реального времени и выглядит довольно круто. Подумываю вывести её на отдельный экран, пускай висит :D


НО Перед админкой, вам нужно будет настроить ваш роутер.

Заходите в настройки вашего роутера, в раздел LAN (не WAN!), и настраиваете DNS адрес, в который пишите адрес вашего устройства. Теперь все устройства в вашей сети будут получать этот DNS адрес. Подробнее - тут.

PiHole - Блокируем рекламу на всех устройствах Adblock, Cubieboard, Реклама, Блокировка, Своими руками, Видео, Длиннопост

В админке также можно настроить White-лист и Black-лист доменов. Отключить adblock на время или насовсем. Также там можно обновить "Листы". Листы представляют из себя hosts файлы.

Примеры:

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

https://hosts-file.net/ad_servers.txt

Также можно вручную добавлять свои листы.


Проблемы которые возникли при установке:

Проблемы скорей всего из-за специфики Cubian, но всё же.


1. После установки не работает Web админка - пишет 404 Not Found.

Помогло:

sudo lighttpd-enable-mod fastcgi-php
sudo service lighttpd force-reload

2. Не запускался FTL

Помогло:

sudo pihole-FTL start

3. В хроме всё равно показывалась реклама.

Помогло:

Сброс DNS'a - chrome://net-internals/#dns

Ну вроде и все проблемы которые были.


Тесты:

1. Все банеры гугла исчезли в мобильных приложениях.

2. На сайтах, где раньше писало отключить AdBlock, перестало так писать. (не уверен, что на всех, но всё же)


Больше я не смог придумать тестов, если у вас есть вопросы, или вы хотите, чтобы я что-то проверил. Смело пишите в комментариях.

В конце дня постараюсь скинуть скриншот статистики.


Мои прошлые посты похожей тематики:

1. Raspberry Pi 3 Mediacenter + Hyperion Ambilight

2. Arduino: Как я делал "запоминалку" слов

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

Миоэлектрический протез руки терминатора

Хочу представить вам свою разработку миоэлектрического протеза. На разработку этой системы у меня ушло 2 месяца работы. В основе проекта лежит Adruino Uno, а стоимость разработки не превышает 3 т.р. с учётом стоимости самой Arduino.

2871

Делаем гирлянду-дисплей. Такого нет даже у китайцев =)

В видео показан процесс сборки, настройки и монтажа гирлянды-дисплея на окно, а также все её возможности: вывод бегущего текста с разными эффектами, просто эффекты (снег, звездопад, радуга и т.д), и конечно же на ней можно поиграть в змейку, тетрис, лабиринт, и в будущем в другие игры =) Спасибо всем за поддержку, на данный момент это мой самый крупный с точки зрения кода Ардуино проект!

Делаем гирлянду-дисплей. Такого нет даже у китайцев =) Arduino, Самоделки, Своими руками, Новый Год, Гирлянда, Электроника, Видео, Гифка
1126

"Станок с ЧПУ из говна и палок за 5k"

Авторское описание:
"В этом видео ты увидишь станок с ЧПУ стоимость которого не превышает 2.5 степендий, один из дорогих компонентов заменен на мебельные направляющие, а корпус выполнен из фанеры низшего качества..."
За видео благодарим товарища "Andrey Prygun":
https://www.youtube.com/channel/UCZdlCcnyY43PqLT7OAS5RiQ

1214

Как я разработал робота для сбора мячей для гольфа.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Меня зовут Слава. Я из Молдовы. Это невероятная история моей жизни и о том, как я сделал робота для сбора мячей для гольфа.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Молдова одна из беднейших стран в СНГ и в восточной Европе. У нас нет гольфа, дорогих машин, роботов и богатых людей.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Мои дедушка и бабушка бизнесмены. У них своя точка на базаре, их все знают.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Мой дядя работал раньше в Германии, потом пригласил меня.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

В Германии мы работали в гольф клубе, там я впервые попробовал гольф. Я был восхищен!

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

По возвращению в Молдову я весь в мыслях был лишь о гольфе.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Хотя на тот момент только президент страны и его друзья пробовали гольф.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Я вернулся на работу в Германию. Большинство времени в Германии мы собирали мячи для гольфа.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

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

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

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

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

С нами работал Рашид из Афганистана. Он рассказал, что в Кабуле мячи собирают роботы.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост
Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Так я решил сделать своего робота.



Планируется несколько основных преимуществ относительно существующего коммерческого решения.


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

Возможность внедрения в уже существующую инфраструктуру.

Более низкая стоимость и совокупная стоимость владения.


Корпус и механическая часть


Материалом для корпуса первого образца была выбрана фанера. Дешево, позволяет на месте быстро подрезать какие-то части или просверлить отверстия. Чтобы все было четко подогнано набросал чертеж и отдал на фрезерную резку.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост
Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

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

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

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

По двигателю 12V 30 Н/м. на каждое колесо. Такой же двигатель крутит вал с дисками захвата, так как они подняты над поверхностью для облечения поворотов и повышения маневренности.

Изначально двигатели были noname китайские. В описании не было момента, поэтому риск был велик. Момента явно не хватало, что не скажешь о двигателей от стеклоподъемников.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

После смены двигателей пришлось напечатать другие шестерни.


Электроника


Так как ровер должен работать без электромагнитного кабеля по контуру поля ему как-то необходимо ориентироваться и искать базу для сброса шаров и подзарядки.


Принял решение использовать Orangepi lite и arduino для более удобной работы с 5v без зоопарка конверторов уровней для каждого датчика и драйвера двигателей.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Собрал все из готовых модулей на макетной плате. Сказывается отсутствие опыта в схемотехнике, думаю в дальнейшем не проблема будет развести плату под модули или под дискретные элементы и заказать.

Как я разработал робота для сбора мячей для гольфа. Робот, Гольф, Разработка робота, Arduino, Видео, Длиннопост

Схема состоит из 11 план, 11 Карл!

— Orange Pi Lite

— Arduino nano

— GPS модуль GY-NEO6MV2

— 2 драйвера двигателя VNH2SP30

— Bluetoth Hc-06

— 2 ультразвуковых модуля J34

— Конвертер логических уровней

— Модуль 3-х осевого гироскопа и акселерометра GY-521 MPU-6050

— Блок из двух реле


Конечно это было сделано для быстрой сборки, монтажа и замены модулей.

Уже сейчас ровер собирает 95-100% мячей на своем пути. Строит маршрут внутри полигона по GPS-координатам. В планах:


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

Сервопривод сброса мячей.

Датчик переполненности отсека с шарами.

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

Корпус.

Размещение робота в гольф-клубе в Москве для теста в боевых условиях.

Я открыт для диалога, советов, помощи, предложений.

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

Fritzing - электроника доступна для всем!

Всем привет!

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

Побродив по просторам интернета я случайно наткнулся на программу Fritzing. Причем "старички" постят скриншоты из нее и не признаются как они их сделали)))


Итак коротко о Fritzing

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

Приятно, что Fritzing является изначально переносимой (portable), т. е. для неё не существует какого-то инсталлятора - просто нужно скачать пакет архива, распаковать его в любую папку на диске, и система сразу готова к работе. Кроме того, система автоматически определяет язык операционной системы, и сама переключается на русифицированный интерфейс меню.

После первого запуска Fritzing сразу бросаются в глаза 5 главных рабочих закладок: Welcome, Макетная плата, Принципиальная схема, Печатная плата и Code. Изначально активна первая закладка Welcome, на ней просто представлены совет дня (Tip of the Day), ссылка на блог разработчиков (где представлены статьи, реклама новых стартер-китов и прочее), ссылка на фабрику печатных плат и на магазин, и справа браузер готовых компонентов и инспектор их свойств.

Fritzing - электроника доступна для всем! Arduino, Начинающий, Электроника, Программа, Схема, Длиннопост, Текст
504

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Приветствую всех. В предыдущих частях я рассказал, как сделать GSM сигнализацию на ардуино. Затронул тему изготовления беспроводных датчиков для неё. Обещал сделать датчик, работающий по Wi-Fi. И в итоге так увлёкся, что переработал весь проект.


Итак, я решил, что мобильный GPRS это конечно хорошо, но будет ещё лучше, если сигнализация сможет подключаться к домашней Wi-Fi сети и общаться со смартфоном через интернет и мобильное приложение. Для этого мне понадобилась отдельная плата с Wi-Fi модулем. Я подключил к ардуине плату NodeMcu v3 с чипом esp8266. Управление сигнализацией реализовал со смартфона в приложении Blynk.


Для новой сигнализации спроектировал печатную плату, на которой могут разместиться:


- Arduino Nano V3.0

- NodeMcu v3 для выхода в интернет.

- SIM800L для мобильной связи.

- Радиомодуль NRF24L01 для приёма сигналов от беспроводных датчиков.

- ИК-приёмник

- Датчик температуры DS18B20.

- Термистор.

- Микроволновый датчик движения RCWL-0516.

- Зуммер.

- Микрофон.

- MOSFET транзисторы AO3400A для включения платы NodeMcu и внешних маломощных устройств.

- Разъёмы для подключения других датчиков

- Переключение на резервный источник питания


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


Т.к. сигнализация модульная, можно выбрать ту конфигурацию, которая нужна именно Вам.


Связь может осуществляться через SIM800L или NodeMcu на выбор, либо с обоими модулями одновременно (рекомендуется). В последнем случае имеет два независимых канала связи, что более надёжно.

Ардуино и NodeMcu общаются по шине I2C. На плате выведены разъёмы для подключения датчиков по этой шине.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

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

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Распиновка новой платы немного отличается от схемы предыдущего проекта. Поэтому я решил вынести прошивки в отдельный проект. Дальше будут выходить обновления только для этой платы. Новая версия скетча Signalka.ino подходит и для старого проекта. Ею можно обновляться. Необходимо лишь привести в соответствие номера зарезервированных пинов в файле https://github.com/wisenheimer/Signaling-Blynk/blob/master/l...


Прошивка для NodeMcu написана в среде Arduino IDE. Чтобы собрать проект, необходимо установить библиотеку для esp8266. Как это сделать, можете почитать, например, здесь https://habr.com/ru/post/371853/

Хочу обратить внимание, что с последней версией библиотеки у меня проект не заработал. Плата не хотела подключаться к серверам Blynk. Пришлось откатиться на версию 2.4.2. И проблема исчезла.


Для управления сигнализацией через плату NodeMcu нам надо создать в телефоне приложение Blynk. Это такой конструктор, в котором собирается мобильное приложение из готовых визуальных элементов - виджетов. За каждый виджет нужно платить местной валютой - энергией. Бесплатно даётся 2000 энергии. Если не уложиться в эту сумму, то дополнительную энергию можно докупить за реальные деньги. Мы же из соображений бережливости соберём приложение, которое стоит ровно 2000 энергии.


В статье я не буду затрагивать технические детали по созданию приложения Blynk, настройке и работе сигнализации. Всё это я изложил в файле описания проекта

https://github.com/wisenheimer/Signaling-Blynk/blob/master/R...

Перейдите туда, и следуя инструкции, создайте вот такое приложение:

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

После запуска и подключения к серверу Blynk увидим следующее:

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

В терминал будут выводиться сообщения сигнализации. Так же из него можно отправлять в сигнализацию команды управления (AT, СМС и DTMF команды).

Кнопки ALARM, GUARD и EMAIL в данной конфигурации означают флаги управления сигнализацией. Любой флаг можно включить и отключить из приложения нажатием на кнопку.


ALARM - флаг тревоги. Устанавливается в 1 при срабатывании одного из датчиков. Сбрасывается самостоятельно при завершении режима тревоги.

GUARD - флаг постановки на охрану.

EMAIL - флаг отправки сообщений сигнализации на указанную электронную почту. Так же включается и отключается из приложения.


Далее следует перечисление датчиков и их текущее показание. В данном примере у нас подключено два датчика:

18B20 - это датчик температуры DS18B20, распаянный на плате.

RADAR - микроволновый датчик движения RCWL-0516.


При срабатывании датчика на экране телефона появится сообщение тревоги

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Если плата NodeMcu потеряет связь с сервером Blynk, то на телефон так же придёт сообщение.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост
GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Эти же сообщения отправятся на указанный вами в настройках e-mail.


Как видите, интерфейс очень простой. И при этом полностью функционален. Позволяет осуществлять полный контроль над сигнализацией. И при этом полностью бесплатен!

Можно было бы добавить графики и дополнительные визуальные плюшки. Для этого понадобилось бы докупить энергии. Каждый в праве доработать проект под себя. Я же ограничусь бесплатной версией.


Теперь несколько слов о том, как создать и подключить беспроводной Wi-Fi датчик.

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

Wi-Fi датчик представляет из себя тоже самое, только для связи мы используем радиомодули nRF24L01. Передающий в датчике, принимающий в сигнализации. Под этот модуль уже предусмотрено место на плате сигнализации. Учтите, что при его использовании будут заняты 9, 10, 11, 12 и 13 пины платы ардуино. По этой причине не возможно одновременное использование ИК и Wi-Fi приёмников.


Схема соединения выглядит следующим образом

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Скетч проекта лежит по этой ссылке


https://github.com/wisenheimer/Signaling-Blynk/blob/master/n...


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

В скетче задано два датчика. Вам нужно только вписать свои.

Sensor sens[SENS_NUM]=
{
Sensor(DOOR_PIN,DIGITAL_SENSOR, "DOOR", HIGH, 0),
Sensor(5, DIGITAL_SENSOR, "MOVE", LOW)
};

Первый датчик это геркон, второй - датчик движения.

Пин DOOR_PIN зарезервирован под геркон и соответствует 4 пину ардуины.


При срабатывании любого из этих датчиков по Wi-Fi будет отправлено сообщение RF_CODE, которое примет сигнализация, и включит режим тревоги.


Соответственно в скетче сигнализации нужно аналогично прописать беспроводной датчик


Sensor sens[SENS_NUM]={
Sensor(DOOR_PIN, DIGITAL_SENSOR,"DOOR",  HIGH, 0),
Sensor(DOOR_PIN, DS18B20,  "18B20", LOW, 10, 45),
Sensor(A7,  TERMISTOR,  "TERM",  LOW, 10, 45),
Sensor(6,  DIGITAL_SENSOR,"RADAR",LOW),
#if RF_ENABLE // Датчик с Wi-Fi модулем nRF24L01
Sensor( RF24_SENSOR, "Koridor",RF0_CODE),

Sensor( RF24_SENSOR, "Zal",RF1_CODE)

#endif
};

В примере заданы два беспроводных Wi-Fi датчика, где

RF24_SENSOR - тип датчика

"Koridor" и "Zal" - имена датчиков, которые будут выводиться в сообщениях

RF0_CODE и RF1_CODE - индивидуальные коды RF_CODE, которые отправляют датчики при срабатывании.


В будущем постараюсь добавить поддержку Blynk в прошивку ардуино с модемом SIM800L. Чтобы можно было обойтись без NodeMcu. Пока на всё это не хватает времени.


Скачать проект можно по ссылке https://github.com/wisenheimer/Signaling-Blynk

Показать полностью 8
Отличная работа, все прочитано!