Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Несколько лет назад мы купили дизайнерскую лампу с абажуром в виде сигары, изготовленную из молочного стекла. Нам понравился особый дизайн абажура и общий вид лампы. Но я не очень доволен светом, исходящим от пяти маленьких стандартных лампочек. Поскольку у абажура довольно маленький радиус, у вас не будет впечатления от непрерывного света, но вы можете видеть отдельные лампочки через абажур. Когда я наткнулся на светодиодную ленту WS2812b, у меня возникла идея: я хотел преобразовать / переработать лампу и заменить стандартные лампочки на светодиоды RGB. Не говоря уже о том, что «новая» лампа должна управляться по Wi-Fi, чтобы получить более высокий WAF 8-).
Шаг 1: Новые внутренности лампы - список деталей
Поскольку я уже делал несколько проектов с Particle Photons (https://particle.io), я выбрал этот действительно изящный контроллер в качестве основы для своего проекта. Подводя итог, мне понадобилось это оборудование для преобразования моей лампы:
- 1x труба 90 см с метрической резьбой M6 на одном конце
- 1x фотон частиц
- 1x ультразвуковой датчик HC-SR04 (для специальной скрутки)
- некоторые провода для соединения деталей
- 1x источник питания переменного / постоянного тока 5 В / 2 А
- разъем питания для цоколя лампы для подключения блока питания
- 1x светодиодная лента WS2812b с 30 светодиодами на метр (длина 3 м)
- Дизайнерская лампа
Шаг 2: Электромонтаж
Установка проводки действительно проста: как показано на рисунке, вы должны подключить источник питания к Photon на контактах VIN и GND и с + и - на одном конце первой светодиодной полосы. HC-SR04 подключен двумя довольно длинными проводами к контактам D2 (TRIGGER на HC-SR04) и D3 (ECHO на HC-SR04) Photon. Контакт D4 фотона подключается к DI первой светодиодной ленты.
Шаг 3: сложная часть - соберите части
Светодиодные ленты самоклеящиеся, но я закрепил их дополнительными стяжками (см. Подробные изображения). Чтобы провода были как можно короче, я решил соединить четыре светодиода зигзагообразно - контакт D4 Photon подключен к DI первой полосы, DO первой полосы подключен на верхнем конце трубы к DI. вторая полоса. DO второй полосы соединяется с DI третьей полосы внизу трубы. DO третьей полосы соединяется с DI четвертой полосы в верхней части трубы. Линии VCC и GND каждой полосы подключаются одинаково. Провода для ультразвукового датчика самые длинные и проходят внутри трубы.
Источник питания подключается к розетке, которую я вставляю в отверстие в основании лампы, через которое в исходной версии проходил кабель питания 220 В. Силовые кабели идут от этого разъема к VIN / GND Photon, к VCC / GND светодиодных лент и к ультразвуковому датчику.
Шаг 4: Программные части - прошивка доступна на Github
Прошивка доступна в этом репозитории git на Github:
github.com/happenpappen/PhotonLamp
Если вы используете одни и те же контакты для подключения светодиодной ленты и HC-SR04, единственное, что вам нужно изменить перед компиляцией кода, - это создать файл «MQTT_credentials.h» в подкаталоге «src», который содержит три строки:
#define MQTT_HOST "" #define MQTT_USER "" #define MQTT_PASSWORD ""
Есть несколько хороших руководств по настройке сервера mosquitto, которые вы можете легко найти с помощью своей любимой поисковой системы …
Шаг 5: Прошивка - Как использовать соединение MQTT
Я использую Rasperry Pi 3 с mosquitto (https://www.mosquitto.org) в качестве сервера MQTT, пожалуйста, обратитесь к документации о том, как его настроить. Вы можете подписаться на тему ([id устройства] = ID вашего фотона частицы):
/[идентификатор устройства]/#
чтобы узнать, успешно ли он подключается к серверу и может ли он опубликовать свой статус:
Результат должен выглядеть следующим образом ([идентификатор устройства] = идентификатор фотона частицы):
/ [идентификатор устройства] / состояние / DisplayMode 8
/ [идентификатор устройства] / состояние / Яркость 250 / [идентификатор устройства] / состояние / ForgroundColor 100, 023, 014 / [идентификатор устройства] / состояние / BackgroundColor 034, 006, 034 / [идентификатор устройства] / состояние / MaxDistance 92 / [идентификатор устройства] / состояние / LastDistance 92 / [идентификатор устройства] / состояние / CurrentDistance 92 / [идентификатор устройства] / состояние / FirmwareVersion 0.6.3
Точный результат может зависеть от версии прошивки, которую вы используете.
Но в этом есть больше удовольствия: публикуя на:
/ [идентификатор устройства] / набор / [параметр] [значение]
вы можете изменить отображаемый узор, а также некоторые цвета.
Для изменения цвета отправьте:
/ [идентификатор устройства Фотона частицы] / set / ForgroundColor / [красный], [зеленый], [синий]
/ [идентификатор устройства Фотона частицы] / setBackgroundColor / [красный], [зеленый], [синий]
Для [красный], [зеленый] и [синий] вставьте десятичные значения соответствующего цвета.
Чтобы изменить шаблон отображения, отправьте:
/ [идентификатор устройства для фотона частиц] / set / DisplayMode [значение от 1 до 11]
Текущие реализованные режимы отображения:
- Шум
- РадугаЦикл
- NoisePlusPalette
- Одноцветный
- Сайлон
- Дождь
- Огонь
- Горизонтальное разделение
- Горизонтальный
- VerticalSplit
- Спираль (в разработке)
Некоторые из них взяты из раздела примеров FastLED.
Чтобы изменить яркость, отправьте:
/ [идентификатор устройства] / set / Яркость [значение от 1 до 100]