• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

LED light question for newbie

KeepItSimpleStupid

Well-Known Member
Most Helpful Member
With such a large number of LED's/players, I'm still inclined to say use smaller processors for each set of LED's and use I2C to communicate to the expanders. e.g. https://cdn-shop.adafruit.com/datasheets/mcp23017.pdf

hardware condition the switches and present the inputs to all of the processor simultaneously with an enable that's provided by a supervisory processor.

You might decide that an interrupt be generated when "somebody won" and then the supervisory processor would determine who,

There's some other stuff going one here, that we don't know like (guessing):
1) Selecting # of players
2)# of lanes per player
3) Advancing to the "next" player

Is a service manual for the game available?

There is a lot of stuff going on and a lot of lights to control, but the logic for 24 light seems simple.

Exactly what you need to do for each row, I don;t know:

e.g. Play (Input), Sensors(A,B,C), Enable (Sensor), Win(Output), Start(Input), Win(output)

At this level, you see the inputs and an enable. The enables controlled by the master processor.
Each processor SEES the sensor, but doesn;t respond unless enabled.
Play - in esscense turns on whatever lights for the player.
Start - Effectively resets the internal counter for that processor
WIN - would be an wire ored output that the master processor would respond to. That would immediately disable everyone.
The master would poll each processor to determine who won if needed.

Just guessing.
 

ronsimpson

Well-Known Member
Most Helpful Member
I have used an Arduino but in limited use.
My thought is if you make this thing you will want a change and that will be hard if you make it in "hardware" verses software.
With a Arduino computer and LED RGB strip lights you can make changes all day long.
I see each horse as one strip.
https://www.sparkfun.com/products/12028
There are many different type of strip lights.

This type of light come in any length. Each LED can be set to any color and brightness.
Watch what some one did with music and LED strips.
 
Last edited:

Pommie

Well-Known Member
Most Helpful Member
The switches (6) for each set of lanes (3) can be paralled as only one can be activated at any time. This will mean a total of 18 sets of switches. These can be arranged as a 3x6 matrix which requires 9 pins. Using a continuous string of addressable LEDs (neopixels) will require 1 more pin. Using an Arduino Nano will leave 10 free pins for other purposes - reset etc.

Mike.
Note that some Led strips have 3 LEDs per chip and aren't individually addressable.
 

Mike Atencio

New Member
With such a large number of LED's/players, I'm still inclined to say use smaller processors for each set of LED's and use I2C to communicate to the expanders. e.g. https://cdn-shop.adafruit.com/datasheets/mcp23017.pdf

hardware condition the switches and present the inputs to all of the processor simultaneously with an enable that's provided by a supervisory processor.

You might decide that an interrupt be generated when "somebody won" and then the supervisory processor would determine who,

There's some other stuff going one here, that we don't know like (guessing):
1) Selecting # of players
2)# of lanes per player
3) Advancing to the "next" player

Is a service manual for the game available?

There is a lot of stuff going on and a lot of lights to control, but the logic for 24 light seems simple.

Exactly what you need to do for each row, I don;t know:

e.g. Play (Input), Sensors(A,B,C), Enable (Sensor), Win(Output), Start(Input), Win(output)

At this level, you see the inputs and an enable. The enables controlled by the master processor.
Each processor SEES the sensor, but doesn;t respond unless enabled.
Play - in esscense turns on whatever lights for the player.
Start - Effectively resets the internal counter for that processor
WIN - would be an wire ored output that the master processor would respond to. That would immediately disable everyone.
The master would poll each processor to determine who won if needed.

Just guessing.
There is no manual at all. This will be scratch built. I'm going with the KISS rule. Get one string/horse working, then duplicate it however many times I need later. I can manually stop the game at the end by ringing the winner bell. One day Ill have it automatically stop.

