Electronic Scoreboard

Discussion in 'The Projects Forum' started by neilgr, Apr 22, 2016.

  1. neilgr

    Thread Starter New Member

    Apr 20, 2016
    11
    0
    Hi everyone,

    I'm interested in building an electronic scoreboard for my sports club. I have a very basic understanding of electronics but zero programming eperience. The design I have in mind is similar to scoreboard in the picture below...

    [​IMG]

    I've read several threads on the topic already, and have found one which I think maybe applicable to this project.

    http://forum.allaboutcircuits.com/threads/need-help-building-a-scoreboard-counter.107242/page-2

    In the thread @elec_mech suggested using the hardware option with CD40110 counters and ULN2004 amplifiers. The only differences will be the number of and type of seven segment displays (will be using led strips instead) and that I plan to control the display wirelessly. I'm thinking the digits will be 12" so each segment will be 6" and I plan on using something like this for the wireless control (obviously with more channels). I understand most of the calculations in the above thread and I think I can modify the schematic/design to suit my design, however I'm having trouble in determining the total current needed and as a result determining a proper and apt power supply.

    Any assistance you can lend will be greatly appreciated.

    Neil
     
  2. elec_mech

    Senior Member

    Nov 12, 2008
    1,513
    193
    Welcome to AAC.

    There are a number of ways of making a display, but if you want to avoid programming, the CD40110 works quite well. To determine the current draw, you'll need to know how many LEDs you'll use, how they'll be wired, and their current draw. Let's go through an example using some numbers I'll pull out of the air, i.e., don't use this example as your design without verifying everything.

    Most LED strips run from 12VDC. Further, most strips allow you to break them up into groups of three LEDs at a minimum. Let's assume one set of three LED's is in series and pulls 20mA. Let's also assume each strip of three LEDs is about three inches long. We'll also assume you want to use two rows of LEDs per segment (the one you show has three rows per segment).

    Therefore, each segment will have four strips of LEDs where each strip needs 12VDC at 20mA each or 80mA total. Each digit has seven segments, so each segment will require 80 x 7 = 560mA. If you're trying to replicate what you pictured above, you'll need 15 digits or 15 x 560 = 8.4A. This is worst case if all the digits were lit and showing the number 8. Therefore, you'd want at least a 12VDC power supply rated for 9A or more. Again, this is an example with some gross assumptions.

    Also note that using the CD40110, all digits will be lit. In the display you pictured, the unused disgits are off. If you opt to use the CD40110, the unused digits will display zero. If you're okay with this, you're set. If not, you'll probably want to look at a microcontroller solution. These aren't too bad, it really boils down to what you want to do.
     
  3. Dyslexicbloke

    Active Member

    Sep 4, 2010
    420
    19
    You can actually do that with bucket load of diodes and some wafer switches, 10 position, but to be honest a microprocessor, perhaps an arduino whic comes woth a huge cominity of users and downloadable code, would be quicker and probably easier and cheaper.

    I can offer pointers for both if it will help.
    Of course so can litterally thousnds of others ...
    https://www.google.co.uk/search?q=a...2qXMAhUhAsAKHUNbAcwQ_AUIBygB&biw=1280&bih=752

    Dont be intimidated by the programming. you rea not trying to do anything quick or complex so you will be able to find stock code to do much of what you need and use a device that is plug and play with a simple high level development environment.

    Al
     
  4. neilgr

    Thread Starter New Member

    Apr 20, 2016
    11
    0
    Thanks for the replies guys. @Dyslexicbloke I've actually found several projects which can be applicable with the relevant coding but I'm having trouble altering the code to suit my application, that's why I'm thinking about going the hardware route.

    @elec_mech ideally I would have liked for the digits to be off when not in use, but that's not a problem. I wasn't really planing on using a two rows for each segment. Do you think one will be sufficient or should I lean towards two? The viewing distance is roughly 120 - 150 ft....since I'm going the route of wireless control, will it affect the design in any way to the design stated in the aforementioned thread?
     
  5. Marley

    Member

    Apr 4, 2016
    144
    40
    An interesting project but probably not for a beginner! I think you could tackle the project by breaking it into separate design areas:-
    • Design and build the large LED digits.
    • Design and build power drivers for the digits.
    • Doing the counting with discrete logic (CMOS gates and counters) or a micro-controller. This depends on...
    • How are you going to input the scores?
    The last one could be just buttons or switches. In which case logic probably OK. Or better - use a laptop or desktop computer. It would be nice to write a simple application in VB or even Python that has a screen display similar to the scoreboard and have the PC upload the numbers to the scoreboard whenever anything changes. Probably by using a serial connection to a micro-controller. Then the scorer sees the same thing as everyone else so no errors.
     
  6. elec_mech

    Senior Member

    Nov 12, 2008
    1,513
    193
    With 12" tall digits, one should be good, but this will depend on the characteristics of the LED strips themselves, i.e., light output and viewing angle.

    I'm not quite sure what you're asking here, but a quick search on digit height and viewing distance turns up you'd want a minimum digit height of 4" to see from 150 feet. 12" tall digits should be easily seen at that distance, but again it will depend on the light output (mcd) and viewing angle of the LED strips. I'd suggest making on digit with one strip per segment then testing it out where you'll wish to use this. You also need to think about factors light viewing at dusk/night vs. full on daylight. You'll need brighter LEDs for daylight and dimmer ones for night. If you need to see the display in both conditions, you may need to add a way to switch the resistance to the LEDs to change the brightness.

    You'll also need to put a lot of thought into the case design to keep the elements out but keep the electronics cool.

    Do you want to recreate the pictured display in your original post exactly? If not, could you tell us what you want to display?
    Example:
    Score A - 3 digits
    Score B - 3 digits
    Etc.

    If you want certain digits left blank some of the time, you could do it with a CD4510 and CD4543 in place of the CD40110, but you'll need to add a lot of electronics for that functionality. A microcontroller route isn't too bad - I can't make any promises on a quick turnaround, but I can write the program and provide a schematic. I would use a PICAXE microcontroller as these use a form of BASIC programming language which, in my opinion, is the easiest language to get started with programming microcontrollers. If you go this route, we can use a MAX7219 which can control up to eight 7-segment digits. These aren't cheap (about $12 apiece), but they'll save a lot of time and hardware. There are some slightly less expensive alternatives we can play with as well if you're on a shoestring budget.

    If you want to get some ideas, take a look at a couple of chrischrischris's posts here and here. He's undertaken a similar project for his soccer club in Australia and it's turned out beautifully. He put in a ton of work and it is a professional job.
     
  7. Marley

    Member

    Apr 4, 2016
    144
    40
    In fact, If I was doing this, I might design just a single 7-segment big digit with drivers and a small micro-controller. Only 7 outputs required. Possibly make a PCB for it. The micro-controller would receive an RS232 string with an address (to select the digit involved) and a data byte (that is the number to display). There would be a special code that will blank the display (zero and blank - different bytes).

    Then each digit is exactly the same electronics. Make however many you need.

    Now write some PC software to output serial strings to remotely update the digits. Bit like DMX in a way! But with digits instead of lights.
    Nice!
     
  8. neilgr

    Thread Starter New Member

    Apr 20, 2016
    11
    0
    Will do...

    Any suggestions on how to go about doing this? Is it something fairly simple to do?

    This is the only part of the project that I have any sort of confidence in. Have a background in mechcanical engineering so I've got this part covered.

    Ideally, yes. If all else fails, then as a last resort, it can work with only the "Total" "Wkts" and "1st Inngs" displays.

    Honestly, I don't mind all the digits being lit (that will be just being too picky)

    I've actually found some coding for a two digit up/down counter. It's for a PIC16f877 and I think it's written in assembly code. I've tried to modify the code to count up to three digits but I've failed miserably.

    Here's a link to the code...

    http://www.electro-tech-online.com/threads/00-99-count-up-down-using-pic16f887a.136079/page-2

    I'm not if you can or will be willing to modify it for me?

    Once again thanks for all the assistance thus far.
     
  9. neilgr

    Thread Starter New Member

    Apr 20, 2016
    11
    0
    This was the plan initially, but I have tried and failed on several occasions (this project has been in the pipeline for almost 4 years) so the "hardware" is my last resort.

    I have absolutely no clue what you're suggesting here. o_O:(
     
  10. AnalogKid

    Distinguished Member

    Aug 1, 2013
    4,542
    1,251
    He's saying this - rethink your project as a requirement for 13 digits. Each digit takes in RS-232 for a number, has an adjustable address number from 1 to 13, and drives a large single-digit display. Then string them together on a serial line. To change a number, send out a two-character sequence, digit address and digit value. At RS-232 speeds even multi-digit updates would appear simultaneous.

    This reduces the electronics design and construction to a single, relatively easy project that is then built in quantity. The tradeoff is that whole RS-232 interface thingy, which you've already said you are struggling with.

    A hybrid approach is to search ebay for low-cost large LED counter displays, which might completely eliminate the circuit design part. But the need for software to drive them still will be there. Maybe the thing to do is work out the best hardware approach here, then move to one of the software fora for the laptop controls.

    ak
     
  11. Pjam

    New Member

    Apr 25, 2016
    8
    2
    If it's cricket........... and that is a cricket score board, then surely they traditionally are of an analog design ....... white board painted black numbers, powered by an ex-player or players wife supplied with cheese and pickle sandwiches :)

    Sorry, poor joke.
     
  12. AnalogKid

    Distinguished Member

    Aug 1, 2013
    4,542
    1,251
    If you're going to eschew traditional analog display techniques, just put up binary bars and be done with it.

    ak
     
  13. Dyslexicbloke

    Active Member

    Sep 4, 2010
    420
    19
    I agree with the addressable digit approach but I would be inclined to suggest using a slightly different approach...

    RS3232 is a serial system that has a specification which applies to both its physical characteristics and its protacol, the way in which the data is exchanged. It is also specifically designed as a point to point link and uses two data lines, one to transmit and one to receive...

    Now you could probably use 323 and muck about with a single device that looks for a message addressed to a specific digit and then eitnjer forwards that massage or handle that specific digit its self but I suspect there is an easier way...

    RS485 is a serial link that is designed to talk to multiple devices... each with an address. It uses two lines, actually 3 with the ground, but they are differential, Hi/Lo is a 1 and Lo/Hi is a 0 with anything else being an error. (Well mostly but that will do for now.)
    The protocol is not defined by the RS485 standard, not even the addressing so s bought RS485 transceiver is essentially transparent, put in a 1 and you will get out a 1 on any device connected to the line.
    The differential signals make it very robust and at low speeds it will work over km's of cheap twisted pair.
    Since all data is transferred on essentially one data line the system is half duplex meaning only one device can talk at once so a master is usually employed to talk to or question some slaves...
    No1 do this > / < Ok done that / No2 what is your value > / < Its 5 / No 3 make your value 6 > / < Ok done that .... and so on.

    since only one device ever talks at a time this will also work with a single band radio architecture....

    If you built single digit devices with a, each with a configurable address - dip switches, you could have as many as so or so on a single bus.
    since each number only has 7 segments and a point you could code the entire value, including off, in a single 8 bit word.
    Every device apart from the master, would be the same so you only need one relatively simple circuit however complex your board might get.

    Your master could be anything but I would be inclined to agree that a PC is probably the most flexible option and is likely to be easier to program than a dedicated device, testing wouldn't need a master at all just a terminal that comes with windows and just about every other OS.

    Your protocol would not need to be complex in fact yopu could probably hardwire a rudamentary system using shift registers and gates.
    [Of course if you went with Arduino you could buy the serial modules, wireless or wired, and use a modbus RTU protacol whic although comples would do everything you need without going beyond the example code...]
    The same may well be true of pic or any of its basic variants and probably a raft of other uP's but I suspect that Arduino will be most accessable and probably cheapest.

    Your master would send a set of bytes, these are called packets in this context and contain data and instructions and a slave, one of your digits, would respond...
    Master sends
    Start byte - Causes everything to listen for an address byte.
    Address byte - Everything receives this but only a device with a matching address keeps listing.
    Data or an instruction, just a single byte in your case - Only one device is listing now and it logs the data.
    Stop Byte - The device with logged data now displays it and stops listing, optionally sending a confirmation packet.

    Using a uP you would receive the whole thing and then process it doing it with logic would involve shifting bits into registers, each of which would have a specific function. If you are using a well defined protocol from stock code you would only need to worry about the data but doind this with discrete parts or manually handling the IO lines of a up you would need some way to time things.

    As there is no common clock every device needs a way to work out where the bits are, time wise, and look to see if is a 1, there, or a 0, not there. Many protocols 232 included do this by having a local clock which is 'synchronized' by the start bit so that is close to the master.
    Absolute timing is then used to find and process data bits. You could do this with counters but when shifting in data there is an easier way.

    Every bit, zeros included, start high. The rising edge indexes the register and 1/2 a cycle later the data is latched.
    A bit begins every cycle a zero ends 1/4 of a cycle later a 1 ends 3/4 of a cycle later ensuring when the latch pulse falls, usually a monostable, the correct value will be present in the shift register input.

    Of course there are literally hundreds of ways to go but if you want to keep it simple slow and understandable variable but width is a verry easy way to go. There is one caveat, you would need something to manipulate bits from a PC serial port, If you buy transceiver modules you will not need to worry about how they work but you will have to talk to them which makes simile shifting in much harder. Look at UART
    [Universal Asynchronous Transmit and Receive]

    Making something on the other hand is fairly simple if you go down the uP route

    What are your timescales? I am only asking because I am about to start building some mini IO modules using Arduino nano's.
    I was looking at modulus but as my comms requirement is very simple and I want the memory headroom for other things I may go with a custom library using interrupts and variable bit width.
    Whichever way I go what I am doing will do what you need with a very small modification and I would be happy to give it to you.

    Genuine Arduino boards are a little pricy if you are buying 13 at a time but a Chinese Nano copies, which I am using, are literally a couple of pounds each. There are other simmilar boards but the Nano is popular, capable comes with a USB interface.
    You can literally take it out if the bag plug in a USB lead and download the led flash test program whilst the kettle is boiling. you don't even need a power supply!


    Just one of these could do what you need, with a little multiplexing, but at the price 1 per digit is a cost effective easy way to go....

    Here;s the concept... build your digits with just 4 external connections, power and differential data lines.
    add some read switches to set the address. (read on)
    the 4 power lines attach to magnets, which mate with the chassis.
    A few additional magnets, set into the chassis influence the reed switches.
    Pot the whole lot...
    place a digit on the chassis, its 4 corners pick up power and data whilst the address magnets ensure it responds with the correct address.
    Every digit is identical and completely waterproof. blanks cover unused digit locations making the chassis waterproof...
    You could probably even patent this :)

    Whatever you do have fun.

    Al
     
  14. neilgr

    Thread Starter New Member

    Apr 20, 2016
    11
    0
    Hit the nail on the head there buddy! Sadly there are no ex-players available and it's cricket, we try to escape the wives for the day :D
     
  15. neilgr

    Thread Starter New Member

    Apr 20, 2016
    11
    0
    Will have a read @Dyslexicbloke will do a but more research and get back. I'm currently using software to score on my laptop, is there any way to link it to the scoreboard. It's software that has been purchased online....
     
  16. neilgr

    Thread Starter New Member

    Apr 20, 2016
    11
    0
    Thanks for the reply bro, will look into this option as well.
     
  17. GopherT

    AAC Fanatic!

    Nov 23, 2012
    6,061
    3,823
    Just buy a 50" Flat screen sMart TV and use the screen Mirroring feature so it displays what your laptop displays through wifi.
     
  18. AnalogKid

    Distinguished Member

    Aug 1, 2013
    4,542
    1,251
    Not a bad idea for indoors, but I don't think it will be visible/legible 1/2 (American) football field away.

    ak
     
  19. Dyslexicbloke

    Active Member

    Sep 4, 2010
    420
    19
    Linking to software....
    It would entirely depend on the software... Actually creating code to send data from a PC via some link, serial or otherwise isn't hard at all but only if you actually have access to the code which with a purchased product isn't likely unless it is open source.

    That said if the software exposes an API then you have the opportunity to bolt an extra bit onto it to handle the data for you. This is the most likely and easiest option if an option exists at all.

    Application Program Interface is a broad term that describes a way to talk to an application in a structured way.
    Lots of software exposes, makes available, API's that allow other software to interact with it either gathering information or even controlling the host application.

    If you research it you will find descriptions talking about instances and objects which is how it all works but what you would need to check first is what properties, data or actions, the API offers. If you find that it offers access to the currently displayed scores then ypou can lok at how you would go about actually doing that and then work out a method of sending the information to your display.

    Whats your budget? Have you considered a few rows of display stacked up, LED message boards I mean. These can be bought and will have some standard data interface.

    By the way check out COB LED's ... these are actually clusters of LED's on a single substrate that look like illuminated sheets or panels when on. LED Filaments are COB's that are long and thin. Don't confuse this with Cob bulbs, so called because they are clusters of single LED's arranged on a frame and look a little like a corn cob.

    I you tell me what you are using I will check for you if that helps...
     
  20. neilgr

    Thread Starter New Member

    Apr 20, 2016
    11
    0
    I've actually considered this. However, 50" starts at around $8000 (which is in Trinidad and Tobago dollars) and that's a bit out of my budget.

    The software I use is called "Total Cricket Scorer" and there is an option to actually link the software to a scoreboard. But these are prebulit scoreboards which can be purchased from a third party. I just assumed that since I will be building my own scoreboard this option won't work.

    From what I gather, basically the system will be using one board per digit? Does thatean that each digit will be controlled by a separate switch? Please, forgive my ignorance...

    Neil
     
Loading...