Авторизация
Регистрация

Напомнить пароль

avatar
RSS блога Подписка

"Безумные эксперименты" выпуск 2 "Спортивный" или обзор Ардуино нано

Привет, MySku!
Я вам не надоел? Ну, тогда продолжим собирать разные глупые и бесполезные устройства!

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

Ну, а какой же велосипед без ардуины…


В данной статье я потерплю фиаско, но надеюсь временное, и очень надеюсь на «светлые головы» в комментариях.

Вступление


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

Отказ от курения и велосипед — восхитительно! Но есть у всего этого побочный эффект — хочется всем об этом рассказывать:
«Привет! А я курить бросил! На велосипеде катаюсь!»
«Не надоело сидеть? Лучше пойди на велосипеде прокатись! Как я.»
«Да, я тут спортом занялся...»

Купил приложение на смартфон. пишет маршрут, скорость, расстояние, еще там есть социальная сеть для тренирующихся (пользуясь случаем, хочу выразить ненависть к дополнительным покупкам внутри платного приложения) — круто!

Дополнительная информация


Persistence of vision


И катаясь по утрам в тишине чего то не хватало… Хотелось добавить что-то этакое, чтобы все видели, что я катаюсь. И тут я вспомнил о такой интересной штуке как Persistence of vision дисплее — штука, которая использует недостатки нашего зрения для получения классного эффекта. Если коротко, то это способ отображения информации основанный на инертности восприятия ярких объектов нашим глазом — если вы начнете быстро махать угольком ночью, то вместо яркой точки вы увидите полосу света. Но, что если «угольков» будет несколько и мы будем иметь возможность гасить и зажигать его в определенный момент? А получится вот такая интересная штука

Примеры




И я начал искать информацию. Нашел несколько готовых устройств:

Сначала китайский

https://aliexpress.com/item/item/Free-shipping-Colorful-Rainbow-32-LED-Wheel-Signal-Lights-for-Bikes-Bicycles-Fixed-on-Cycle-Spoke/1009184292.html

Но он меня не впечатлил.

Еще нашел SpokePOV

А затем я увиделMonkeyLight Pro


Вау! Беру! Сколько стоит?