Neopixels looks the most promising based on my knowledge. The string has 25 lights. Neopixels is programmed on an Arduino which I have a little experience with. I think it would be easy to get programming help. So game plan: build one, reproduce. I think all I need is to know the voltage of each row. My power can be addressed using AC to DC converter powering all circuits. If each uses 5 volts then I'll need 50 to 60 volts for ten players minimum.

Does this sound like it's a workable plan? I feel breaking it down to individual players allows me flexibility.
 

Mike Atencio

New Member
The switches (6) for each set of lanes (3) can be paralled as only one can be activated at any time. This will mean a total of 18 sets of switches. These can be arranged as a 3x6 matrix which requires 9 pins. Using a continuous string of addressable LEDs (neopixels) will require 1 more pin. Using an Arduino Nano will leave 10 free pins for other purposes - reset etc.

Mike.
Note that some Led strips have 3 LEDs per chip and aren't individually addressable.
I didn't know that. I watched some YouTube videos about Neopixels. Is it possible to set a single color for each string? Thanks
 

Mike Atencio

New Member
My thought is if you make this thing you will want a change and that will be hard if you make it in "hardware" verses software.
With a Arduino computer and LED RGB strip lights you can make changes all day long.
I see each horse as one strip.
https://www.sparkfun.com/products/12028
There are many different type of strip lights.

This type of light come in any length. Each LED can be set to any color and brightness.
Watch what some one did with music and LED strips.
Yes, exactly. Each is independent of the rest. I watched those videos last night before you posted them. LOL. Watching them again today. Using a Nano looks like the best way to program the lights. I just have to figure out how to program them which I have no clue... but never say never. There are two universities near my home. Each has many budding programmers. I'm sure I can get a kid to program one set for beer money
 

NsrMagazin

Member
Yes, exactly. Each is independent of the rest. I watched those videos last night before you posted them. LOL. Watching them again today. Using a Nano looks like the best way to program the lights. I just have to figure out how to program them which I have no clue... but never say never. There are two universities near my home. Each has many budding programmers. I'm sure I can get a kid to program one set for beer money
This is not the better solution, you will need to use the ADC or have 24 input pins for 24 output pins. The 3914,3915 or 3916 is better according to me.
 

Mike Atencio

New Member
Hmmm... I'm frustrated,
My thought is if you make this thing you will want a change and that will be hard if you make it in "hardware" verses software.
With a Arduino computer and LED RGB strip lights you can make changes all day long.
I see each horse as one strip.
https://www.sparkfun.com/products/12028
There are many different type of strip lights.

This type of light come in any length. Each LED can be set to any color and brightness.
Watch what someone did with music and LED strips.
The lights will have to be spaced apart. The strip is one solid piece. The string has a wire between the lights. The strip can't be broken, can it?

NSRMAGAZINE said this isn't the best way to go. Why?

Let me ask this, this is simpler because I can make changes easily once it is set up.

That's really cool with the lights and music. If I wanted to run ten players, I would need ten of everything, correct?

Someone suggested the Espruino board for the lights. Have any experience with that board?
 

Mike Atencio

New Member
This is not the better solution, you will need to use the ADC or have 24 input pins for 24 output pins. The 3914,3915 or 3916 is better according to me.
Why? I would think with each being independent, that would give me the flexibility to add more players each being its own system.

What are the 3914,3915 or 3916's? What makes them better? Trying to understand. Thanks.
 

NsrMagazin

Member
They are ICs for starting each next LED after the voltage on the input increases. They are a little different from each other and can be put in cascade for more than 10 LEDs. Check the datasheet I gave on page 1 you will see. They only need a few additional components and a rising input voltage to start the next LED.
 

Mike Atencio

New Member
I did look at the data sheet but it might as well be in Chinese. I kinda get it but it's stuff I don't understand. I really am a newbie. :)
 

Mike Atencio

New Member
The link in post #4 had a diagram for cascading three 4017s to control 25 LEDs. However, only 1 will be lit at a time. Maybe an Arduino with neopixel LEDs could be the way to go. You could have 1 continous line (split into 18 lines of 24) and just one Arduino. Does that sound feasible?

