Содержание:
Грядёт Новый год, а вместе с ним грядут петарды, хлопушки и фейерверки. Хотя это может быть весело, не исключена вероятность случайных травм и ожогов. Подобными развлечениями лучше заниматься с расстояния. Чтобы добиться этого, мы возьмём стандартные фейерверки и оснастим их нихромовым проводом, реле, платой для дистанционного запуска через сеть Wi-Fi при помощи компьютера или смартфона.
Хотя запуск фейерверков может быть интересным занятием, это опасное дело. Если фейерверк сработает раньше необходимого или неожиданным образом, можно получить травму. Если же запускать фейерверк дистанционно, даже когда что-то пойдёт не так, серьёзных последствий можно будет избежать. Вы повредите разве что зажимы-«крокодилы» или недорогой микроконтроллер.
Помимо безопасности, дистанционный запуск фейерверка позволит любому человеку с подключенным к Wi-Fi устройством принять участие в запуске без необходимости подходить близко. Даже маленьким детям будет легко нажать на экран планшета или смартфона для запуска фейерверка. Вероятность того, что что-то не получится, значительно снижается.
Ещё дистанционный запуск фейерверка позволяет автоматизировать процесс при помощи программы. Можно указать, в какое время фейерверк будет запущен, задать координаты для множества фейерверков, чтобы они смогли создать уникальные эффекты.
Процесс модификации фейерверка связан с электричеством и из-за этого влечёт за собой некоторые риски. Придётся работать с напряжением и измерять проводимость, зато запуск фейерверков станет более автоматизированным и менее подверженным ошибкам. Вряд ли запуск станет быстрее, поскольку требуется время на обработку фейерверка и тестирование проводимости. Зато появится больше контроля и более богатый выбор фейерверков и места их расположения.
Реле работает как выключатель света, оно контролируется при помощи включения и выключения магнита. Когда на электромагнит подаётся питание, металлический переключатель внутри притягивается и переворачивается, замыкая цепь. В результате появляется возможность отказаться от крупного источника питания для нагрева нихромовой катушки в пользу небольшого и безопасного источника для включения и выключения реле.
Чтобы обеспечить расстояние между людьми и фейерверками при запуске, можно рассмотреть несколько вариантов.
Во-первых, можно использовать пару очень длинных проводов, которые идут от реле до нихромового провода, обмотанного вокруг фитиля фейерверка. Один из длинных проводов заземляется на батарею, другой присоединяется к обычно отключенному контакту на реле. При такой простой сборке реле можно использовать для подачи и отключения тока и вручную подавать питание от батареи, чтобы нихромовый провод разогревался и поджигал фитиль.
Во втором варианте проводов меньше, зато применяется микроконтроллер ESP8266, который управляет реле вместо человека. После подключения к реле платы на основе ESP8266, вроде модели D1 Mini, можно создать точку доступа Wi-Fi. Она позволяет переключать реле дистанционно. Можно запрограммировать эти действия при помощи запроса CURL, чтобы быстро активировать D1 Mini. Контакт на плате даёт возможность управлять реле в автоматическом режиме при помощи программы.
Для реализации нашей задумки нужны следующие компоненты:
Эти компоненты дадут всё необходимое для создания цепи, которая разогревается при прохождении по ней тока. Алюминиевый скотч и нихромовый провод позволят модифицировать фейерверк, чтобы он мог воспламениться.
Для начала нужно скачать код проекта с сайта GitHub. Запустите окно командной строки и наберите следующие команды:
~$ git clone https://github.com/skickar/AirduinoFireworks.git
~$ cd AirduinoFireworks
Теперь у вас есть схема для управления ESP8266 и скрипт для запуска фейерверка.
Дальше выполняется подключение ESP8266 и реле. На контроллере ESP8266 есть контакт, который вы будете использовать для управления фейерверком. В данном случае это контакт D1. Его необходимо подключить к контакту D1 на реле. Если вы используете предохранитель, можно установить реле прямо на ESP8266, как показано на изображении.
Если предохранителя нет, потребуется подключить контакт 5 В контроллера ESP8266 к контакту 5 В на реле, а также контакт заземления ESP8266 к контакту заземления реле. После этого можно подключать контакт D1 к контакту D1 на реле, как показано на изображении ниже.
Подключите ESP8266 к компьютеру при помощи кабеля microUSB. В программном обеспечении Arduino IDE, которое можно скачать и установить с сайта Arduino, потребуется выбрать правильную плату с ESP8266 из списка «Инструменты» (Tools). Возможно, необходимая вам модель в этом списке отсутствует.
В таком случае в меню «Настройки» (Preferences) нажмите на ссылку «Менеджер адресов дополнительных плат» (Additional Board Manager URLs) и вставьте туда следующий адрес:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
После этого вы сможете выбрать плату на основе ESP8266 в программной среде Arduino IDE в разделе Инструменты > Платы (Tools > Board).
В приложении Arduino запустите схему AirduinoFireworks.ino, которую скачали в шаге 1. Вы увидите следующий код:
/*
This a simple example of the aREST Library for the ESP8266 WiFi chip.
See the README file for more details.
Written in 2015 by Marco Schwartz under a GPL license.
*/
// Import required libraries
#include <ESP8266WiFi.h>
#include <aREST.h>
// Create aREST instance
aREST rest = aREST();
// WiFi parameters
const char* ssid = "Fudruckers";
const char* password = "00000000";
// The port to listen for incoming TCP connections
#define LISTEN_PORT 80
// Create an instance of the server
WiFiServer server(LISTEN_PORT);
// Variables to be exposed to the API
int temperature;
int humidity;
// Declare functions to be exposed to the API
int ledControl(String command);
void setup(void)
{
// Start Serial
Serial.begin(115200);
// Init variables and expose them to REST API
temperature = 24;
humidity = 40;
rest.variable("temperature",&temperature);
rest.variable("humidity",&humidity);
// Function to be exposed
rest.function("led",ledControl);
// Give name & ID to the device (ID should be 6 characters long)
rest.set_id("1");
rest.set_name("esp8266");
// Setup WiFi network
WiFi.softAP(ssid, password);
Serial.println("");
Serial.println("WiFi created");
// Start the server
server.begin();
Serial.println("Server started");
// Print the IP address
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
}
void loop() {
// Handle REST calls
WiFiClient client = server.available();
if (!client) {
return;
}
while(!client.available()){
delay(1);
}
rest.handle(client);
}
// Custom function accessible by the API
int ledControl(String command) {
// Get state from command
int state = command.toInt();
digitalWrite(6,state);
return 1;
}
Этот код создаёт точку доступа Wi-Fi и позволяет отправлять через интернет запросы для управления контактами на плате ESP8266. Нажмите на кнопку загрузки в виде направленной вправо стрелки, чтобы установить этот код на ESP8266, и дождитесь завершения процесса. После этого можно протестировать управление при помощи реле.
На компьютере, с которого вы собираетесь управлять запуском фейерверка, подключитесь к сети Wi-Fi управления реле под названием Fudruckers и введите пароль 00000000. После подключения к сети убедитесь, что вы выбрали нужную сеть. Дальше необходимо выполнить тесты, чтобы убедиться в правильном функционировании реле. Мы будем использовать автоматическую программу запуска, чтобы отправлять через беспроводную сеть запросы для тестирования реле.
В окне командной строки на компьютере запустите скрипт для тестирования реле. Перейдите в папку firing.sh, где находится этот скрипт. Её вы скачали в шаге 1 с GitHub. Запустите этот скрипт при помощи указанных ниже команд. Если он работает, через несколько секунд вы услышите щелчок реле.
~$ bash firing.sh
{"message": "Pin D1 set to 1", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}
{"message": "Pin D1 set to 1", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}
{"message": "Pin D1 set to 0", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}
Если всё сработало, можно подключать провода и начинать настоящее тестирование фейерверка.
На реле нужно прикрутить провода к контакту посередине, который также известен как общий контакт, и обычно открытому контакту с пометкой NO. Связь между ними отсутствует, пока вы не активируете реле.
Когда вы подсоединили провода, замотайте концы изолентой, чтобы они случайно не коснулись друг друга. Подключённый к общему контакту провод другим концом позже подсоедините к плюсу на батарее, а подключенный к контакту NO провод подключается к нихромовому проводу.
С той стороны, где находится фитиль, обмотайте половину фейерверка при помощи алюминиевого скотча, чтобы он не заходил на другую половину. Вторую половину замотайте изолентой, оставив между двумя обмотками пространство.
Для стабильности можно добавить ножки, скрутив алюминиевый скотч и прикрепив его к каждой половине фейерверка. Прежде чем подсоединять нихромовый провод, протестируйте подключение, прикоснувшись мультиметром к обеим половинам фейерверка. Между ними не должен идти электрический ток.
Отрежьте необходимое количество нихромового провода, затем сверните его в форме буквы V. Согните верхнюю часть провода, как показано на изображении ниже. Если ваш провод толще, чем 36 AWG, вместо этого попробуйте намотать небольшое количество вокруг фитиля.
Дальше поместите нижнюю часть провода в форме V в место вхождения фитиля внутрь фейерверка.
Наконец, примотайте нихромовый провод к фейерверку, заполняя зазор между двумя алюминиевыми сторонами. Используйте дополнительный алюминиевый скотч. Убедитесь, что он не соединяет две половины фейерверка. Это должен делать только нихромовый провод.
Теперь пора измерить соединение между двумя половинами алюминия. Прежде чем начать, вынесите фейерверк на открытый воздух за пределы помещения. При измерении по цепи протекает ток. Хотя вероятность невелика, всё же есть небольшой шанс воспламенения.
Установите фейерверк в надёжное место подальше от воспламеняющихся объектов. Убедитесь, что основание пускового устройства надёжно закреплено.
Когда фейерверк установлен, возьмите мультиметр и проверьте соединение между двумя сторонами фейерверка при помощи зажимов-«крокодилов». Если электричество способно проходить с одной стороны фейерверка на другую через нихромовый провод, всё готово к запуску.
Если на экране мультиметра вы видите значение 1, ток не проходит. Попробуйте добавить больше алюминиевого скотча обратной стороной. Клей на скотче плохо проводит электричество и может блокировать соединение.
Когда вы стабильно получаете положительный результат, можно заняться окончательными приготовлениями к запуску фейерверка.
Если он запускается из трубы вроде мортиры или ракеты, она должна быть абсолютно гладкой. В репозитории Github можно найти идеи по созданию пусковых установок. Как можно увидеть на изображении выше, можно создать слоты с алюминиевым скотчем на пусковой установке, чтобы он подходил под алюминиевые ножки фейерверка.
Последний шаг заключается в подсоединении плюса батареи 9 В к общему контакту реле. После этого ток может проходить, когда отправляется команда с платы D1 Mini. Без самого фейерверка цепь будет выглядеть так:
Когда вы подключили батарею, отойдите на безопасное расстояние и начните процедуру запуска.
На компьютере снова подключитесь к сети Wi-Fi под названием Fudruckers, если вы прежде отключились от неё. Введите пароль 00000000. В папке AirduinoFireworks вы найдёте скрипт под названием firing.sh, который осуществляет управление реле. Содержимое скрипта представлено ниже:
#! bin/bash
sleep 5 && say "the computer has control, counting down from 5" && curl http://192.168.4.1/analog/1/1 && sleep 5 && say "firing" && curl http://192.168.4.1/digital/1/1 && sleep 5 && say "Safe" && curl http://192.168.4.1/digital/1/0
Чтобы запустить реле, очистите окно командной строки и введите следующую команду:
~$ bash firing.sh
Происходит громкое оповещение, что реле собирается осуществить запуск. Реле активируется на 5 секунд и затем отключается.
Для запуска фейерверка со смартфона на Android или iPhone подключитесь к сети Wi-Fi Fudruckers со смартфона при помощи указанного выше пароля. В адресной строке браузера запустите указанные команды, одну за другой. Или можно сделать это в окне командной строки на компьютере, поместив перед URL curl и пробел.
Чтобы запустить реле, отправьте команду для активации контакта 1. Это позволит активировать его достаточно, чтобы загорелся светодиодный индикатор на реле, но не возбудить катушку.
http://192.168.4.1/analog/1/1
Чтобы запустить активированный контакт, отправьте следующую команду:
http://192.168.4.1/digital/1/1
Наконец, чтобы отключить контакт, нужно перевести его состояние в 0:
http://192.168.4.1/digital/1/0
Предупреждение: любой подключившийся к сети Fudruckers может проделать всё это. Убедитесь, что вокруг нет посторонних, которые могли бы дистанционно активировать фейерверк.
При работе над этим проектом нужно соблюдать меры предосторожности:
Ваш компьютер на Windows 10 перестал быть быстрым после обновления системы? Мы подскажем, как устранить…
Это приложение для iPhone основано на приглашениях и аудио. С его помощью можно всё равно…
Одним из самых значительных изменений в операционной системе iOS 14 является возможность менять приложения по…
В системе Android 10 появился фреймворк для пузырей чатов, популярность которым принёс Messenger. Новая система…
От загрузки в режим Fastboot при помощи одной команды до установки модов без рута, есть…
Бета-версия операционной системы Android 11 в настоящее время доступна для устройств Google Pixel. Нужно посетить…