А не пойти бы вам н:*(%(*(%?*(

Начало


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

И старичок гугл привел меня в этот блог к Antonio Ospite

ao2.it/en/blog/2014/04/16/jmp-rope-programmable-jump-rope

Он собрал устройство для использования со своей камерой для занятия Lightpainting'ом

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

Сборка


Я приступил к сборке устройства.

Само устройство ничего сложного из себя не представляет вообще:

Arduino Nano
Лента на WS2812B
Датчик, который отмечает один оборот колеса
Для питания я временно использовал powerbank, но в дальнейшем планирую использовать батарею 18650 и dc-dc преобразователь.


С первыми двумя все понятно, а вот с датчиком пришлось покопаться. В закромах был найден датчик положения с пневмоцилиндра Hoerbiger KL3313. Такие датчики реагируют на магнит и бывают либо обычным герконом (механический контактик в стеклянной колбе), либо датчиком Холла (полностью электронным устройством). Даташит мне найти не удалось и я надеялся, что мой то датчик точно из второй категории, но я ошибся и именно это послужит причиной моего провала в дальнейшем.

А вот и датчик



И магнитик для него



Датчик прекрасно работал от 5в. При срабатывании открывался и на сигнальный пин поступало напряжение

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



В целом первый прототип выглядел вот так



Все это очень грубо было смонтировано на колесе.

Датчик был установлен на небольшой кусочек какого то пенного материала из коробки с планшетом. Напротив него на хомутике был прицеплен магнит



Повербанк завернул в изоляционный материал и закреплен пластиковыми хомутиками. Ардуинку завернул в пакетик. Советую не повторять за мной, ибо после нескольких оборотов при испытаниях мою ардуинку замотало на цепь :-) Ох, уж эта моя лень! Но, слава богу, она выжила.

Последствия


Софт


Приступил к софту.

Как я уже упоминал я использовал софт и скетч товарища Antonio Ospite. Он написал библиотеку на основе похожего проекта от BlinkyLabs, скетч и графический редактор PiPoPaint для редактирования паттернов. Скачать их вы можете у него в блоге.



Принцип работы его скетча такой:
Для начала в редакторе генерируется код наших картинок. Картинка представляется в виде последовательности цветных полос (кадров)



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

Нам необходимо было добавить замер частоты, с которой крутиться наше колесо. Я планировал использовать свой датчик для фиксирования одного оборота, т.е. мне нужно было замерять время, за которое колесо делает один оборот. Наткнулся на крошечную библиотеку FreqPeriodCounter www.avdweb.nl/arduino/hardware-interfacing/frequency-period-counter.html

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

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

Дополнительная информация
#include <FastLED.h>
#include <FastLED_animation.h>
#include "BareButton.h"
#include "animation.h"
#include <Streaming.h>
#include <FreqPeriodCounter.h>

#define debounceTime_ms 0
#define DATA_PIN 6
#define INPUT_PIN 12

const byte freqPin = 3;
static struct CRGB leds[NUM_LEDS];
static BareButton button = BareButton(INPUT_PIN);
static unsigned long frame_delay_usecs = 65000;
uint16_t frameIndex;

FreqPeriodCounter freqPeriodCounter(freqPin, millis, debounceTime_ms);

void setup()
{
  FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
  pinMode(freqPin, INPUT);
}

void loop()
{

  freqPeriodCounter.poll();
  frame_delay_usecs = freqPeriodCounter.pulseWidthLow / NUM_FRAMES;
  
    if (freqPin == HIGH) {     

    animation.reset();


  }  
  
    if (button.isPressed()) {
      animation.draw(leds);
    } 
    else {
      for (int i = 0; i < NUM_LEDS; i++)
        leds[i] = CRGB(0, 0, 0);
      FastLED.show();
      animation.reset();
    }


    delay(frame_delay_usecs);

}


Первые испытания


Залив скетч и тестовую картинку на ардуинку, покрутил колесо и понял, что нифига не видно. Расстояние между пикселями слишком большое и нужно модифицировать ленту.

Модификация ленты


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

Я решил просто сложить ленту «гармошкой» вот так



Чтобы зафиксировать ее в этом состоянии и заодно защитить от внешних воздействий я решил сделать для нее корпус. Дйствуя по принипу «Все гениальное — просто!», взял кусок силиконового прозрачного шланга



Pазрезал его вдоль и запихнул ленту внутрь





Сзади и с торцов решил залить все термоклеем







Получилась гибкая и довольно прочная конструкция. То, что нужно!



Повторные испытания


Смонтировал новый «светодиодные элемент» на колесо и начал испытания.



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

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

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

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





И пока датчик будет добираться ко мне из поднебесной, я решил покататься с паттернами, которые не будут разваливаться и сильно страдать от неправильного формирования например разного рода цветовыми узорами



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

Спасибо, что прочитали сегодня мою очередную писанину.

Искренне ваш P43YM

P.S. Надеюсь на советы и критику по устройству в комментариях.
Планирую купить +63 Добавить в избранное
+133 +238
свернутьразвернуть
Комментарии (93)
RSS
+
avatar
+19
Безусловно — круто! Это лучше, чем курение)
+
avatar
0
  • kirich
  • 23 февраля 2015, 00:36
Хоть я и не велосипедист, да и идея не нова, но очень красиво и интересно, прочитал с удовольствием.
Спасибо.
+
avatar
+2
  • vanenzo
  • 23 февраля 2015, 00:39
Балин, мегакруто, надо на машину запилить )
Изображение может распадаться, конечно, из-за инерционности геркона, и датчик холла немного уменьшит лаг, но, сдается мне, все дело в невысокой частоте вращения лисапедного колеса, в манкилайте, как я заметил, вообще 4 полоски, они этим и нивелируют низкую скорость, попробуйте добавить хотя бы одну полоску(хотя, наверное, библиотека не позволит (( )
еще из извращенских вариантов — можно попробовать сделать на акселерометре, магнитов не надо, знай замеряй себе время, когда ускорение по Z оси меняет знак и умножай на 2
вообще, надо добавить модуль бт/вифи и закидывать картинки прям со смарта например )
+
avatar
+3
  • P43YM
  • 23 февраля 2015, 00:42
Для авто есть Fantasma Owl, поищите.

+
avatar
+1
  • vanenzo
  • 23 февраля 2015, 14:03
Нуу вот он челендж для самодельщика))
+
avatar
0
  • P43YM
  • 23 февраля 2015, 01:09