Mike.
Heck yes.
 

gophert

Well-Known Member
Most Helpful Member
If you go with neopixel, make sure you get a microcontroller that has the speed needed to control the neopixel. The neopixels are kind of a pain in the ass with slower Microcontrollers. An Arduino Teensy seems to be the best from my experience. The 3-wire system of neopixel means the chips have their own clock and off pixels and on pixels are set by carefully timed pulse trains.

The "DotStar" LEDs are slightly more expensive but have a fourth pin so the clock is set by the arduino instead of trying to match the clock speed of the arduino+neopixel. Arduino libraries exist for both styles of light strips.

Each can also be cut and wires added to space them apart as you wish.
 
Last edited:

KeepItSimpleStupid

Well-Known Member
Most Helpful Member
There is no manual at all. This will be scratch built. I'm going with the KISS rule. Get one string/horse working, then duplicate it however many times I need later. I can manually stop the game at the end by ringing the winner bell. One day Ill have it automatically stop.

[deleted] So game plan: build one, reproduce. I think all I need is to know the voltage of each row. My power can be addressed using AC to DC converter powering all circuits. If each uses 5 volts then I'll need 50 to 60 volts for ten players minimum.

Does this sound like it's a workable plan? I feel breaking it down to individual players allows me flexibility.
Is it broken down by players or horses?

If each uses 5V, that basically means more current, not voltage. Each is on individually, so that's "in parallel" so to speak.

If you assume, no neopixels, then each "LED" COULD BE a series of LEDS with a resistor and even a higher supply voltage.

It's not unusual for a system to have multiple voltage or locally generated ones.
You might have 5, 3.3, 12, and 24V. Analog projects could have +-5 or +-12 or +-15V and even wierd stuff like -0.2 V and +5V
 

Mike Atencio

New Member
If you go with neoliberal, make sure you get a microcontroller that has the speed needed to control the neopixel. The neopixels are kind of a pain in the ass with slower Microcontrollers. An Arduino Teensy seems to be the best from my experience. The 3-wire system of neopixel means the chips have their own clock and off pixels and on pixels are set by carefully timed pulse trains.

The "DotStar" LEDs are slightly more expensive but have a fourth pin so the clock is set by the arduino instead of trying to match the clock speed of the arduino+neopixel. Arduino libraries exist for both styles of light strips.

Each can also be cut and wires added to space them apart as you wish.
Thank you. I'm not as knowledgeable as most people here. Your comment helps me a lot. Any experience with Espruino?
 

KeepItSimpleStupid

Well-Known Member
Most Helpful Member
I'm still looking at the project as a set of 24 LEDs and detecting WIN and maybe some other stuff with all of the processors seeing the switches. It might not be the best way.

Then you said something like 4 horses per player. Is that selectable (once for everyone). Maybe you want a short game?
Selecting the number of players and horses/player.

Maybe a LED showing what "line" is active. Do you need a Player ID # to display on a board.

Say to initial displays: Players and horses/player. Later that might be player/horse and you might have an LED indicating what "line" is active.

Those processors might also implement testing routines based on inputs.

example: All lights on. All horses respond to the inputs. All player horses respond to an input.

Think of a plan that incorporates every bell and whistle that you might want. Then pick what you absolutely must have.

Your hardware and particularly software could then evolve.

You don;t have good enough specifications yet. That's a little OK, because you were looking for ideas, but you need to define the problem better.
 

ChrisP58

Well-Known Member
You mentioned in your first post that the three lanes have one, two or three switches. So if the ball goes through lane three, it hits three switches and increment the count by three.

But if you do the game in software, you only need one switch per lane. The processor knows that:
- if it sees a closure on the switch in lane one, it should increment the count by one.
- if it sees a closure on the switch in lane two, it should increment the count by two.
- if it sees a closure on the switch in lane three, it should increment the count by three.
 

Latest threads

EE World Online Articles

Loading

 
Top