Как я решил собрать подсветку дивана и что из этого вышло
Кажется когда-то давно я видел картинку с такой идеей. Большая кровать и по ее периметру светится светодиодная лента. Такой ambient light. Вот и захотелось мне сделать что-то такое.
У меня в запасах была лента ws2812b и Arduino Uno и небольшой диван, готовый примерять на себя новую подсветку. + Raspberry Pi которая была уже давно куплена с заделом на будущее, но пока стояла почти без дела.
Главная идея была такая. У переднего краешка дивана наклеена лента. Под диваном к ней подключена arduino. На моем телефоне стоит приложение, которое управляет цветом ленты и ее работой ( его я планировал тоже написать сам ).
Мне представлялось это в виде такого кружочка для выбора цвета на экране телефона. Я по нему тыкаю, а лента меняет цвет. Все счастливы!)
Я решил взяться за этот проект.
Вначале мне сразу пришла такая идея использовать вот такие радио передатчик и приемник для связи Raspberry Pi и Arduino.
Когда я жмакаю на цветовой кружок в приложении, на малинку пойдет сообщение с новым цветом ( через WiFi ), а она уже передаст сообщение на ардуину через радио модуль.
Вроде все просто.
Я попробовал собрать эту схему. Первая проблема обнаружилась в том, что радио приемник никак не хочет ловить сообщение с передатчика. Она решилась подключением пары конденсаторов рядом с приемником. Но, когда я подключал к adruino с приемником еще и светодиодную ленту, все в конец переставало работать. После подключения ленты приемник совсем переставал ловить сигнал. Вернее пока светодиоды были выключены все было хорошо. Но вот чем ярче я их делал, тем хуже принимался сигнал. И вот эта проблема поставила меня в тупик. Я пробовал ставить конденсатор на линию питания ленты, но это не дало результата. Я перечитал пару форумов на эту тему.
Один из них заканчивался сообщением спрашивающего: "Я очень долго пытался заставить это работать. В конце концов забил и перешел на WiFi".
Я решил, что это неплохая идея, потому что и у меня самого 3-й день это дело не работало.
Как раз мне пришли из Китая платы nodemcu с esp8266.
+ Я еще вспомнил, что когда-то слышал про такую штуку как MQTT и решил вспомнить что это.
Оказалось это то что мне нужно.
Новая схемы была такая.
Nodemcu собираем в одну коробочку вместе с arduino и соединяем их по I2C, к ардуино подключаем ленту. Засовываем эту связку под диван)
На малинке запускаем MQTT брокер Mosquitto. Сообщение идет с телефона на брокер.
Nodemcu подписывается на эти сообщения и когда получает такое, то сразу передает его через I2C на ардуину. Ардуина зажигает ленту - я сияю от счастья)
Спойлер: эта схема прижилась.
Ардуина без проблем связалась с Nodemcu через I2C. С запуском MQTT брокера проблем не возникло, как и с подпиской Nodemcu на его сообщения сообщения.
Вот что по итогу получилось:
Питание приходит через microusb с этой стороны:
А тут подключается лента:
Начинка)
А вот само приложение:
И результат:
DIY Цифровое спортивное табло
Всем привет.
Сегодня будет собирать своими руками цифровое спортивное табло.
Поступила как-то мне задача изготовить информационное табло для отображеня результатов игры Дартс.
Естественно первым делом, я пошел в Гугл посмотреть что имеется на рынке. И если в общем случае спортивные табло имеются, к примеру для футбола/хоккея...
то для дартс ничго нет. Ну как нет, какая-то контора предлагает изготовление, но ни фоток готового результата, ни цен - нет.
При игре в 501 игроки используют мобильное приложение для подсчета результата игрока. Коих большое количество. Ну конечно, это же по сути просто калькулятор - его только ленивый не напишет на том же Андроиде. Однако некоторые приложения помимо счета игры имеют на своем борту и ведение статистики по игрокам. Соответственно задача сводилась к тому, чтобы счет игроков отображаемый в приложении продублировать этом спортивном табло.
Мне показали одно из приложений, которым пользуюся игроки. Я обратился к разработчику, в братскую Белоруссию, с вопросом, сможет ли он внедрить в свою программу вывод информации на внешнее устройство через BlueTooth. На что он мне ответил, что он сам только-только учится писать приложения на андроиде, и не хочет заморачиваться.
Ну что делать, придется делать самом.. Всё сам, своими руками (с)
К слову сказать, к программированию на Андроиде я ни разу не приступал.
В голове нарисовалась такая схема.
Имеется телефон/планшет с приложением, имеется табло с микроконтроллером, модулем Блютус, и светодиодными индикаторами.
Первый же вопрос - какие индикаторы использовать? Однозначно высокие (высотой 15 20 см), однозначно светодоидные.
Классисчкие семисегментые?
Нет
Недостатки:
- высокая цена
- неремонтопригодный
- необходима схема управления и питания
- не нашел нужного размера (максимум 5 см)
Наборные из сегментов?
Тоже нет, по тем же причинам кроме второй и последней.
И тут в результате мозгового штурма прилетает идея сделать цифры из светодиодной ленты на ws2812b - "умных" управляемых светодиодах. "Бляяя, точно же!!!", - крикнул я, "Спасибо, Костя." Гениальнее решения и быть не может.
Преимущества данного выбора:
- дешево (на моем варианте вышло 250 руб за цифру высотой 20 сантиметов),
- можно легко заменить вышедший из строя светодиод (это важно при использовании ws2812b),
- управляется всего по одному проводу от микроконтроллера. Не надо городить схему динамический индикации, сдвиговых регисторв, драйвер питания. Лента питается от 5 вольт.
- можно создать цифру любой формы и любого размера.
Ну все, схему утвердил: 1.приложение -> 2.блютус модуль HC-05 -> 3.микроконтроллер (ардуйня, или stm32) -> 4.лента ws2812b
Из этой схемы самым сложным(почти невыполнимым) для меня был первый пункт. Со всем остальным я работаю.
Для создания приложений используется среда Android Studiо, которая на моем старом компе очень тяжело работала. (2 ядра, 2 гига, включается запускается минут 5). Я нашел вариант создания простых приложений в онлайн среде Thunkable, которое позволяет программировать в графической среде "блоками". Там накидал простое приложение, настроил блютус. И отобразил на табло нужную информацию.
В какой то момент времени я понял, что использовать эту онлайн среду - это не правильно, надо всё-таки освоить Android Studio. Купил новый комп, установил запустил Studiо. Начал конечно же с HelloWorld. Пришлось разбираться с разметками, лэйаутами, классами, явами и прочей хернй. Параллельно купил учетку в Гугль Плей заплатив за это 25 долларов.
Ну а дальше дело времени, осваивать Android и писать код.
Вот как это выглядит в среде разработки Android Studio:
Так выглядит процесс разработки для микроконтроллера stm32:
Само табло изготовили из куска ламината, на который наклеил собранные цифры, ардуину и блютус модуль. Спереди закрыли оргстеклом. И отдали в тестовую эксплуатацию.
Сразу же посыпались замечания и новые хотелки (ну это нормально, так как опытный образец). Нужно было добавить счет легов и указатель на текущего игрока, и по возможности, добавить поле для отображения имен игроков. Счет легов и стрелки были добавлены почти сразу же.
А вот для имен игроков пришлось повозиться и параллельно создать сразу второй опытный экземпляр.
Который сейчас вовсю трудится в дартс-клубе маленького закрытого города N (смотри первое фото)
Бюджет поделки:
лента ws2812b 1300 руб : http://али.pub/44gn4r
контроллер stm32 150 руб: http://али.pub/5biyxc
блютус HC-05 200 руб: http://али.pub/5cy1wf
блок питания 5В 250 руб.
ламинат, оргстекло, крепежи, тонировка - из всяких остатков.
ПС. Главный вдохновитель, Заказчик и член Дартс-клуба через пару недель будет защищать честь России на Чемпионате мира по Дартс в Лондоне. Пожелаем ему удачи.
Digital Clock своими руками
Появилась надобность в создании таких часов. Прошуршав интернет, нашел такие, но они были большие. Пришлось чуток поизвращаться для того чтобы светодиодную ленту поместить в нужный мне размер.
В связи карантином, сборка данного девайса затянулась почти на два месяца. Все строй-хозмаги были закрыты (
Забыл упомянуть, скетч и приложение не моё.
Но в планах добавить в конструкцию фотодатчик и аккумулятор, для автономной работы. Ну и переписать приложение.
Собрал гирлянду на адресных светодиодах как у Алекса Гайвера
Приветствую.Ещё в прошлом году увидел видос у Гайвера на канале,где он собирает гирлянду.Решил к 2020-му тоже такую же сделать.Получилось офигенно.
Для тех,кто не в курсе:Алекс Гайвер-чувак на ютубе,который собирает всякие интересные штуки на ардуино.
Несмотря на то,что я физрук по образованию и язык программирования знаю плохо,собрал я всю конструкцию без проблем.На сайте всё подробно описано и повторить проект может любой желающий.
Вот собственно результат.Видео сильно урезано,тк полностью загрузить сюда не получилось.На нём показана только бегущая строка и рисовалка.Помимо этого у гирлянды есть множество красочных эффектов,есть тетрис,а также можно подключить модуль часов и выводить время.
На моё окно ушло 200 светодиодов.
На фото показаны блютуз-модуль,микроконтроллер и блок питания.Вместо Ардуино я использовал WeMos8266.Всё это приобреталось на Али.
Если кому-то интересно,то вот ссылка на сам проект:https://alexgyver.ru/gyvermatrixbt/
Ардуино-вещь интересная и освоить её может абсолютно любой,главное желание.Я пока только начинающий ардуинщик и подобные ребята,как Алекс Гайвер побуждают изучать что-то новое.
В дальнейшем я буду дальше развиваться,учиться и делать разные интересные вещи.
https://www.instagram.com/uladzimir_maroz/ - ссылка на мою инсту.
https://www.youtube.com/channel/UCrg0aoEtRTJBbqLRYyYs6Rw - мой канал.
Уже заезженные часы на Arduino )
Всем привет, это уже давняя тема но ко мне она пришла когда я начал искать большие настенные часы. Часы оказались очень простыми в изготовлении и не требует только желания.
Техническая часть состоит из:
Светодиодная лена ws2812b 1 метр - стоит 2$
Arduino nano - 2$
Часы реального времени - 1$
Корпус я делал из подручных материалов что остались после ремонта
Качаем шрифт LCD Mono и печатаем сегменты, я сделал высоту цифры 18см (размер шрифта где-то 800+)
Лучше переднюю панель делать из ДВП, но провести сутки в обнимку с лобзиком я не хотел, так что выбрал гипсокартон, приклеил сегменты на гипсокартон и вырезал ножом
Заднюю стенку сделал из ДСП, вырезал по размеру гипсокртона и обвел сегменты маркером для приклеивания ленты
Клеем и паяем сегменты согласно данной схеме по ключу
Перед конечной сборкой корпуса нужно проверить ленту что бы все диоды работали (я к примеру не увидел на ленте ключ и приклеил ее вверх ногами ) ) Собираем все по данной схеме, проверить можно примером из библиотеки NeoPixel, или сразу заливать прошивку часов. ссылка на прошивку: в описании видео, так как не уверен что можно оставлять ссылки
Как убедились что все работает, скрепляем обе панели, стягивать саморезами я не тал, так как гипсокартон можно испортить, так что склеил на жидкие гвозди
Для придания внешнего вида обклеил бумагой с глянцевым покрытием, можно просто самоклейкой (я просто расходы свел к нулю) )
Сзади часов пивентил 4 самореза что б часы после крепления на стену стояли ровно (типо ножки)
Вся схема приклеена на термоклей к задней части часов
Питаются часы от зарядки мобильного телефона 5в 2а
Вот и итог, часы получились как по мне не плохие, меняют цвета, показывают температуру, в общем я доволен, и обошлись всего в 5$ если добавить лист фанеры и самоклейку то выйдет примерно еще 5$, хотя кусок фанеры найти бесплатно я думаю не составит труда, в любом случае дешевле чем в магазине и главное очень приятно для души)
Размер часов 25х55см