Go Down

Topic: Arduino Lightsaber (Read 455335 times) previous topic - next topic

gdadourian

I set the power on time to 10,000 (10 seconds) as well as the power off time.  The preview played the power on sound, and showed no light.  Then, at the end of the power off time (19 seconds or so in), the power off sound played, and the first 2 LED's turned on, followed by the rest of the strip, and then it just stayed on.  Turning down the sound volume has had no effect. 

The fxsos diagrams show MOSFETs for the star LED and string blade diagrams, but nothing for the pixel blade diagram (homebrew, not DIYino).  Here's the link for the diagram I'm talking about:
Homebrew Pixel Saber (FXSOS)

jbkuma

I expect many of your issues come from your battery setup.  If you are operating at their limits, the circuits might be triggering at different times. If they are really of such low capability, then they are probably sagging to a voltage below operational thresholds for the component.

If the batteries you are using are of such low quality that you need 4 to theoretically power your setup, they are entirely unsuited to the task.  That they are limited to 600ma is not a good sign. Even a 14500 would typically have a higher rate.

The only reason to use a transistor is to let the mcu cut power to the blade to save power when the blade is connected and the power is on.   In your current configuration this is probably pointless in any case.

I must recommend that you do not keep trying to use 4 batteries in parallel.  With their low performance it seems highly unlikely they are of a good quality.  If they aren't matched cells, when the system is idle they will be discharging to each other to balance the potential.  Assuming they are actually protected this will help keep things from getting too thermal, but the larger the imbalance, the more extreme the discharge.  If one cell is particularly weaker, all the other cells may dump into it at once.

The battery is the most important part of your saber and should be the last place you try to cut corners, especially with a pixel blade that is that much more demanding.

JakeSoft

I set the power on time to 10,000 (10 seconds) as well as the power off time.  The preview played the power on sound, and showed no light.  Then, at the end of the power off time (19 seconds or so in), the power off sound played, and the first 2 LED's turned on, followed by the rest of the strip, and then it just stayed on.  Turning down the sound volume has had no effect. 

The fxsos diagrams show MOSFETs for the star LED and string blade diagrams, but nothing for the pixel blade diagram (homebrew, not DIYino).  Here's the link for the diagram I'm talking about:
Homebrew Pixel Saber (FXSOS)
You are right, they don't show the FETs in that diagram. They are optional, but save you some power when the blade is off.

I'd worry more about your battery setup for right now. As JBKuma explained in more detail, that's likely your biggest issue. JBKuma is much more of an expert working with Neopixel than I am, so I would heed his advice. In fact, he was one of my key advisors when I was developing NP support for STREAM in the first place. If your battery is not up to the task then all kinds of strange things can happen.

gdadourian

Alright, well I tried pulling the protection circuits off the batteries, and it didn't change any of my symptoms.  Can someone send me a link for a recommended battery? 

JakeSoft

Alright, well I tried pulling the protection circuits off the batteries, and it didn't change any of my symptoms.  Can someone send me a link for a recommended battery? 
Either of these should work:
Opiton 1
Option 2


gdadourian

I bought an 18650 with a 20 Amp continuous discharge rating, and after it finally arrived, I tried it out (it was shipped discharged, so I charged it).  I was met with the same errors as I was having before.  Power up didn't make the pixels turn on the way they were supposed to, the blade stayed on after power down, and the saber lock feature caused the speaker to emit a long static sound until reset.  Unless it's the actual wires I'm using for this breadboard connection that are limiting power, I don't know what else it could be. 

JakeSoft

This is pretty bizarre behavior.

Does your pixel blade work if you try to drive it with a simple test sketch? I'm trying to remove variables here. The software has been stable for months and this is the first time I've heard anything this severe happening.

I made a really simple library that will drive the pixels and not do anything else.

https://github.com/JakeS0ft/NRPixelStrip

Download and install that library. Then the example sketch should be available from:

Examples-->NRPixelStrip-->NRPixelDemo

You should just be able to build and run it with no changes since it defaults to use Pin13 as the data pin and that's the same as for STREAM. The example just cycles through colors. See if that works for you. If that fails, then you've got wiring or hardware issues.




gdadourian

If the whole strip is supposed to shift in unison (pixel 1 changes to the same color as pixel 60 at the same time and rate - as well as all the pixels in between), then yes the pixel blade works fine. 

Do you need a components list?  I've cycled out the various components over time and had no luck.  Again, my circuit is identical to the fx-saber-OS homebrew pixel blade set up. 

The only thing I can think of that's been hurting me is the fact that I have arduino nano clones, and they run an old bootloader.  I think I can convert them to a modern bootloader manually, but I was hoping it would work with the old one first. 

jbkuma

The only thing I can think of that's been hurting me is the fact that I have arduino nano clones, and they run an old bootloader.  I think I can convert them to a modern bootloader manually, but I was hoping it would work with the old one first. 
I've installed almost exclusively on clones with "old bootloaders" the very popular Brewboard by Saber Republic alone has seen several dozens of installs on clones.

micwall

You are the chosen one.
Speed. I am speed. One winner, forty-two losers. I eat losers for breakfast.

-Lightning McQueen

micwall

wow. over 444,000 views. such a cool project.
Speed. I am speed. One winner, forty-two losers. I eat losers for breakfast.

-Lightning McQueen

JakeSoft

If the whole strip is supposed to shift in unison (pixel 1 changes to the same color as pixel 60 at the same time and rate - as well as all the pixels in between), then yes the pixel blade works fine. 

Do you need a components list?  I've cycled out the various components over time and had no luck.  Again, my circuit is identical to the fx-saber-OS homebrew pixel blade set up. 

The only thing I can think of that's been hurting me is the fact that I have arduino nano clones, and they run an old bootloader.  I think I can convert them to a modern bootloader manually, but I was hoping it would work with the old one first. 
If you are running the test sketch from the NRPixelStrip library, then yes. The entire strip should color shift all at once (no scrolling or anything). So, that's good at least.

Now if you find that the NRPixelStrip library's example sketch works fine, but the STREAM firmware does not, then that's very strange indeed. STREAM is in fact using that library to drive the pixel blade. Is there any chance we could get a video so we can see exactly what's happening? I'm running out of things to try, but maybe if I saw it I would recognize what to do to correct it.

gdadourian

https://youtu.be/wegYZ9GuKR4
Here's a video. Sorry for the low sound and pixel brightness, as I've got this in the office.

JakeSoft

https://youtu.be/wegYZ9GuKR4
Here's a video. Sorry for the low sound and pixel brightness, as I've got this in the office.
OK, I see what you mean. The scroll-out looks fine, but the scroll-in looks wonky. What happens if you adjust the power-off time in the STREAM GUI's Sound & Sound Timing screen? Make it big, like 5 seconds (5000).

gdadourian

I actually think the scroll up doesn't work. I set stream to 5 seconds for both scroll up and scroll down. Here is a test with the preview function in stream:
https://youtu.be/DHmEznD5iBU
And a test with it saved and disconnected:
https://youtu.be/Fz4_BedHTvM

Go Up