И да на велосипеде аналогичные устройства ставят по 4 штуки обычно. Я думал о добавлении еще нескольких лент. Если библиотека не позволит, то можно и вместе с еще одной ардуинкой, цена на нее совсем небольшая.
+
avatar
+4
  • ksiman
  • 23 февраля 2015, 00:40
Ошибки:
— На герконе сделать не удастся, т.к. необходимо убирать дребезг контактов, да и точность синхронизации будет невысокой из-за гуляющего времени срабатывания. Решение — использовать индуктивные электронные датчики
— Синхронизация по сигналу единственного оборота приведёт к плаванию изображения при изменении скорости. Решение — использовать синхронизацию по нескольким импульсам за оборот. На рекламном видео видно, что и там синхронизация не идеальна
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 00:46
С дребезгом библиотека FreqPeriodCounter может бороться, правда простой задержкой.

Можно еще датчиков добавить, или вообще мудрить с акселерометром. Пока думаю дождаться датчик холла и провести с ним испытания.
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 00:50
Гироскоп, а не акселерометр. Ошибся.
+
avatar
+1
  • ksiman
  • 23 февраля 2015, 00:55
С дребезгом библиотека FreqPeriodCounter может бороться, правда простой задержкой.
Не сильно поможет. Гулять фаза будет дико.
Уходите от герконов смело.
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 01:02
Да я уже понял, что геркон вообще не подходит, он и не всегда срабатывает вообще, заказал такой датчик https://aliexpress.com/item/item/20pcs-bag-A3144-OH3144-Y3144-Hall-sensor-TO-92UA/32264393406.html
В MonkeyLight еще гироскоп используют.
+
avatar
+1
  • ksiman
  • 23 февраля 2015, 01:08
Самое простое — ставьте 2 таких датчика. Один будет синхро — должен срабатывать 1 раз на каждый оборот, второй будет тактовым и срабатывать например 16 раз за оборот. Всего 2 датчика и 16 магнитиков. Можно обойтись и одним датчиком, но алгоритм работы усложнится
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 01:12
Трудновато будет разместить магниты для тактового датчика, хотя пока писал комментарий в голове родилась идея небольшого диска с магнитами по окружности, который можно установить на раме.
+
avatar
0
имхо, лучше диск с рисками и оптопару. и лучше в герметичном корпусе.

О! спицы и датчик холла! по типу абс в авто

