Re: NeoPixel (WS2812B) Demo
Joyeux Halloween! LOL
Nice work.
Robert
Re: NeoPixel (WS2812B) Demo
Where can I get the file NeoPixelDemo.ZIP as well as the INCLUDE file? I would like to try them.
Re: NeoPixel (WS2812B) Demo
Scroll down code and you will find link, or click here
http://www.picbasic.co.uk/forum/atta...7&d=1417555928
Re: NeoPixel (WS2812B) Demo
That is really nice piece of code, even if i cannot understand the include asm file.
Have anyone used it with a 16 or 24 led WS2812 ring? (not the B version)
I've tried with the pic currently have 18F26K22 at 64 Mhz. On a 16 ring or 24 ring, i cannot set up all the led's to be functioned.
when i set
Code:
NEO_NUM CON 16 'Number of pixels in Cyrcle
Only 8 out of 16 LED are functioned.
In case i increase the number, to 29, only 14 LED's are working, then no matter what number i use.....30+, still 14 LED's are light.
The last two LED's are not working. Have been test it with 24 ring as well, and the last 2 LED's are not working.
If anyone have experienced the same, would be nice to share your comments.
Re: NeoPixel (WS2812B) Demo
Quote:
I've tried with the pic currently have 18F26K22 at 64 Mhz. On a 16 ring or 24 ring, i cannot set up all the led's to be functioned.
given that the include files expect a 20mhz clock what steps have you taken to compensate for running at more than 3 times the expected speed
Re: NeoPixel (WS2812B) Demo
Ooops havent seen that. I might try a 20 Mhz crystal then. Should be easier. :)
Re: NeoPixel (WS2812B) Demo
I used 4Mhz crystal to 4xPLL and it worked. I couldnt see in the datasheet of the PIC18F26K22 any 20Mhz configuration.
The code is really good. thanks the Author: Michel Jasmin
Re: NeoPixel (WS2812B) Demo
May i ask something?
Could i use all this code as a secondary code?
I'm thinking to use it only as an effect when the PIC is powered up, the RGB led ring to do its pattern.
But the main program not to be affected by this code.
DT has given to us the interrupt function of a flashing LED without disturbing the main program.
But i really dont know how to import all this code or how to use this DT's interrupt method here.
Could anyone guide me? Thanks a lot.
Re: NeoPixel (WS2812B) Demo
Quote:
Could i use all this code as a secondary code
But the main program not to be affected by this code.
?
using that code it takes about 1mS to send data to 24 ws2812's . so if your main program can tolerate 1mS gaps in processing every 50mS it would work ok
if you used a more modern chip with a clc module then you could adapt my code
found here :-
http://www.picbasic.co.uk/forum/atta...5&d=1508279203
that updates the leds as a background interrupt driven process with very very little overhead
see this thread for that and other more efficient possibilities
http://www.picbasic.co.uk/forum/showthread.php?t=23399
Quote:
But i really dont know how to import all this code or how to use this DT's interrupt method here.
what have you tried ?
Re: NeoPixel (WS2812B) Demo
Many years ago, i did a simple RFID reader program.
What it does is to read the RFID tag and if the ID number is stored in the PIC's ram, then it will make a port high.
That is the whole program.
I haven't tried anything yet to embed the above RGB code. What i would like to do with this code, is to work on the backround as an effect, when:
The RFID tag is valid: to light the RGB ring in Green, then to continue working on the backround.
The RFID tag is not valid: to light up the RGB ring in LED.
I will try without interrupt and i will add the RFID code inside the main of the RGB code. Will let you know.
Re: NeoPixel (WS2812B) Demo
this is the addition to the main:
Code:
serin2 rfid,84,[WAIT($02),str BUF\10]
Check_List:
FOR tagNum = 1 to 3 ' scan through known tags
FOR idx = 0 TO 9 ' scan bytes in tag
READ (((tagNum-1)*10) + idx), char ' get tag data from table
IF (char <> buf(idx)) THEN Bad_Char ' compare tag to table
NEXT
GOsub Tag_Found ' all bytes match!
Bad_Char: ' try next tag
NEXT
Bad_Tag:
tagNum = 0
FREQOUT porta.3, 1000 */ $100, 115 */ $100 ' groan