Тёмный

SPI to WS2812(B) Addressable RGB LED Converter - More LEDs, More Power! 

Elektor TV
Подписаться 32 тыс.
Просмотров 5 тыс.
50% 1

With a few components you can convert a standard 1 MHz SPI data stream into a bit stream compatible with WS2812(B)-type addressable RGB LEDs (aka NeoPixels). A 1 MHz data rate allows controlling 25% more LEDs than a standard 800 kHz software-based (bit-banging) driver can do while freeing up memory and processing power on the MCU.
The result: more LEDs to play with and more processing power available for nicer animations.
This video shows some ways to achieve this.
Resources
=========
Aisler PCB Service: aisler.net/
KiCad projects and Arduino Uno example sketches: www.elektormag...
Check out our RU-vid offers: www.elektor.co...
Subscribe to our Newsletter: www.elektormag...
Join this channel to get access to perks:
/ @elektortv

Наука

Опубликовано:

 

4 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 20   
@Makerfabs
@Makerfabs 2 года назад
Wow~ Nice job!👏👏👏👏
@ElektorTV
@ElektorTV 2 года назад
Thank you! 😄
@Tinker_Inc
@Tinker_Inc 2 года назад
Using an ESP32 and the Adafruit_NeoPixel lib, you can tune that up even more. In Adafruits lib, find the file "esp.c", there, modify that simple timing parameters. I had stable working WS2812B chains using this timings: #define WS2812_T0H_NS (175) #define WS2812_T0L_NS (525) #define WS2812_T1H_NS (525) #define WS2812_T1L_NS (175) That actually makes 1.43MHz and if you ensure that every WS2812 chip in a LED strip has the full supply voltage (> 4.9V), this works with 1.53MHz, too. And there is no bitbanging due to hardware support of ESP32 (RMT-function is used). Even 8 separate channels using 1.53 MHz all parallel and at once are possible without disturbing the processors work. Why taking 25% if you can have 92%?
@necrodrucifver
@necrodrucifver 9 месяцев назад
You should havr a video of that
@RomanStampfli
@RomanStampfli Год назад
Hi Clemens. I am wondering how the circuit 3 with the NAND gates work. The differentiator acutally just reacts on the edges of the signals SCLK and MOSI, but when MOSI has subsequent ones, only the first 1 is detected from the differentiator. I have simulated the circuit as well and I do not get what I have misunderstood. Maybe you could clarify what I miss. :-)
@pratth9883
@pratth9883 2 года назад
Helpful! Thanks
@ElektorTV
@ElektorTV 2 года назад
Glad it was helpful!
@m.c.7476
@m.c.7476 2 года назад
Hi Clemens, great Video. I was just wondering if using or (mis)using a Attiny202 would lower cost for the BOM of this build? Also have you considered using 3v3 input levels for your build? Would be cool if we could use some 3v3 MCUs like the ESP32(-C3) with it. Also as add-on you mentioned that you could do clock recovery, may we see a reduced wire SPI later :-) ?
@ElektorTV
@ElektorTV 2 года назад
The idea was to NOT use a microcontroller. Anyway, the ATtiny202 is about 40 cents in quantity, the presented circuit will cost maybe 10 cents. An MCU will also require programming, further increasing production costs. The presented circuit also runs from 3V3 (may require some timing tweaking), so if your LEDs do too, you're in business. I did indeed think of 1-wire SPI, but since the circuit needs two signals, you don't gain anything on the MCU side. So it would only be interesting for interconnecting circuits. And, of course, Dallas did 1-Wire a long time ago.
@wogalwogal
@wogalwogal 2 года назад
Great Video thank you
@ElektorTV
@ElektorTV 2 года назад
Very welcome
@marckerger
@marckerger 2 года назад
you can then use each WS2812b to control a arduino to control some (many ) devices/servos/motors...
@Lavadawg
@Lavadawg 2 месяца назад
i2c reinvented
@marckerger
@marckerger 2 месяца назад
@@Lavadawg i2c is limited to 128 devices
@Lavadawg
@Lavadawg 2 месяца назад
@@marckerger 127 in fact, even 1 less... but who would want to control that many things in the first place?
@marckerger
@marckerger 2 месяца назад
@@Lavadawg i've seen kinetic sculptures with over 700 motors.. that is where the idea came from..
@Lavadawg
@Lavadawg 2 месяца назад
@@marckerger Well in that case it's probably a pyramid hierarchy system where they have 1 main machine controlling 20 mcus that go to control like let's say 35 motors each, this is a very practical method
@radekb9479
@radekb9479 3 месяца назад
It still needs a digital signal amplifier to eliminate the so-called "ghosts"
@schwachmatxyz
@schwachmatxyz 2 года назад
This is what I did six years ago: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ThVfUsZBNwM.html It uses only a Mono-Flop (made with 74HC132), triggered by the SPI-Clock. The data-bits are used to generate long or short pulses. WS2812 can be controlled by every SPI-Output with approximately 800kHz Clock-Frequency. My Arduino Mega 2560 was also not able to generate 800kHz SPI-Clock. But it worked with 1MHz.
@ElektorTV
@ElektorTV 2 года назад
Nice.
Далее
WS2811 on Steroids
14:17
Просмотров 16 тыс.
КОТЯТА НАУЧИЛИСЬ ГОВОРИТЬ#cat
00:13
DIY Laser Image Projector (100ft+ Range!)
20:08
Просмотров 329 тыс.
Ping Pong LED Wall v3
21:47
Просмотров 890 тыс.
Single-Pin Rotary Encoder
9:37
Просмотров 8 тыс.
How To Use Neopixels With PIC® Microcontrollers
6:37