а, не непойдет, я конструкцию неправильно себе представил :(
+
avatar
+2
  • gamebox
  • 25 февраля 2015, 18:28
Делал на герконе, всё работает отлично и стабильно. Синхронизация также по предыдущему одному обороту и нет никаких растягиваний. Сам даже не ожидал такого результата, т.к. собрал чисто поиграться на AtTiny2313 и прошивку насочинял сам. Ардуино с готовыми библиотеками как-то неспортивно.


+
avatar
0
  • P43YM
  • 25 февраля 2015, 23:16
Красиво.

Ардуино с готовыми библиотеками как-то неспортивно.
Боюсь на разработку «с нуля» мне не хватит времени и знаний, хотя очень бы хотелось их иметь.

Делал на герконе, всё работает отлично и стабильно.
А вот это интересно… мой геркончик работает очень хреново, и я уже все равно заказал новые датчики, посмотрим как поведет себя устройство с ними…
+
avatar
+6
В очередной раз задумался, какой я рукожоп. Что ж, будет еще на нашем столе ардина…
+
avatar
0
  • 4tress
  • 23 февраля 2015, 00:58
Имхо тут решение заключается в увеличении количества датчиков.
+
avatar
0
  • ksiman
  • 23 февраля 2015, 01:01
Датчиков можно использовать один-два, но увеличивать число меток
+
avatar
0
  • kirich
  • 23 февраля 2015, 01:06
А спицы колеса не могут быть меткой?
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 01:12
Нет, само устройство находится в колесе.
+
avatar
0
  • ksiman
  • 23 февраля 2015, 01:13
Это сложно реализовать, т.к спицы тонкие и датчики придётся вплотную к ним приближать
+
avatar
0
  • 4tress
  • 23 февраля 2015, 01:41
Да, неверно выразился: увеличить количество срабатываний датчика за оборот колеса. Можно геркон на вилку, а магниты на колесо.
+
avatar
0
  • DSergio
  • 23 февраля 2015, 01:20
"+ " и «этапять» однозначно.
По делу — WS2812 работают на высокой частоте передачи данных, так что дуйня еле справляется по скорости. Но на таком коротком отрезке ленты, думаю, затыков со скоростью не должно возникать. Если диодов дофига, больше 100, тогда тормоза видны.
+
avatar
+12
  • demon54
  • 23 февраля 2015, 13:15
Наоборот, WS2812 очень медленны, хотел повторить на них, то что было сделано более 13 лет назад на рассыпухе, но нет в лоб не выйдет, буду изголяться.

Пара фоток с тех времен.






Диаметр 2 метра.
+
avatar
+4
  • ACE
  • 23 февраля 2015, 01:23
Бегло глянул скетч. Мне видятся две проблемы.
Первая — «if (freqPin == HIGH)». Проверка происходит один раз в кадр. Если длительность импульса меньше длительности кадра — могут быть пропуски. На расчёт частоты не влияет, только на сброс анимации. Хз, насколько критично.

Второе — «delay(frame_delay_usecs);». Задержка равна длительности кадра. Это неправильно, так как отрисовка кадра сама по себе отнимает время. Надо как-то так: запомнить время в миллисекундах, отрисовать кадр, ждать пока время не станет равно запомненному времени плюс время кадра, типа while (millis() < frame_start_time + frame_delay_usecs) { }; А заодно в тело можно добавить опрос пина синхронизации.
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 01:33
Да, я видимо слишком упростил оригинальный скетч, там учитывалось время на отрисовку
#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
}

Надо будет переписать
+
avatar
+1
  • ACE
  • 23 февраля 2015, 01:37
Ну это меняет дело :) Третий вопрос тогда тоже снимается.
Но в этом скетче в упор не вижу, где пересчитывается frame_delay_usecs.
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 01:38
Он и не пересчитывается, там постоянная задержка. Автор использовал его для съемки светографики и задержку задавал руками в зависимости от выдержки на камере.
+
avatar
+1
  • ACE
  • 23 февраля 2015, 01:50
А, этот скетч вообще не учитывает скорость вращения. Тогда тут важно не пропускать синхронизацию. Я бы проверил, точно ли проверка успевает попадать на него на каждом обороте. Иначе animation.reset() не выполняется и анимация уходит на следующий оборот со сбитым положением. Как вариант, выводить только один раз картинку после каждого импульса. Сейчас она, как я понял, зациклена и повторяется, даже если нет синхросигнала.
+
avatar
+2
  • P43YM
  • 23 февраля 2015, 01:58
Спасибо за советы. Надо будет попробовать, когда датчики новые приедут.
+
avatar
0
Очень мало синхроимпульсов на 1 оборот колеса. Возможно имеет смысл поставить пару светодиод и фотодиод и ловить отражения от спиц если поодну сторону их расположть или на прерывания, если через колесо напротив друг друга.
+
avatar
0
  • ksiman
  • 23 февраля 2015, 01:52
