Who wants a cheap, simple, Arduino-based LED controller?

Top left is an i2c 8bit extension, for osmolator or other features (stopping a pump for feeding...) , top right is a relay, but the two are not tested yet, you can remove them.
 
Two more questions for you Megablue.....i went over the sketch and noticed the Weather menu is commented out in the extra setting menu....does the weather part of it work yet or is it still in progress?Second can I use the tmp34 and doi need to edit the code for it?
 
The weather is supposed to be done in the future, but by the moment i work on the osmolator. I think a part of the menu had to be deleted (30kb limit) but i tried two option: a cloud generator that worked well before finishing the menu and temperature, but now to big to fit, and tried to get the weather from a web site with one arduino as 'master' and the typhon as slave.
So response 1: don't work yet :)
LM34/TMP34 are in Fahrenheit, so in theory you don't need to change the code . For TMP36 you need to change the line 50 in Temperature.cpp.
 
I am trying to figure out why the transistor circuit that switches the 5Vdc PWM signal from the 328 to a 10Vdc signal works as intended...

Forgive me if I am wrong (and please point out my error), but since there isn't a collector or emitter resistor on the transistors, wouldn't this lead to temperature dependence issues and eventual transistor failure?
 
There is a base current limit resistor in the circuit between the avr and the transistor. It is sized to saturate the transistor when the pwm output from the 328 is on. This means current in the collector-emitter circuit is limited by resistance on the collector, which in this case is the driver you are controlling. Hfe doesn't come in to play because the transistor is (almost) always either full off, or full on (saturated). I don't know if I am totally understanding your question though, so I don't know if this helped.
 
I think you got my question. Let's see if I can repeat your answer back differently to make sure I understand. What you are saying (I think) is that the driver provides necessary resistance to prevent having a high voltage on the collector and gnd on the emitter which would lead to the problem I am talking about.

Would a one-line of the ckt look like this?

gallery_2632346_867_6270.jpg


Or, when chip output is high, the transistor is dropping a minimum amount of voltage, so the load (meanwell) basically sees a Vin to Gnd signal.

I did notice the base resistor which would limit current, where did you find internal resistance for the meanwells to be able to calculate a value for Rb?

(thanks for the help by the way, the last course I took on transistor theory was nearly 20 years ago... so needless to say, I am a little rusty on the topic)
 
Hey, I have never taken a course on transistor theory, so you are ahead of me. :)

Your schematic is basically correct. The meanwell is the load on the circuit. The transistor passes current from collector to emitter but doesn't drop a significant voltage, so there is no real danger of killing it since it isn't dissipating much power at all.

To calculate the base resistor, I guessed. :D Turns out it't about right. We do not know the exact load of the driver place on the circuit because we are trying to cover a range of possibilities - one meanwell ELN, 5 of them, or some other driver, or whatever. So I would do the math to size the base resistor for the full 100mA Ice limit which puts you around the value on the board.
 
I did that and calculated that a 2.2kohm resistor would work. I scrolled through the thread, but could not find a picture clear enough to read the color codes and cannot access the google code doc from work. How close are we?
 
Thanks Chad!

I am hoping people start jumping on the expansion board bandwagon since that should allow for some creativity from the community and not just me. I really think we are barely scratching the surface and would love for others to get involved in hardware or software development.
 
Good news everyone!

wtta1u.png


I've uploaded a new version of the firmware with the option to invert signals, for buckpucks or other drivers that interpret zero as on instead of off.

The feature is implemented with a variable for each channel and is essentially hardcoded in that it's not accessible from the UI. You have to edit and re-upload the sketch if you want to change the variable. I figured it was kind of a one-time thing, it's not like people are gonna be swapping the values every day, and IMHO our menu is already kinda "long," so I purposefully didn't put the variable in a menu option on the UI.
 
Hi guys this is my first post so be gentle!

I have a Typhon controller which I will be using to control a small array of opticless cool and neutral whites, royal blues and blues.

I was wondering if anyone had written any new sketches for this controller yet or knows of a simple add on. The reason I purchased the Typhon was for its 'plug and playness' albeit slightly simplistic. I was thinking along the lines of lunar/storm settings.
 
