The TL;DR version of my question is, how do you control 20 pieces of 12V/1A outputs in the most reliable, compact and cost efficient way, with something programmable?
The long version: I got a lightbar (like the ones on top of police cars) which didn't work, turns out it was some cheap Chinese one with a crappy controller which failed, and it could only control 4 lights at a time anyway (space, and cost saving wiring), so I took it apart, threw away the electronics and now I'm rebuilding it.
The problem is, I need 20 outputs for the LED modules, around 5 inputs (more is better) for controlling and I need to store the flash patterns of the lights somewhere.
I broke the solution into 2 pieces, one is a controller, other one is the electronics for handling the current.
For the controller, my initial thought was using an Arduino Mega, which has plenty of I/O, but I had reliability problems with using it in industrial environments, and I'd prefer a 'normal' programming language over Arduino's own, other than that I couldn't find anything commercially available with this many pins. I also thought using shift registers to work around the pin number problem, but I'm worried it might be too slow for rapid flashing. Any ideas for a controller / solution?
For the electronics part, the best method I found was using 20 MOSFETs, because they can be switched quick enough, for now it seems like a good solution but if anybody has a better idea, I'm open to suggestions.
Part-wise I'm only planning on building one controlller unit (maybe two) so the plan is to do it on a solderable prototype board, designing and printing a PCB seems overly complex, but if it can be made simple, saving a few hours of soldering is always a good idea :)