Оптика нормально не работает в таких условиях
+
avatar
+1
  • ACE
  • 23 февраля 2015, 01:32
И, пожалуй, третья. Рассчет задержки идёт в миллисекундах. При хорошей скорости вращения колеса, скажем 10 оборотов в минуту, получаем всего 100 миллисекунд на оборот. А изображение из скольки кадров состоит? Судя по рисункам, чуть ли не из ста. Итого, когда делим 100 на 100 нацело, получаем ровно никакую точность задержки, 0 или 1 миллисекунду.
+
avatar
0
  • vigera
  • 23 февраля 2015, 01:46
Идея занятная, но если отвлечься от нюансов программно-аппаратной реализации, в обзоре не хватает фото смонтированной на колесе светодиодной линейки, веса всего комплекта, а также потребляемого тока.
Насколько понимаю, как близко к ступице ни крепи источник питания с контроллером, а все равно будут вносить своим весом существенный и весьма обременительный дисбаланс при движении, который придётся компенсировать грузиками, ещё больше утяжеляющими колесо.
+
avatar
+3
  • P43YM
  • 23 февраля 2015, 01:57


Основная конструкция практически невесомая, а повербанк, который я использовал для тестов тяжеловат, но его я заменю на 1 аккумулятор 18650. Лента потребляет при свечении белым и максимальной яркости 30*61ma=1,83A, но в большинстве случаев она потребляет меньше.
+
avatar
+3
  • strange
  • 23 февраля 2015, 12:46
Тема интересная, тоже валяется кучка ардуинок pro mini (купил лот из 10 шт часть использовал остальные не знаю куда воткнуть) может запилю дочке на вел такой тюнинг ))
Насчет 18650 я бы все-таки использовал их 2 шт для симметрии и собрал простенький кронштейн на втулку колеса.
Вот типа такого:

на оси втулка из резины и каждый акб тоже в мягкий резиновый шланг, и стяжками к кронштейну.
так будет понадежнее в плане демпфирования ударов, и плюс балансировка за счет симметрии.
Как-то так…
+
avatar
0
Умное решение. В моём детстве я делал щёточный аппарат, к спицам простые лампы накала и питалось это всё от динамо машинки. Вот круто было )
+
avatar
0
  • strange
  • 23 февраля 2015, 16:06
решение со щетками безусловно имеет множество плюсов, но есть и один минус, влага и пыль будет нехило «съедать» щетки. А вода хоть и не часто но будет «коротить» акб. А это не очень полезно. В остальном я только за, даже думал от чего их можно прикрутить. Контакты от руля могли бы неплохо там прописаться
+
avatar
0
Я делал одну полосу, а минус (масса) была на корпусе велосипеда. Хот подшипник и в смазке, тем не менее отлично проводит.
+
avatar
+1
  • ksiman
  • 23 февраля 2015, 01:55
Очень серьёзная проблема при изготовлении подобных устройств — ударная стойкость и вибростойкость. Игнорирование этих условий быстро выводит аппаратуру из строя
+
avatar
+8
  • P43YM
  • 23 февраля 2015, 02:04
А еще говорят, что MySKU не Хабр и тут самоделки не к месту… Вон сколько народу дает полезные советы по устройству в 2 часа ночи в воскресенье( уже понедельник). Спасибо.
+
avatar
+3
  • Dru4
  • 23 февраля 2015, 03:41
MySku торт. Да и тут много хабражителей -))
+
avatar
0
  • stels
  • 23 февраля 2015, 12:28
судя по коментам на хабре, многие таки считают, что хабр с ардуиноманией уже не торт
+
avatar
0
  • cofein
  • 23 февраля 2015, 02:11
