Help Quote

"Simple" (lol) project... going to be honest, I'd love to learn to do this myself..but I need this quicker than my learning curve so hopefully someone here can whip this up for me (Upcoming car shows over the summer). In non technical terms I need my cars tach signal converted to variable current to control LED brightness. FSM says tach signal is 0-14v wave form. Best guess is the frequency changes with RPM 0-14v and 0-8500(ish) rpm? (Redline is like 8250) on a linear scale. I need it converted into current and a controller programmed to start to light up an LED at say...3k RPM and get brighter up to 100% at 6k-8k. I have red "angel eyes/halos/demon eyes" in my headlights that I want to get brighter as RPM's increase ("angry eyes") when Im on my track map. Guide me, do work, quote what you think is fair. Let me know what details are needed and I'll do my best.
LED's are x2 90mm rings (12v/18w/1.5A) and x2 95mm rings (12v/20w/1.7A) or x60 3020 LED's and x66 3020 LED's according to the specs.

Thanks for the consideration.

I don’t know where you’re from but around here what you are describing would not only be illegal, but also very confusing/upsetting to other drivers who would be seeing pulsing red lights coming up behind them. Probably not a good idea.

Its for the track, not a street car. Also, not pulsing, just dim to bright and to be honest they are more accent lights/DRL the headlights overwhelm them when on. Im simply asking for someone to create a controller to perform a task not take responsibility for its use but I appreciate the concern.

The hard part is reading the tacho signal. You didn't provide any information on that.

The moment you have that number it's a simple map() call to convert it into a brightness number of 0-255 and an analogWrite() call to give the LEDs that brightness.

get an oscilloscope and see if you have a PWM on the tacho.... if yes you can use pulseIn. Just remember that "quickly and inexpensively " rarely go together

I think those cost more than this project lol. Im literally day 1 even hearing about Arduino, let alone coding...this is strictly an I'll send you or do whatever is asked that involves say...a multimeter. I suck at soldering, ok with wiring. I'm basically looking for someone to send me a little black box with a wire for my tach input and a 12v output that runs the LED's, programmed and ready to go. The service manual for my car just says its a 0-14v, or more waveform. Im not quite sure the best way to convert what V=RPM. Best I can think to do is maybe just put a multimeter on the wire and rev the car up each 1k and see what it reads for voltage?

If it helps some, the halo rings are...
x2 95mm rings (12v/20w/1.7A/7.2ohm) x66 3020 LED's
x2 90mm rings (12v/18w/1.5A/8ohm) x60 3020 LED's

The Tach, still not sure about...its an older Subaru if that helps though.

BCush83:
If it helps some, the halo rings are...
x2 95mm rings (12v/20w/1.7A/7.2ohm) x66 3020 LED's
x2 90mm rings (12v/18w/1.5A/8ohm) x60 3020 LED's

LEDs don't have resistance as such. You can probably simply dim them by PWM - provided no fancy electronics included, just current limiting resistors for the LEDs.

The Tach, still not sure about...

You'll have to figure out that one first. Until you figure out how to read your tach, your project is on hold. Info as "an older Subaru" is quite useless - we need actual part numbers and data sheets to say something about such hardware, short of testing the real thing.

hmmm...best I have for testing is a multimeter. The vehicles service manual maybe hides a clue but Im not sure where to look. And I gather I need something to step 12v down to 5v obviously.

BCush83:
And I gather I need something to step 12v down to 5v obviously.

That's not so obvious... I remember reading here about some tachos producing a variable AC voltage... So you really have to know what signal you get. Especially with older cars I wouldn't be surprised if it's analog in nature, as that could drive a dial directly.

Im just taking a stab here....but if my tach signal is 0-14v+, wouldnt that be analog? Because wouldnt a PWM be 0-5v? Or...if I hooked up a multimeter and revved the car....wouldnt the voltage state consistent even as RPM's climb? and if analog wouldn't it just read 0-14v as the rpms climbed?

What year/model Subaru is it and where do you plan to get access to the tach signal from? 0-14 is a bit strange, but a lead acid battery float voltage is 13.8V so maybe that's where they got that voltage level from. PWM can be literally any voltage you want it to be, so that doesn't really mean anything.

wvmarle is correct, different cars have different ways of sending the RPM signal to the tach. Are you tapping into the signal going to the tach directly or do you have another access point?

Its a 98 Impreza (cluster/tach) with an 02 JDM Sti ECU. Getting the tach/RPM signal from the ECU..it runs directly to the tach. I didnt get time today but I was going to see if a multimeter would give me a clue...FSM says waveform, I was going to check voltage as I revved up and see if it changes or not. If not, I assume PWM, if it does Id assume analog?

Here's what I have to work with so far...

combmeter.pdf (955 KB)

ECU Pinout.pdf (62 KB)

Here's a real crappy MS paint mockup I made to give you an idea of the project. Basically my ECU has two maps...1 for the street (low boost), the yellow accent lights are on their own switch for when parked, turn off when headlights come on, the "angel eyes" are basically DRL and white/clear. When I switch to Map 2 (high boost/launch control) the angel eyes turn red and the accent lights turn red, but I want them dim/off, and get brighter as the RPMs climb and be 100% at say 5k to 8k. I hope that helps a little....

OK, so this page says it's a speed-dependent frequency, so that's not PWM. Pretty straightforward to deal with though. You essentially need me (or someone else) to build you a frequency to current converter. Long ago, there used to be dedicated chips that did that, but it's easy enough to do with a microcontroller. I would recommend that route, especially since you need adjustable current set points.

I would definitely suggest optically isolating the tach signal (I say that for everything car related).

Why frequency to current? Sounds to me more like a job for a buffer to clean up the signal, turning it into a nice block wave, and then read the frequency of that with the Arduino.
Such a block wave could also easily be created by an optocoupler. Just connect it to the input (you may need a high speed one such as the 6N137, normal optos don't go past a few kHz) and you will get a nice square wave on the output.
No matter, I'd want to connect the raw signal to a scope first to see how it really looks like, and what voltage is expected.
Then add a 500Ω-2k2 load to it, something that takes some 5 mA at the peak voltage, and see if it's still going strong (simulating the optocoupler).
If that's all OK, see what comes out on the other side of the optocoupler. That should be a clean 0-5V (or 3.3V) block wave.
The rest is easy. Read frequency, convert into PWM value for the LEDs, wire it all up.

fyi I believe those power ratings I gave where for the "pair" of rings, not each. But I did also just add to the project. I have 8 rings (2 per projector lens) 4 yellow/gold and 4 red (one internal pair lights up the "center" and then the other pair the halo rings.

Frequency to current to control his LED lighting levels. "Current." It's likely going to be a PWM output. Would be best to see the waveform, but if he doesn't have a scope, well so much for that. The site I looked at said it was 0-14V frequency modulated, which is pretty much what I expected.

Sounds like a fun project, but gonna be very hard to do without access to the actual car - and its the tach signal.