Good news everyone!

I've uploaded a new version of the firmware with the option to invert signals, for buckpucks or other drivers that interpret zero as on instead of off.

The feature is implemented with a variable for each channel and is essentially hardcoded in that it's not accessible from the UI. You have to edit and re-upload the sketch if you want to change the variable. I figured it was kind of a one-time thing, it's not like people are gonna be swapping the values every day, and IMHO our menu is already kinda "long," so I purposefully didn't put the variable in a menu option on the UI.

I downloaded the new ver but when I load it I get a lot of Java errors.
Here is a small example.

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
at processing.app.Sketch.setCurrentCode(Sketch.java:1106)
at processing.app.Sketch.load(Sketch.java:218)
at processing.app.Sketch.<init>(Sketch.java:140)
at processing.app.Editor.handleOpenInternal(Editor.java:2114)
at processing.app.Editor.<init>(Editor.java:308)
at processing.app.Base.handleOpen(Base.java:699)
at processing.app.Base.handleOpen(Base.java:664)
at processing.app.Base.handleOpenPrompt(Base.java:653)
at processing.app.Editor$5.actionPerformed(Editor.java:500)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

Every other sketck loads fine. Does anyone know how to fix this?
I have the newest ver of Java installed.
Thanks
 
Good news everyone!

I've uploaded a new version of the firmware with the option to invert signals, for buckpucks or other drivers that interpret zero as on instead of off.

The feature is implemented with a variable for each channel and is essentially hardcoded in that it's not accessible from the UI. You have to edit and re-upload the sketch if you want to change the variable. I figured it was kind of a one-time thing, it's not like people are gonna be swapping the values every day, and IMHO our menu is already kinda "long," so I purposefully didn't put the variable in a menu option on the UI.

I downloaded the new ver but when I load it I get a lot of Java errors.
Here is a small example.

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
at processing.app.Sketch.setCurrentCode(Sketch.java:1106)
at processing.app.Sketch.load(Sketch.java:218)
at processing.app.Sketch.<init>(Sketch.java:140)
at processing.app.Editor.handleOpenInternal(Editor.java:2114)
at processing.app.Editor.<init>(Editor.java:308)
at processing.app.Base.handleOpen(Base.java:699)
at processing.app.Base.handleOpen(Base.java:664)
at processing.app.Base.handleOpenPrompt(Base.java:653)
at processing.app.Editor$5.actionPerformed(Editor.java:500)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

Every other sketch loads fine. Does anyone know how to fix this?
I have the newest ver of Java installed.
Thanks
 
It may have something to do with differences in your development environment and mine. I compiled and uploaded this to a board using Arduino 0022 and the latest versions of each library downloaded from the links in the comments at the top of the sketch. It works fine and I verified it my measuring the PWM outputs and flipping the variables.

Did you modify the sketch at all (i.e. flip the new variables from false to true)? If so, can you post your version using code or php tags in this thread?
 
der_wille_zur_macht
It may have something to do with differences in your development environment and mine. I compiled and uploaded this to a board using Arduino 0022 and the latest versions of each library downloaded from the links in the comments at the top of the sketch. It works fine and I verified it my measuring the PWM outputs and flipping the variables.

Did you modify the sketch at all (i.e. flip the new variables from false to true)? If so, can you post your version using code or php tags in this thread?



I also am using ver 0022 Arduino software with the latest libraries. I get these errors when opening the file. I'm going to try using a differant computer, maybe that will help.

Here is a ver of the Typhon software that I am currently using. It needs the onewire library. I really like the way it was laid out. If I could get this one to invert I would be set!
Shark boy
 

Attachments

Without looking at the code yet, inverting is really simple. Find the map function that actually generates the value written to the pin and flip the 0,255 to 255,0.
 
I modified the code as described to invert the signals.

That version of the sketch has some behavior coded into the setLed function that I don't quite understand, but the signals should now be inverted. I made the changes in a text editor so test before you deploy.
 

Attachments

Back
Top