круто конечно, но жаль что нельзя это как то более компактно сделать… да и не каждый сможет (((
подскажите где брали ленту с чипами?
я так понимаю получилось аналог вот этой штуки 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р
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 02:18
Ленту брал тут ссылка
Еще для подсветки монитора, но осталось много от 4 метров.

Да аналог той штуки, но она дорогая. А вторая не программируется, там предустановленный набор картинок.
+
avatar
0
  • cofein
  • 23 февраля 2015, 02:31
я тоже монитор хочу сделать )) но цена ленты что то не радует…
на хабре наверно больше года назад читал про монитор.
вторая да, глянул — вроде 30 картинок… мечалька.
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 02:36
Ну можете еще мою статейку по подсветке посмотреть mysku.club/blog/aliexpress/28820.html
Покупал еще по старому курсу, сейчас бы наверно жаба задушила покупать.

А эта поделка на самом деле простая очень, ардуина+датчик+лента и пара проводков. Основная проблема в скетче, но ее я надеюсь решить, потом обновлю эту статью.
+
avatar
0
  • cofein
  • 23 февраля 2015, 02:53
а не вкурсе чем отличается 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/
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 02:57
Можете посмотреть статью sav13 mysku.club/blog/taobao/28278.html
он пишет, что
WS2812 и WS2812B отличаются количеством ног. У WS2812B их количество сократили с 6-ти до 4-х
+
avatar
0
  • Aahz
  • 23 февраля 2015, 10:44
можно кстати попробовать раздербанить и собрать одну большую из ru.aliexpress.com/item/New-14-LED-Motorcycle-Cycling-Bicycle-Bike-Wheel-Signal-Tire-Spoke-Light-30-Changes-Jecksion/2026925042.html?recommendVersion=1
Можно просто поставить несколько на разном расстоянии от оси — они могут формировать картинку совместно (каждый свою часть). Остается только перепрограммировать их. Навскидку, выламываем микросхему и ставим что-нибудь из ардуино.

… как то более компактно сделать…
Есть, например, такая лента.
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
+
avatar
0
  • cofein
  • 23 февраля 2015, 15:31
я не столько про ленту, сколько про электронику и питание. и чуть выше народ уже выкладывал примерные схемы.
а цена конечно жесть ) 2 рубля за метр…
+
avatar
0
  • Aahz
  • 23 февраля 2015, 16:22
1 метр — это 144 киллограма диетического легкусваиваемого мяса светодиода

Итого примерно $0.20 за светодиод, не так уж дорого.
+
avatar
0
  • cofein
  • 24 февраля 2015, 00:47
забавно, почему же он пишет тогда
Количество светодиодов / M---120 шт/м
Спецификации (светлые шарики/m)---144
US $29.99 / Метр
где то прод хитрит или продаёт чуть больше метра…
+
avatar
0
  • ksiman
  • 24 февраля 2015, 06:42
продаёт чуть больше метра…
Так и есть
+
avatar
0
Внесу свои 5 копеек. Зачем Вы огород городите? Обычно все эти украшательства приятно видеть когда велосипедист едет, а не вяло плетется. Сделайте всего 3 режима с +- 2 км/ч. То есть эта штука включится на скорости 20 км в час +-, и мало того — вы примерно будете знать скорость, а что самое главное в велопоездке — держать темп. Вы идете к цели програмно, я предлагаю просто держать темп, при котором она (система)будет включаться. имхо.
+
avatar
0
  • Kartus
  • 23 февраля 2015, 07:51
Обычно все эти украшательства приятно видеть когда велосипедист едет, а не вяло плетется.
Обычно аратюнинг не успевает перейти на велосипеды)))
В фильме Крамаров что то подобное делал — смотрелось органичнее)))
+
avatar
0
  • cofein
  • 23 февраля 2015, 15:33
я бы хотел со своими подъёмами через каждые 500м держать темп… особенно когда сначала можно ехать 4мк спуски, а обратно 4км подъёмы ))
+
avatar
0
надо две (180) или три ленты ленты под углом 120гр ставить на колесо. картинка будет четче на меньшей скорости. а для одной ленты скорость нужна высокая.
+
avatar
+1
  • Naevus
  • 23 февраля 2015, 12:50
