Привет, MySku!
Я вам не надоел? Ну, тогда продолжим собирать разные глупые и бесполезные устройства!
Если вы читали мой прошлый обзор, то должны были узнать, что я бросил курить, а поскольку полумерами ограничиваться не хочется, то я начал кататься на велосипеде.
Ну, а какой же велосипед без ардуины…
В данной статье я потерплю фиаско, но надеюсь временное, и очень надеюсь на «светлые головы» в комментариях.
Вступление
Достался мне по родственным каналам велосипед. Не новый, но хороший. Нужно поменять шифтеры, купить новые грипсы, и поменять тросик на передний тормоз.
Отказ от курения и велосипед — восхитительно! Но есть у всего этого побочный эффект — хочется всем об этом рассказывать:
«Привет! А я курить бросил! На велосипеде катаюсь!»
«Не надоело сидеть? Лучше пойди на велосипеде прокатись! Как я.»
«Да, я тут спортом занялся...»
Купил приложение на смартфон. пишет маршрут, скорость, расстояние, еще там есть социальная сеть для тренирующихся (пользуясь случаем, хочу выразить ненависть к дополнительным покупкам внутри платного приложения) — круто!
Дополнительная информация
Persistence of vision
И катаясь по утрам в тишине чего то не хватало… Хотелось добавить что-то этакое, чтобы все видели, что я катаюсь. И тут я вспомнил о такой интересной штуке как Persistence of vision дисплее — штука, которая использует недостатки нашего зрения для получения классного эффекта. Если коротко, то это способ отображения информации основанный на инертности восприятия ярких объектов нашим глазом — если вы начнете быстро махать угольком ночью, то вместо яркой точки вы увидите полосу света. Но, что если «угольков» будет несколько и мы будем иметь возможность гасить и зажигать его в определенный момент? А получится вот такая интересная штука
Примеры
И я начал искать информацию. Нашел несколько готовых устройств:
Ну такая продвинутая штука мне не нужна, мне хотелось лишь иметь возможность иногда загружать свои картинки и я начал копать в сторону самодельных утройств.
И старичок гугл привел меня в этот блог к Antonio Ospite
Он собрал устройство для использования со своей камерой для занятия Lightpainting'ом
Одна проблема: устройство и код разработаны именно для светографики, и не имеют механизма синхронизации с частотой вращения колеса, но с этим мы разберемся (почти).
Сборка
Я приступил к сборке устройства.
Само устройство ничего сложного из себя не представляет вообще:
Arduino Nano
Лента на WS2812B
Датчик, который отмечает один оборот колеса
Для питания я временно использовал powerbank, но в дальнейшем планирую использовать батарею 18650 и dc-dc преобразователь.
С первыми двумя все понятно, а вот с датчиком пришлось покопаться. В закромах был найден датчик положения с пневмоцилиндра Hoerbiger KL3313. Такие датчики реагируют на магнит и бывают либо обычным герконом (механический контактик в стеклянной колбе), либо датчиком Холла (полностью электронным устройством). Даташит мне найти не удалось и я надеялся, что мой то датчик точно из второй категории, но я ошибся и именно это послужит причиной моего провала в дальнейшем.
А вот и датчик
И магнитик для него
Датчик прекрасно работал от 5в. При срабатывании открывался и на сигнальный пин поступало напряжение
Для его использования нужно было добавить резистор подтяжки на ардуинку. Что я и сделал
В целом первый прототип выглядел вот так
Все это очень грубо было смонтировано на колесе.
Датчик был установлен на небольшой кусочек какого то пенного материала из коробки с планшетом. Напротив него на хомутике был прицеплен магнит
Повербанк завернул в изоляционный материал и закреплен пластиковыми хомутиками. Ардуинку завернул в пакетик. Советую не повторять за мной, ибо после нескольких оборотов при испытаниях мою ардуинку замотало на цепь :-) Ох, уж эта моя лень! Но, слава богу, она выжила.
Последствия
Софт
Приступил к софту.
Как я уже упоминал я использовал софт и скетч товарища Antonio Ospite. Он написал библиотеку на основе похожего проекта от BlinkyLabs, скетч и графический редактор PiPoPaint для редактирования паттернов. Скачать их вы можете у него в блоге.
Принцип работы его скетча такой:
Для начала в редакторе генерируется код наших картинок. Картинка представляется в виде последовательности цветных полос (кадров)
Эти данные записываются в память ардуины. По нажатию кнопки эти кадры начинают отправляться на ленту с опредленной задержкой, которая заранее указана в скетче, и автор выставлял ее в зависимости от выдержки на камере, с которой он снимал свои работы.
Нам необходимо было добавить замер частоты, с которой крутиться наше колесо. Я планировал использовать свой датчик для фиксирования одного оборота, т.е. мне нужно было замерять время, за которое колесо делает один оборот. Наткнулся на крошечную библиотеку FreqPeriodCounterwww.avdweb.nl/arduino/hardware-interfacing/frequency-period-counter.html
Библиотека позволяет измерить время между импульсами (в моем случае между срабатываниями датчика) в микросекундах и миллисекундах.
Добавил данный замер в скетч. Получив время, ардуина делит полученное на количество кадров и получает задержку между их выводом на ленту. Также добавил сброс анимации при каждом срабатывании датчика, чтобы наша картинка не крутилась как сумашедшая, а находилась в одном положении при каждом обороте колеса. В итоге получился вот такой скетч
Залив скетч и тестовую картинку на ардуинку, покрутил колесо и понял, что нифига не видно. Расстояние между пикселями слишком большое и нужно модифицировать ленту.
Модификация ленты
Поскольку возиться с демонтажом и пайкой диодов совсем не хотелось, я придумал выход
Я решил просто сложить ленту «гармошкой» вот так
Чтобы зафиксировать ее в этом состоянии и заодно защитить от внешних воздействий я решил сделать для нее корпус. Дйствуя по принипу «Все гениальное — просто!», взял кусок силиконового прозрачного шланга
Pазрезал его вдоль и запихнул ленту внутрь
Сзади и с торцов решил залить все термоклеем
Получилась гибкая и довольно прочная конструкция. То, что нужно!
Повторные испытания
Смонтировал новый «светодиодные элемент» на колесо и начал испытания.
Очень трудно было запечатлеть картинку, пришлось снимать через две линзы от солнцезащитных очков.
Да уж, очевидно, что где-то я допустил ошибку, и пятиконечная звезда то предстает трехконечной, то четырех. Подозреваю, что в этом виноват мой датчик. Прав ли я? Или это ардуина не справляется с формированием изображения вовремя?
Решил заказать на али датчик холла на замену моему геркону, чтобы исключить влияние датчика, но китайский новый год немного задержит мой прогресс.
А пока же я решил еще немного поиграться с получившийся конструкцией например так (видео плохо передает реальное изображение, на самом деле оно не такое дерганное.
И пока датчик будет добираться ко мне из поднебесной, я решил покататься с паттернами, которые не будут разваливаться и сильно страдать от неправильного формирования например разного рода цветовыми узорами
Я точно не собираюсь останавливаться на этом, очень хочется добиться стабильной картинки в будущем, надеюсь, что замена датчика решит проблему. Также я планирую добавить возможность записи нескольких изображений в память ардуины и их смене через определенные промежутки времени.
Вообщем есть куда расти.
Спасибо, что прочитали сегодня мою очередную писанину.
Искренне ваш P43YM
P.S. Надеюсь на советы и критику по устройству в комментариях.
Планирую купить+63Добавить в избранноеОбзор понравился+133
+238
Балин, мегакруто, надо на машину запилить )
Изображение может распадаться, конечно, из-за инерционности геркона, и датчик холла немного уменьшит лаг, но, сдается мне, все дело в невысокой частоте вращения лисапедного колеса, в манкилайте, как я заметил, вообще 4 полоски, они этим и нивелируют низкую скорость, попробуйте добавить хотя бы одну полоску(хотя, наверное, библиотека не позволит (( )
еще из извращенских вариантов — можно попробовать сделать на акселерометре, магнитов не надо, знай замеряй себе время, когда ускорение по Z оси меняет знак и умножай на 2
вообще, надо добавить модуль бт/вифи и закидывать картинки прям со смарта например )
И да на велосипеде аналогичные устройства ставят по 4 штуки обычно. Я думал о добавлении еще нескольких лент. Если библиотека не позволит, то можно и вместе с еще одной ардуинкой, цена на нее совсем небольшая.
Ошибки:
— На герконе сделать не удастся, т.к. необходимо убирать дребезг контактов, да и точность синхронизации будет невысокой из-за гуляющего времени срабатывания. Решение — использовать индуктивные электронные датчики
— Синхронизация по сигналу единственного оборота приведёт к плаванию изображения при изменении скорости. Решение — использовать синхронизацию по нескольким импульсам за оборот. На рекламном видео видно, что и там синхронизация не идеальна
Самое простое — ставьте 2 таких датчика. Один будет синхро — должен срабатывать 1 раз на каждый оборот, второй будет тактовым и срабатывать например 16 раз за оборот. Всего 2 датчика и 16 магнитиков. Можно обойтись и одним датчиком, но алгоритм работы усложнится
Трудновато будет разместить магниты для тактового датчика, хотя пока писал комментарий в голове родилась идея небольшого диска с магнитами по окружности, который можно установить на раме.
Делал на герконе, всё работает отлично и стабильно. Синхронизация также по предыдущему одному обороту и нет никаких растягиваний. Сам даже не ожидал такого результата, т.к. собрал чисто поиграться на AtTiny2313 и прошивку насочинял сам. Ардуино с готовыми библиотеками как-то неспортивно.
"+ " и «этапять» однозначно.
По делу — WS2812 работают на высокой частоте передачи данных, так что дуйня еле справляется по скорости. Но на таком коротком отрезке ленты, думаю, затыков со скоростью не должно возникать. Если диодов дофига, больше 100, тогда тормоза видны.
Бегло глянул скетч. Мне видятся две проблемы.
Первая — «if (freqPin == HIGH)». Проверка происходит один раз в кадр. Если длительность импульса меньше длительности кадра — могут быть пропуски. На расчёт частоты не влияет, только на сброс анимации. Хз, насколько критично.
Второе — «delay(frame_delay_usecs);». Задержка равна длительности кадра. Это неправильно, так как отрисовка кадра сама по себе отнимает время. Надо как-то так: запомнить время в миллисекундах, отрисовать кадр, ждать пока время не станет равно запомненному времени плюс время кадра, типа while (millis() < frame_start_time + frame_delay_usecs) { }; А заодно в тело можно добавить опрос пина синхронизации.
Да, я видимо слишком упростил оригинальный скетч, там учитывалось время на отрисовку
#include <FastLED.h>
#include <FastLED_animation.h>
#include "BareButton.h"
//#include "animations/Adafruit.h"
//#include "animations/Debian.h"
//#include "animations/Firefox.h"
#include "animations/JMPrope.h"
//#include "animations/Openhardware.h"
//#include "animations/Opensource.h"
//#include "animations/S.S.C.Napoli.h"
//#include "animations/ao2.h"
//#include "animations/ao2it.h"
#define DATA_PIN 0
#define INPUT_PIN 2
/* This is the same exposure time to set up on the camera */
#define EXPOSURE_TIME_MSEC 500UL
static struct CRGB leds[NUM_LEDS];
static BareButton button = BareButton(INPUT_PIN);
static unsigned long frame_delay_usecs = EXPOSURE_TIME_MSEC * 1000UL / NUM_FRAMES;
void setup()
{
LEDS.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
}
void loop()
{
unsigned long remaining;
unsigned long elapsed = 0;
if (button.isPressed()) {
unsigned long t0 = micros();
animation.draw(leds);
elapsed = micros() - t0;
} else {
for (int i = 0; i < NUM_LEDS; i++)
leds[i] = CRGB(0, 0, 0);
LEDS.show();
animation.reset();
}
remaining = frame_delay_usecs - elapsed;
#if 0
/* use leds to show how many _milliseconds_ we will have to wait to
* achieve a constant framerate */
for (unsigned int i = 0; i < NUM_LEDS; i++)
leds[i] = CRGB(0, 0, 0);
for (unsigned int i = 0; i < remaining / 1000; i++)
leds[i] = CRGB(255, 0, 0);
LEDS.show();
delay(100);
#else
delayMicroseconds(remaining);
#endif
}
Он и не пересчитывается, там постоянная задержка. Автор использовал его для съемки светографики и задержку задавал руками в зависимости от выдержки на камере.
А, этот скетч вообще не учитывает скорость вращения. Тогда тут важно не пропускать синхронизацию. Я бы проверил, точно ли проверка успевает попадать на него на каждом обороте. Иначе animation.reset() не выполняется и анимация уходит на следующий оборот со сбитым положением. Как вариант, выводить только один раз картинку после каждого импульса. Сейчас она, как я понял, зациклена и повторяется, даже если нет синхросигнала.
Очень мало синхроимпульсов на 1 оборот колеса. Возможно имеет смысл поставить пару светодиод и фотодиод и ловить отражения от спиц если поодну сторону их расположть или на прерывания, если через колесо напротив друг друга.
И, пожалуй, третья. Рассчет задержки идёт в миллисекундах. При хорошей скорости вращения колеса, скажем 10 оборотов в минуту, получаем всего 100 миллисекунд на оборот. А изображение из скольки кадров состоит? Судя по рисункам, чуть ли не из ста. Итого, когда делим 100 на 100 нацело, получаем ровно никакую точность задержки, 0 или 1 миллисекунду.
Идея занятная, но если отвлечься от нюансов программно-аппаратной реализации, в обзоре не хватает фото смонтированной на колесе светодиодной линейки, веса всего комплекта, а также потребляемого тока.
Насколько понимаю, как близко к ступице ни крепи источник питания с контроллером, а все равно будут вносить своим весом существенный и весьма обременительный дисбаланс при движении, который придётся компенсировать грузиками, ещё больше утяжеляющими колесо.
Основная конструкция практически невесомая, а повербанк, который я использовал для тестов тяжеловат, но его я заменю на 1 аккумулятор 18650. Лента потребляет при свечении белым и максимальной яркости 30*61ma=1,83A, но в большинстве случаев она потребляет меньше.
Тема интересная, тоже валяется кучка ардуинок pro mini (купил лот из 10 шт часть использовал остальные не знаю куда воткнуть) может запилю дочке на вел такой тюнинг ))
Насчет 18650 я бы все-таки использовал их 2 шт для симметрии и собрал простенький кронштейн на втулку колеса.
Вот типа такого:
на оси втулка из резины и каждый акб тоже в мягкий резиновый шланг, и стяжками к кронштейну.
так будет понадежнее в плане демпфирования ударов, и плюс балансировка за счет симметрии.
Как-то так…
решение со щетками безусловно имеет множество плюсов, но есть и один минус, влага и пыль будет нехило «съедать» щетки. А вода хоть и не часто но будет «коротить» акб. А это не очень полезно. В остальном я только за, даже думал от чего их можно прикрутить. Контакты от руля могли бы неплохо там прописаться
Очень серьёзная проблема при изготовлении подобных устройств — ударная стойкость и вибростойкость. Игнорирование этих условий быстро выводит аппаратуру из строя
А еще говорят, что MySKU не Хабр и тут самоделки не к месту… Вон сколько народу дает полезные советы по устройству в 2 часа ночи в воскресенье( уже понедельник). Спасибо.
я тоже монитор хочу сделать )) но цена ленты что то не радует…
на хабре наверно больше года назад читал про монитор.
вторая да, глянул — вроде 30 картинок… мечалька.
Ну можете еще мою статейку по подсветке посмотреть mysku.club/blog/aliexpress/28820.html
Покупал еще по старому курсу, сейчас бы наверно жаба задушила покупать.
А эта поделка на самом деле простая очень, ардуина+датчик+лента и пара проводков. Основная проблема в скетче, но ее я надеюсь решить, потом обновлю эту статью.
а не вкурсе чем отличается ws2812B от ws2812?
в нете ничего не нашел, а на али кто то пишет
Also, the picture indicates a 2812 (6 pin ic) but the delivered product was a 2812B (4 pin ic). I realized the 2812B is supposed to be an improvement, but I wanted to match this order with a previous order.
судя по даташитам ( а в них я как рыба в кляре ) то там разводка другая ( ну или картинки по разному нарисованы )
на хабре я читал сначала эту habrahabr.ru/post/168657/
а потом эту habrahabr.ru/post/200200/
можно кстати попробовать раздербанить и собрать одну большую из ru.aliexpress.com/item/New-14-LED-Motorcycle-Cycling-Bicycle-Bike-Wheel-Signal-Tire-Spoke-Light-30-Changes-Jecksion/2026925042.html?recommendVersion=1
Можно просто поставить несколько на разном расстоянии от оси — они могут формировать картинку совместно (каждый свою часть). Остается только перепрограммировать их. Навскидку, выламываем микросхему и ставим что-нибудь из ардуино.
забавно, почему же он пишет тогда
Количество светодиодов / M---120 шт/м
Спецификации (светлые шарики/m)---144
US $29.99 / Метр
где то прод хитрит или продаёт чуть больше метра…
Внесу свои 5 копеек. Зачем Вы огород городите? Обычно все эти украшательства приятно видеть когда велосипедист едет, а не вяло плетется. Сделайте всего 3 режима с +- 2 км/ч. То есть эта штука включится на скорости 20 км в час +-, и мало того — вы примерно будете знать скорость, а что самое главное в велопоездке — держать темп. Вы идете к цели програмно, я предлагаю просто держать темп, при котором она (система)будет включаться. имхо.
надо две (180) или три ленты ленты под углом 120гр ставить на колесо. картинка будет четче на меньшей скорости. а для одной ленты скорость нужна высокая.
Геркон имеет два контакта (ну если только это не переключающий геркон), а датчик холла — три или четыре. Геркон в данном решении неприменим из-за механической инертности.
Датчик холла заказывать из китая — это точно болезнь-шопоголизм :)
Зайдите в любой автомагазин и спросите этот датчик. Он ставится в ВАЗы начиная с 2107 (или даже с 2105), не является дефицитом и стоит рублей 200. Из проблем может оказаться только напрядение питания. Но, думаю, это решаемо (если вообще окажется проблемой).
В свое время, в детстве, когда паяли синклеры, наковырял себе датчиков от старых советских калькуляторов (типа таких: www.porjati.ru/uploads/posts/2009-07/thumbs/1248672385_17.jpg ), получались отличные клавиатуры! Но, боюсь, данный вариант уже малореален :(
Ну и самый очевидный вариант — ближайший радиомагазин. В яндексе на запрос «датчик холла 5в купить» выходит куча информации (в том числе и то, что некоторые автомобильные датчики питаются от 5В)
Забавляют некоторые характеристики товара :)
Производитель: yx
Использование: Датчик Ray
Теория: Оптический датчик
Тип: Датчик влажности
Индивидуального изготовления: Да
Характеристики электронных компонентов ищут в документации (продавец сам часто не разбирается в том, что продает); на тот, который по ссылке, нашлись в «A3141-2-3-4 Datasheet — Allegro MicroSystems, Inc» параметры Output Rise Time и Output Fall Time — не более 2 мкс. Так что быстродействия хватает.
)))) ещё у буржуев видел «бусины» на спицах, когда у остальных была проволока цветная намотана.
А помню когда брат в деревне раздербанил дорожный знак и дал нам самоклейку отражающую… это был просто шик )
Ардуинка лишь средство для достижения цели, а саму цель вы сами себе найдите. Применений много, но не обо всех пишут, и не все люди читают. Я видел в интернете множество примеров применения ардуины для более серьезных задач: домашняя автоматизация, инкубаторы, хоббийные станки с чпу, есть даже случаи использования контроллера для модификации большого промышленного оборудования.
Сейчас у меня есть идея гораздо более утилитарной поделки, и если все пойдет хорошо, то я напишу статейку о ней тут на mysku.
Это вероятно потому, что всё, что может быть реально полезно широким массам в быту, уже клепается китайцами миллионными тиражами и повторять просто нет смысла. Типа термометров и часов. Остаётся только специфическое, либо ради самого процесса.
18650 на спицы?? а дисбаланса колеса не чувствуете на скорости? люди катафоты снимают чтобы на большой скорости отбалансированное колесо шло гладко, а тут…
@P43YM, it's ao2 here from a shared account, I like your hack to increase the pixel density of the led strip.
Get in touch, I have plans for the JMPrope v2 which could also improve the «actual» POV use case. The original JMPrope was more for light painting indeed.
Это какой-то новый вид троллинга? Аккаунт с автоопределением страны как UA, и двумя постами: один на русском, а второй вот… В интернете нельзя доверять никому, прости.
а как насчет использовать 4 полоски RGB как в видео про Monkey Light Pro?
можно использовать по одной ардуинке на каждую полоску.
Даешь функционал как у Monkey Light Pro!
Привет, чувак) я такую штуку себе покупал на оба колеса:
ru.aliexpress.com/item/Outdoor-sports-game-bike-bicycle-cycle-wheel-light-programmable-led-light-insteresting-flash-screen-picture-words/1840752353.html
до 20 картинок можно поставить любых)
в ощем, чувак, ты в статье описал датчик «механический контактик в стеклянной колбе» так вот… в этой штук китайской такие датчики стоят… на одной такой штук у меня «полетел» такой датчик… он начал глючить и плохо стал срабатывать… так шарик внутри колбы замыкает контакты… но этот шарик стал «залипать» почему-то в другой стороны от контактов… он как будто туда приклеиваетсо… может колба лопнула я хз… в ощем мне бы по хорошему поменять этот датчик, не знаешь можно ли на али заказать подобный датчик??? край как нужен этот датчик… ибо один глючит( он работает… но только тогда когда идет «тряска» т.е чтоб этот шарик после тряски упал на эти контакты… а другой срабатывает чуть ли не от малейшего задевания… а у второго походу что-то случилось с этим датчиком раз он стал так плохо работать… не знаешь возможно ли заказать такой датчик на али?
кстати, купи такую штуку за эти 700-800 рублей) штука прикольная, я брал ещё до курса за 500-600 рублей, щас ещё цены хоть опустились чутка ещё в недавнем времени они стоили больше 1к эти штуки… pp.vk.me/c618926/v618926992/18949/32e7amHACds.jpg пример небольшой)
датчик такой нужен( блин блинский( а то совсем плохо стало работать( одна норм а другая абы как срабатывает(
Автор, немогу собрать воедино скетч.То на фастлед ругается, то на компиляцию, то ардуина сигнал с пина невидит.
Нельзя ли архивом скетч с библиотеками заполучить? Мой конфиг — Ардуина Нано, датчик холла,2 линейки по 17 диодов (на каждую сторону).
Привет, к сожалению два дня назад у меня сдох жесткий диск. Боюсь, что не смогу вам помочь.Я не писал данный обзор как пошаговое руководство. Мой скетч был практически полностью неработоспообным, вам следует взять исходный код от Антонио и немного его изменить, чтобы при поступлении сигнала с датчика анимация начинала играть сначала, если уж пошли путем diy.
Тогда еще один глупый вопрос — как заставить питон работать с кодом рисовалки?
Свежескачанный питон выдает какую-то глупость при попытке открыть py файл.
Спасибо.
Изображение может распадаться, конечно, из-за инерционности геркона, и датчик холла немного уменьшит лаг, но, сдается мне, все дело в невысокой частоте вращения лисапедного колеса, в манкилайте, как я заметил, вообще 4 полоски, они этим и нивелируют низкую скорость, попробуйте добавить хотя бы одну полоску(хотя, наверное, библиотека не позволит (( )
еще из извращенских вариантов — можно попробовать сделать на акселерометре, магнитов не надо, знай замеряй себе время, когда ускорение по Z оси меняет знак и умножай на 2
вообще, надо добавить модуль бт/вифи и закидывать картинки прям со смарта например )
— На герконе сделать не удастся, т.к. необходимо убирать дребезг контактов, да и точность синхронизации будет невысокой из-за гуляющего времени срабатывания. Решение — использовать индуктивные электронные датчики
— Синхронизация по сигналу единственного оборота приведёт к плаванию изображения при изменении скорости. Решение — использовать синхронизацию по нескольким импульсам за оборот. На рекламном видео видно, что и там синхронизация не идеальна
Можно еще датчиков добавить, или вообще мудрить с акселерометром. Пока думаю дождаться датчик холла и провести с ним испытания.
Уходите от герконов смело.
В MonkeyLight еще гироскоп используют.
О! спицы и датчик холла! по типу абс в авто
а, не непойдет, я конструкцию неправильно себе представил :(
Боюсь на разработку «с нуля» мне не хватит времени и знаний, хотя очень бы хотелось их иметь.
А вот это интересно… мой геркончик работает очень хреново, и я уже все равно заказал новые датчики, посмотрим как поведет себя устройство с ними…
По делу — WS2812 работают на высокой частоте передачи данных, так что дуйня еле справляется по скорости. Но на таком коротком отрезке ленты, думаю, затыков со скоростью не должно возникать. Если диодов дофига, больше 100, тогда тормоза видны.
Пара фоток с тех времен.
Диаметр 2 метра.
Первая — «if (freqPin == HIGH)». Проверка происходит один раз в кадр. Если длительность импульса меньше длительности кадра — могут быть пропуски. На расчёт частоты не влияет, только на сброс анимации. Хз, насколько критично.
Второе — «delay(frame_delay_usecs);». Задержка равна длительности кадра. Это неправильно, так как отрисовка кадра сама по себе отнимает время. Надо как-то так: запомнить время в миллисекундах, отрисовать кадр, ждать пока время не станет равно запомненному времени плюс время кадра, типа while (millis() < frame_start_time + frame_delay_usecs) { }; А заодно в тело можно добавить опрос пина синхронизации.
Надо будет переписать
Но в этом скетче в упор не вижу, где пересчитывается frame_delay_usecs.
Насколько понимаю, как близко к ступице ни крепи источник питания с контроллером, а все равно будут вносить своим весом существенный и весьма обременительный дисбаланс при движении, который придётся компенсировать грузиками, ещё больше утяжеляющими колесо.
Основная конструкция практически невесомая, а повербанк, который я использовал для тестов тяжеловат, но его я заменю на 1 аккумулятор 18650. Лента потребляет при свечении белым и максимальной яркости 30*61ma=1,83A, но в большинстве случаев она потребляет меньше.
Насчет 18650 я бы все-таки использовал их 2 шт для симметрии и собрал простенький кронштейн на втулку колеса.
Вот типа такого:
на оси втулка из резины и каждый акб тоже в мягкий резиновый шланг, и стяжками к кронштейну.
так будет понадежнее в плане демпфирования ударов, и плюс балансировка за счет симметрии.
Как-то так…
подскажите где брали ленту с чипами?
я так понимаю получилось аналог вот этой штуки https://aliexpress.com/item/item/RGB-Emitting-Bicycle-Wheel-Lights-128-LEDs-ABS-LED-Bike-Lights-with-Download-Cable-Unique-Outlook/32283293990.html
вот одноцветная версия ( возможно есть контакты под больше диодов, на самой плате ) https://aliexpress.com/item/store/product/New-PC-Programmable-Wireless-LED-Custom-Message-Bike-Cycle-Motor-Wheel-Lights/1160058_1886005144.html цена 1500
можно кстати попробовать раздербанить и собрать одну большую из https://aliexpress.com/item/item/New-14-LED-Motorcycle-Cycling-Bicycle-Bike-Wheel-Signal-Tire-Spoke-Light-30-Changes-Jecksion/2026925042.html
цена то всего 250р
Еще для подсветки монитора, но осталось много от 4 метров.
Да аналог той штуки, но она дорогая. А вторая не программируется, там предустановленный набор картинок.
на хабре наверно больше года назад читал про монитор.
вторая да, глянул — вроде 30 картинок… мечалька.
Покупал еще по старому курсу, сейчас бы наверно жаба задушила покупать.
А эта поделка на самом деле простая очень, ардуина+датчик+лента и пара проводков. Основная проблема в скетче, но ее я надеюсь решить, потом обновлю эту статью.
в нете ничего не нашел, а на али кто то пишет
Also, the picture indicates a 2812 (6 pin ic) but the delivered product was a 2812B (4 pin ic). I realized the 2812B is supposed to be an improvement, but I wanted to match this order with a previous order.
судя по даташитам ( а в них я как рыба в кляре ) то там разводка другая ( ну или картинки по разному нарисованы )
на хабре я читал сначала эту habrahabr.ru/post/168657/
а потом эту habrahabr.ru/post/200200/
он пишет, что
Есть, например, такая лента.
https://aliexpress.com/item/store/product/WS2812-WS2811-144-Pixels-Programmable-SMD-5050-Full-Color-Strip-5v-Digital-WS2812B-Strip-Lights-White/1231817_32238595118.html
а цена конечно жесть ) 2 рубля за метр…
киллограма диетического легкусваиваемого мясасветодиодаИтого примерно $0.20 за светодиод, не так уж дорого.
Количество светодиодов / M---120 шт/м
Спецификации (светлые шарики/m)---144
US $29.99 / Метр
где то прод хитрит или продаёт чуть больше метра…
В фильме Крамаров что то подобное делал — смотрелось органичнее)))
Датчик холла заказывать из китая — это точно болезнь-шопоголизм :)
Зайдите в любой автомагазин и спросите этот датчик. Он ставится в ВАЗы начиная с 2107 (или даже с 2105), не является дефицитом и стоит рублей 200. Из проблем может оказаться только напрядение питания. Но, думаю, это решаемо (если вообще окажется проблемой).
В свое время, в детстве, когда паяли синклеры, наковырял себе датчиков от старых советских калькуляторов (типа таких: www.porjati.ru/uploads/posts/2009-07/thumbs/1248672385_17.jpg ), получались отличные клавиатуры! Но, боюсь, данный вариант уже малореален :(
Ну и самый очевидный вариант — ближайший радиомагазин. В яндексе на запрос «датчик холла 5в купить» выходит куча информации (в том числе и то, что некоторые автомобильные датчики питаются от 5В)
Производитель: yx
Использование: Датчик Ray
Теория: Оптический датчик
Тип: Датчик влажности
Индивидуального изготовления: Да
Самого главного параметра нет — быстродействие
А помню когда брат в деревне раздербанил дорожный знак и дал нам самоклейку отражающую… это был просто шик )
Но проволока — это же классика ) От телефонных многожильных проводов, было дело )
Сейчас у меня есть идея гораздо более утилитарной поделки, и если все пойдет хорошо, то я напишу статейку о ней тут на mysku.
Get in touch, I have plans for the JMPrope v2 which could also improve the «actual» POV use case. The original JMPrope was more for light painting indeed.
Thx Antonio! I'll let you know when I get a new sensors.
можно использовать по одной ардуинке на каждую полоску.
Даешь функционал как у Monkey Light Pro!
ru.aliexpress.com/item/Outdoor-sports-game-bike-bicycle-cycle-wheel-light-programmable-led-light-insteresting-flash-screen-picture-words/1840752353.html
до 20 картинок можно поставить любых)
в ощем, чувак, ты в статье описал датчик «механический контактик в стеклянной колбе» так вот… в этой штук китайской такие датчики стоят… на одной такой штук у меня «полетел» такой датчик… он начал глючить и плохо стал срабатывать… так шарик внутри колбы замыкает контакты… но этот шарик стал «залипать» почему-то в другой стороны от контактов… он как будто туда приклеиваетсо… может колба лопнула я хз… в ощем мне бы по хорошему поменять этот датчик, не знаешь можно ли на али заказать подобный датчик??? край как нужен этот датчик… ибо один глючит( он работает… но только тогда когда идет «тряска» т.е чтоб этот шарик после тряски упал на эти контакты… а другой срабатывает чуть ли не от малейшего задевания… а у второго походу что-то случилось с этим датчиком раз он стал так плохо работать… не знаешь возможно ли заказать такой датчик на али?
кстати, купи такую штуку за эти 700-800 рублей) штука прикольная, я брал ещё до курса за 500-600 рублей, щас ещё цены хоть опустились чутка ещё в недавнем времени они стоили больше 1к эти штуки…
pp.vk.me/c618926/v618926992/18949/32e7amHACds.jpg пример небольшой)
датчик такой нужен( блин блинский( а то совсем плохо стало работать( одна норм а другая абы как срабатывает(
Нельзя ли архивом скетч с библиотеками заполучить? Мой конфиг — Ардуина Нано, датчик холла,2 линейки по 17 диодов (на каждую сторону).
Свежескачанный питон выдает какую-то глупость при попытке открыть py файл.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.