Apologies for coming in with some exceptionally basic questions, I am a complete newbie (for Christ sake Jim I’m a doctor not an engineer) but I need some simple answers before I spend all my time learning about raspberry pi, when I should be focussed on an arduino.
What I want seems quite simple, I want to monitor a digital signal’s frequency (as in how many activations per minute) as an input, ?potentially by induced current around a wire?, and output this immediately to an LED strip, so 1-10 activations is green, 11-20 is yellow, 21-30 is red etc..
Is an Arduino my key component? Can anyone volunteer what other hardware I need? Or direct me to where I can learn what I need to know?
As a doctor you need to know the symptoms, patient temperament and so on. Same with electronics and the simple answers, the yellow wire could be blond hair, activations per minute could be twitches, steps, etc, how do you know that. Did you measure induced current around a wire, which wire, and what is the current, what is the voltage? What is generating this signal. Remember we cannot see the patient, you can.
Doc we have as many problems trying to answer your question as you hopefully have answers for. As for starting material read the arduino cookbook, it will give you an idea of what you need and how big of an injection to give (which Arduino).
From the general explanation looks like it can be done with an Arduino or similar board, probably, but we need more details.
Which device generates the signal? datasheet or link?
How the signal looks? it's digital? a square wave pulse? which voltage range? What is the frequency range? I understand that it is in the order of several pulses per minute. How many levels or led colors? etc...
Is this a medical device?
Ok, so, with a little more detail. I want to visualise the RPM of a combustion engine.
Whilst there is all sorts of potential data points I could take this from on a modern car, I have been given to understand the traditional method used monitoring of ?pulse width modulation? Around the spark plugs/coil pack To record and display a figure. Well, I don’t want a number, I want a colour.
And by traditional, I mean I read (but didn’t understand) an early ?60s machine-mart article about how to create your own Rev gauge, because they weren’t routinely put on cars at the time
Understanding that Hz is your language, not mine I’ll take a punt.
But if I’m right that one on/off cycle per minute =1Hz, the range would be approx 400-3000Hz? Apologies if I’ve butchered that, but seriously, I’m a medic that plays with cars that’s trying to understand electronics.
How many LEDs? I don’t have a good answer for you at this stage, could be 10 could be 100. Understanding how to adapt for this would be amazing.
As for the change I’m gonna say all LEDs changing at the same time because as far as I can see the alternative would require aRGB which would be complex, or I’d need multiple outputs to match how many different rev ranges I want to capture. I would think it’s far easier to say all the same, but with lots of colours in the range.
So, is the sudden silence because you’ve all realised this is a hopeless endeavour, or is it just life is busy… if I’ve said something massively unrealistic or stupid, please do me favour and let me know.
No, I think that it is possible to do it with Arduino, but devil is in the details, and important details are not clear.
First thing to solve will be reading the pulses with Arduino. To simplify, the Arduino pins can read a signal between 0V and 5V. And do something when it changes from low to high or from high to low. For example counting the transitions and the time.
But I don't know the voltage range of your signal. if it is not around 0-5V then it needs to be conditioned.
How will you find it out? I don't know much about old (or new) cars electronics. I imagine that you plan to get the signal from some concrete place/device of the car. Spark plugs...? You need more details.
A multimeter will give you just the average voltage.
No. 1 Hz = 1 cycle per second.
But ok, then
So, 400-3000 cycles per minute? that would be 6.6 - 50 Hz. Not a problem for an Arduino. But I have no idea of the signal that you are interested in. It will be like a sine wave, or a square wave per revolution? width modulated?
With a raspberry pi would be the same problem.
Reading signals around the spark coil pack, it isn't pulse width modulation, it will be measuring the intervals between 12V-ish pulses. From one cylinder it could spark once every 2 revolutions, so you'd be looking at a signal of 200-6000 RPM /2/60 = 1.5Hz to 50Hz. And at that slow speed, rather than count the pulses in a period of time, you'd likely want to measure the intervals between pulses for higher resolution measurement and faster response. Arduinos handle that well: FreqMeasure Library, for Measuring Frequencies in the 0.1 to 1000 Hz range, or RPM Tachometer Applications
One problem is transforming the noisy 12V signal into something arduino compatible without interfering with the engine. I know folks do it, but I don't have advice for your particular situation, and whether a direct connection, a current transformer or whatever would be better.
Alternately, some folks use a hall sensor to detect the motion of the crankshaft or camshaft.
It's all doable with just about any arduino, but it depends on your details, engine, sensors, budget, skill, etc...
The old ignition driven analog tachometers were basically a frequency to voltage converter. They were usually connected to the negative side of the coil and the signal there was scaled to a lower voltage and cleaned up (oscillations due to driving the coil inductance) and then that signal usually triggered a monostable to get a stable pulse width over the RPM range. You chose the pulse width based on the maximum frequency. This pulse train was then integrated into an analog voltage that was read by an analog meter. You could substitute the Arduino for the analog meter and display the mapped voltage as a digital RPM value.
Want to thank you all for your input on this, I think I have a direction for reading now… Emily, it sounds like you have a pretty solid idea on this, not that I understood it all, but like I said, reading to be done.
I reserve the right to resurrect this post once I get thoroughly confused
Two doctors walk into a bar. First doctor asks, "How do I enable LEDs according to received RF?" Second doctor says, "Convert RF to DC, then 0 to 5 VDC, then feed Arduino ADC to enable the right LED."