Геркон имеет два контакта (ну если только это не переключающий геркон), а датчик холла — три или четыре. Геркон в данном решении неприменим из-за механической инертности.
Датчик холла заказывать из китая — это точно болезнь-шопоголизм :)
Зайдите в любой автомагазин и спросите этот датчик. Он ставится в ВАЗы начиная с 2107 (или даже с 2105), не является дефицитом и стоит рублей 200. Из проблем может оказаться только напрядение питания. Но, думаю, это решаемо (если вообще окажется проблемой).
В свое время, в детстве, когда паяли синклеры, наковырял себе датчиков от старых советских калькуляторов (типа таких: www.porjati.ru/uploads/posts/2009-07/thumbs/1248672385_17.jpg ), получались отличные клавиатуры! Но, боюсь, данный вариант уже малореален :(
Ну и самый очевидный вариант — ближайший радиомагазин. В яндексе на запрос «датчик холла 5в купить» выходит куча информации (в том числе и то, что некоторые автомобильные датчики питаются от 5В)
+
avatar
0
  • ksiman
  • 23 февраля 2015, 13:15
в том числе и то, что некоторые автомобильные датчики питаются от 5В
Можно даже сказать, почти все современные электронные автодатчики питаются от 5В :)
+
avatar
0
  • Maksss
  • 23 февраля 2015, 13:28
А что за датчик заказал, можно ссыль? )
+
avatar
0
  • ksiman
  • 23 февраля 2015, 13:43
Забавляют некоторые характеристики товара :)
Производитель: yx
Использование: Датчик Ray
Теория: Оптический датчик
Тип: Датчик влажности
Индивидуального изготовления: Да

Самого главного параметра нет — быстродействие
+
avatar
0
  • Antares
  • 23 февраля 2015, 17:56
Характеристики электронных компонентов ищут в документации (продавец сам часто не разбирается в том, что продает); на тот, который по ссылке, нашлись в «A3141-2-3-4 Datasheet — Allegro MicroSystems, Inc» параметры Output Rise Time и Output Fall Time — не более 2 мкс. Так что быстродействия хватает.
+
avatar
0
А мы в детстве куски пластиковых линеек крепили, и получалась трещётка =)
+
avatar
0
  • G999
  • 23 февраля 2015, 15:05
Ну вы прям буржуин! Мы картонки на прищепке:(Даже тональность можно было настроить.От мопеда до дизеля.
+
avatar
0
  • cofein
  • 23 февраля 2015, 15:35
)))) ещё у буржуев видел «бусины» на спицах, когда у остальных была проволока цветная намотана.
А помню когда брат в деревне раздербанил дорожный знак и дал нам самоклейку отражающую… это был просто шик )
+
avatar
0
Бусины да… Помню )))
Но проволока — это же классика ) От телефонных многожильных проводов, было дело )
+
avatar
0
Картонка быстро приходила в негодность. А вот основа от сим карты — это была роскошь ))) но зато почти вечно )
+
avatar
0
  • G999
  • 23 февраля 2015, 20:53
Я в 70-80 задал бы вопрос-А что это -«основа от сим карты»!:))))Думаю никто бы не ответил, да и вопрос такой бы не возник:)
+
avatar
0
  • Crendel
  • 25 февраля 2015, 00:47
А щас дети пластиковые стаканчики надевают сзади на крыло-само держится
+
avatar
0
А реальное применение у этого чуда есть?
+
avatar
+1
  • P43YM
  • 23 февраля 2015, 21:28
Не понял вопроса.
+
avatar
+2
Да просто смотрю, обзоры Arduino очень популярны, а вот прменения в быту не вижу, одни поделки на «поиграться». Без обид, возможно это просто не мое…
+
avatar
+2
  • P43YM
  • 23 февраля 2015, 23:08
