I'm having a little problem with the current project that I'm working on. I'm trying to make a big arduino clock with a 4 digit 7 segment display made out of ledstrips. Every segment consists of 1 piece of 12v ledstrip with 3 RGB LEDs on it. I'm going to use a DC 12V 1A power adapter to power both the arduino uno and the pieces of ledstrip. I know that you can simply control a 12V ledstrip with arduino using a MOSFET. However, usely you connect it to arduino ground and the negative if the power supply, but I am multifexing the display but can't use a digital pin as ground, because it is 12V. For all 7 segments(I'm not using the dot) I have a MOSFET hooked up, but if I lead all of them to arduino Ground I can't multiflex. I came up with the idea to replace the connect from MOSFET to arduino ground with another MOSFET in between. I will do this for all 4 digits of my clock. Now I can use the pin on the arduino ment for the digit as an output instead of input, so my arduino doesn't get fried. However, I don't know wether I should keep the wire that was originaly going from MOSFET 1 to negative of the power adapter the way it is, or that this one should also go true MOSFET 2 and then to negative power adapter. This way I would need 11 MOSFETs, but can I replays them with MOSFET arrays, like 2 ULN2803A, with 1 being a replacement for the 7 MOSFETs for the segments and the second one a replacement for the digit MOSFETs. Is this possible?
Once I have it all working for 1 colour, I would like to be able to change the colour. The way I see it, I would need to duplicate everything 2 times so I would end up with 33 MOSFETs that need to be controlled. That is not possible with the arduino uno. If I want to do this, do I have to get an arduino mega or is there some chip I can use to be able to control it with the uno? Please keep in mind that I will also need to add buttons, a speaker(or buzzer) and maybe a real time clock, so I cannot use all the 20 available pins on the uno just for the display.
May I already thank you for an answer. Djoerd
By the way, sorry for any spelling or grammar mistakes, I'm not a native speaker