Hey forum,
I’m working on a custom fog light setup for my car using 6 high power LED’s in each fog light. They are triggered by a MCP23008 and a ULN2803 with a seperate 7805 5V regulator per 3 LED’s and a seperate 5V regulator for just the MCP23008’s.
I will be using the car’s existing wiring for parking lights, turn signals, and low beam as inputs to control the brightness level of the LED’s as well as the sequential blinking of the LED’s.
Output wise it works great using pull up resistors to set the address of the two MCP23008’s. This is where the question start:
-
Do I need pulldown resistors on the unused address pins?
-
Do I need pullup resistors on the SCL and SDA lines form an Arduino Uno? If so do I need one on each MCP23008 or just the first one.
-
Is there any harm in bypassing the Arduino Uno’s DC input jack and connecting directly to Vin and GND on the header since I am using my own 3A diodes on the input line?
-
What is the best way to convert four 12 V (11.5 V - 13.8 V) signals to 5V as inputs to the MCP23008’s?
For that last question, the simplest solution is hooking up the input signals to each of their own 7805’s but that seems like a waste of four regulators. I could do a resistor network, but my initial attempts required that the input to the MCP23008 be above 4.6 V but I’m not sure what the max the MCP23008 can handle as the resister network would have some swing to it with the car voltage varying from 12 V when off to 13.8 V when on. Also I’m limited to the standard size resistors that come in Sparkfun’s resistor book, well without putting in an order to digikey or somewhere.
I’ve come up with using a 3300 and 4700 ohm resistor as a voltage divider which give 4.75 - 5.775 V (11.5 Vin - 14 Vin) at 0.245 W which is on the very edge of the resistors power rating. Since these are for two constant inputs that could be on for long road trips and on a PCB mounted in free air under my steering column area, keeping components relatively cool is a requirement.