Ардуинка лишь средство для достижения цели, а саму цель вы сами себе найдите. Применений много, но не обо всех пишут, и не все люди читают. Я видел в интернете множество примеров применения ардуины для более серьезных задач: домашняя автоматизация, инкубаторы, хоббийные станки с чпу, есть даже случаи использования контроллера для модификации большого промышленного оборудования.
Сейчас у меня есть идея гораздо более утилитарной поделки, и если все пойдет хорошо, то я напишу статейку о ней тут на mysku.
+
avatar
+1
  • ACE
  • 23 февраля 2015, 23:14
Это вероятно потому, что всё, что может быть реально полезно широким массам в быту, уже клепается китайцами миллионными тиражами и повторять просто нет смысла. Типа термометров и часов. Остаётся только специфическое, либо ради самого процесса.
+
avatar
+1
  • russlink
  • 24 февраля 2015, 10:03
18650 на спицы?? а дисбаланса колеса не чувствуете на скорости? люди катафоты снимают чтобы на большой скорости отбалансированное колесо шло гладко, а тут…
+
avatar
0
  • ksiman
  • 25 февраля 2015, 09:16
Если разместить симметрично и поближе к центру — дисбаланса не будет
+
avatar
0
а что за софтина велосипедная на скриншоте?
+
avatar
0
  • P43YM
  • 25 февраля 2015, 10:39
Runtastic
+
avatar
+1
  • f390020
  • 25 февраля 2015, 01:03
@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.
+
avatar
0
  • P43YM
  • 25 февраля 2015, 10:38
Это какой-то новый вид троллинга? Аккаунт с автоопределением страны как UA, и двумя постами: один на русском, а второй вот… В интернете нельзя доверять никому, прости.
+
avatar
0
  • P43YM
  • 25 февраля 2015, 12:32
Это действительно Antonio!

Thx Antonio! I'll let you know when I get a new sensors.
+
avatar
0
  • sdqf
  • 01 марта 2015, 14:42
а как насчет использовать 4 полоски RGB как в видео про Monkey Light Pro?
можно использовать по одной ардуинке на каждую полоску.
Даешь функционал как у Monkey Light Pro!
+
avatar
0
  • P43YM
  • 01 марта 2015, 14:55
Привет. Надо для начала добиться стабильной картинки, а уже потом думать над всем остальным.
+
avatar
0
  • sdqf
  • 01 марта 2015, 14:59
Согласен, но если такую весчь поставить на поток, много людей захотят собрать подобное
+
avatar
0
  • Mer
  • 02 мая 2015, 21:13
Привет, чувак) я такую штуку себе покупал на оба колеса:
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 пример небольшой)
датчик такой нужен( блин блинский( а то совсем плохо стало работать( одна норм а другая абы как срабатывает(
+
avatar
0
  • faloss
  • 15 июня 2015, 19:07
Вот такое появилось gearbest.com/cycling-gear/pp_196995.html
+
avatar
0
  • k1rra
  • 26 июля 2015, 16:27
Автор, немогу собрать воедино скетч.То на фастлед ругается, то на компиляцию, то ардуина сигнал с пина невидит.
Нельзя ли архивом скетч с библиотеками заполучить? Мой конфиг — Ардуина Нано, датчик холла,2 линейки по 17 диодов (на каждую сторону).
+
avatar
0
  • P43YM
  • 26 июля 2015, 23:14
Привет, к сожалению два дня назад у меня сдох жесткий диск. Боюсь, что не смогу вам помочь.Я не писал данный обзор как пошаговое руководство. Мой скетч был практически полностью неработоспообным, вам следует взять исходный код от Антонио и немного его изменить, чтобы при поступлении сигнала с датчика анимация начинала играть сначала, если уж пошли путем diy.
+
avatar
0
  • k1rra
  • 27 июля 2015, 17:45
Тогда еще один глупый вопрос — как заставить питон работать с кодом рисовалки?
Свежескачанный питон выдает какую-то глупость при попытке открыть py файл.
+
avatar
0
  • P43YM
  • 27 июля 2015, 22:23
Софтине нужен еще и wxPython, скачайте его.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.