I have RPi2 with connected nrf24 - I use it as smart home server, which receives signals from different sensors and devices.
Can u post here very detailed instruction for noobies, how to connect nrf24 with hyperion.
I have RPi2 with connected nrf24 - I use it as smart home server, which receives signals from different sensors and devices.
Can u post here very detailed instruction for noobies, how to connect nrf24 with hyperion.
What led strip do you have ?
What 74hct series chips do you have at hand ?
Actually I dont have. I can order this: link to aliexpress
I found many different chips at my local store. I can buy anyone.
74hct125 is cleanest
74hct138 can also work
Do you know they're a collection of surface mount parts ? What we your soldering skills like ?
Actually I'm not sure that the 138 will work - I need to think some more.
The 125 definitely will
I used the 74AHCT125D
It's SMD, my local shop only had those in SMD.
As penfold said though its important to use the T variant, so it will have TTO compatible threshold voltages.
The other conditions the chip needs to fulfill are 5V VCC so it can act as a level shifter, taking the 3.3V logic signals from the RaspberryPi and outputting 5V for the LED strip.
And an active low output enable pin because the Chip select pins are active low.
1 GND -> 25 (GND)
2 VCC -> 17 (3.3V)
3 CE -> 22 (GPIO 25)
4 CSN -> 24 (GPIO 8 SPI_CE0)
5 SCK -> 23 (GPIO 11)
6 MOSI -> 19 (GPIO 10)
7 MISO -> 21 (GPIO 9)
8 IRQ
Wiring for the WS2801:
1 GND -> GND
2 DI -> Raspberry PI GPIO 10 (SPI_MOSI)
3 CI -> 74AHCT 1Y (output1)
2 VCC -> 5V
Wiring for the 74AHCT:
1 1/OE (output enable not 1) -> GPIO7 SPI_CE1
2 1A (input 1) -> Raspberry PI GPIO 11 SPI_SCLK
3 1Y (output 1) -> WS2801 CI (Clock In)
7 GND -> GND
14 VCC -> 5V
In the Hyperion Config be sure to set spidev0.1 since the WS2801 will be connected to CE1.
1. Do I need to use resistors in this circit?
2. So both NRF24 and LED connect to one pin?
2 DI -> Raspberry PI GPIO 10 (SPI_MOSI)
No resistors.
Yes:
GPIO10 MOSI will be connected to both WS2801 and NRF24
GPIO11 SCLK will be connected to both 74AHCT and NRF24
The raspberrypi will use the CE0 and CE1 pin to tell which one of the devices will listen.
No such kind of chip in my country, so I ordered it from aliexpress. 1 month to wait )
Thank u guys!
I made this wiring scheme, tomorrow I will try to connect all these things:)
Looks good. I think the top is the side with the long strip printed on it. So yeah should be right.
Which library are you using for the NRF btw? I can't seem to get mine working, always crashes with TMRh20 RF24 library.
TMRh20 RF24 + NRF24 Network
It crashes sometimes as well. But these crashes are predictable, and I use linux "forever" to restart my init.d script
Guys! Finally my hyperion works with OSMC and spidev0.0
Now the next step - adding nrf24
I connected 74ACT - nrf24 works correctly as before. But hyperion through spidev0.1 gives me kernel panic every time when I setColor
It looks like it has conflict.
What can you advice me?
Oops...
The kernel shouldn't do that ever - it's a kernel bug.
Hyperion doesn't do anything weird or low level. We only use the normal user space spi interface. We do however write large chunks of data (num_leds * 3 * 4) every update.
I wonder if the kernel is failing to check that a previous transfer has finished before the other consumer tries to access what is really a shared hardware resource.
What if you drop the Hyperion led count to 1?
What if you drop the Hyperion led count to 1?
Do u mean software limit to 1 ?
I checked kernel logs. Found these strings:
Oct 17 09:42:58 raspberrypi kernel: [ 298.757680] spidev spi0.1: SPI transfer timed out
Oct 17 09:42:58 raspberrypi kernel: [ 298.762156] bcm2835-dma 3f007000.dma: DMA transfer could not be terminated
Reconfigure Hyperion to only have 1 led.
This will shorten the transmission time and maybe the issue will go away.
It doesn't help you in the end but may help in isolating cases that do/don't work.
Logs look interesting - and point in the direction of my theory
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!