We am working on a project related to detect the RF signal. upon detection an LED will be ON and buzzer will sounds. the glow of the led becomes more when the signals are detected from near by, and dims as we move away from the source.
we wish to use several LED(about 7-8) and when the signal is strong all LEDs glow, as the signals fades the no. of glowing LEDs also decreases.
Now we are confused about the arrangement of LEDs, we think that the LEDs should connected in series, and it will work as desired.
If you really want to use the brightness change of the LED or LEDs as a signal-strength indicator, the current through the LED(s) will change their brightness in response. More current = more brightness.
Many radio receiver chips have some kind of Received Signal Strength Indicator (RSSI) output that produces a voltage proportional to signal strength. This can be used to drive one or more LEDs with the appropriate amplifier (since the RSSI output probably can't supply more than a couple of mA of current, and LEDs typically need 5-20 mA to glow brightly).
However, if you want to use several LEDs to indicate strength, you might want to use something like a LM3914 LED driver IC, which will light up to 10 LEDs in sequence when fed a voltage. This is an easy and popular method, and performs better than simply varying the glow of a light.
Yes, if you string similar LEDs in series, they will ALL grow brighter or dimmer at the same rate. But, it sounds like what you what is more like a "Bar Graph" effect. Marks solution is probably the best (use an LM3914).
BUT, if you want a cheap and dirty solution, then how about DISSIMILAR LEDs in series. For example, a Red LED in series with a Yellow LED in series with a GREEN LED. Each has a progressively higher forward voltage and thus each will dim at different rates--the Red will glow the longest, and the Green the shortest.
AND, of course, provide proper current limiting to that series string (of LEDs).
And, consider this. If you use an LM3914, you won't get an "analog" dimming effect, unless you modulate the current through the LEDs in the LM3914 circuit. Otherwise, you'll need to have an ADDITIONAL LED that indicates the level via brightness.
He could also use a PIC micro with adc with led’s coupled to a port if he wants pwm then he can do this as well using a led driver on i2c bus coupled to the pic or arduino
More modern up to date method of doing this now Yes that answer will work but in view of ever changing technology I’m suggesting that we try and move people forward into modern day technological approaches so that they are prepared for changes that lay ahead , many of them there are too these days
Here is another method and that is to drive an led coupled resistor assemby (led operated LDR) such as used these days to operate volume controls and analogue amplifiers I dont know if you have seen these but they are now regulary used on gain controls Opto coupled volume controls all done with optoelectronics now
Here is some code without adc but used on a pic micro which i used to measure light intensity
Written In pic basic I was expermineting at the time with automatic light sensing for vehicles but have put this to one side he could use this adapted for what he wants to do
[code] '**************************************************************** '* Name : LightMeter.BAS * '* Author : MD Harrington * '* Notice : Copyright (c) 2013 @www.harrington.force9.co.uk * '* : All Rights Reserved * '* Date : 14/04/2013 * '* Version : 1.0 * '* Notes : * '* : * '****************************************************************
Symbol T0IE = INTCON.5 ' TMR0 Overflow Interrupt Enable Symbol T0IF = INTCON.2 ' TMR0 Overflow Interrupt Flag Symbol GIE = INTCON.7 ' Global Interrupt Enable Symbol PS0 = OPTION_REG.0 ' Prescaler ratio bit-0 Symbol PS1 = OPTION_REG.1 ' Prescaler ratio bit-1 Symbol PS2 = OPTION_REG.2 ' Prescaler ratio bit-2 Symbol PSA = OPTION_REG.3 ' Prescaler Assignment (1=assigned to WDT 0=assigned to oscillator) Symbol T0CS = OPTION_REG.5 ' Timer0 Clock Source Select (0=Internal clock 1=External PORTA.4) Symbol RPBU = OPTION_REG.7 ' weak pull ups clearing set these to on Symbol LIGHTFLAG = FLAGS.0 ' Flag for detecting if we should check light intensity
Dim LIGHTVAR As Word Dim REPEATS As Byte Dim PORTVAL As Byte Dim TMRCOUNT As Byte Dim NEWVAL As Byte Dim CURVAL As Byte
If TMRCOUNT >= 0 And TMRCOUNT < 30 Then PORTB.7 = 1 End If
If TMRCOUNT >= 30 And TMRCOUNT< 60 Then PORTB.7 = 0 End If
If TMRCOUNT = 60 Then TMRCOUNT = 0 End If
TMRCOUNT = TMRCOUNT + 1
T0IF = 0 ' clear the timer overflow flag T0IE = 0
TMR0 = 0 ' clear the timer
Context Restore Retfie ' this is the end of the interrupt service routine ' ------------------------------------------------------------------------------------
Over_Int: START: GoSub INIT: ' call init this is the procedure that sets up ports etc
MAIN:
High PORTA.2
LIGHTVAR = RCIn PORTA.2, High ' read the value from the LDR ' store this in light value GIE = 0 ' disable Global interupt here T0IF = 0 ' clear the timer overflow flag TMR0 =0 ' Clear the timer
PORTVAL = LIGHTVAR.HighByte
' Assign to NEWVAL If PORTVAL > 0 And NEWVAL != PORTVAL Then NEWVAL = PORTVAL End If
If NEWVAL = 0 Then CURVAL = 0
Else If NEWVAL >= 1 And NEWVAL < 3 Then CURVAL = 1
Else If NEWVAL >= 3 And NEWVAL < 5 Then CURVAL = 3
Else If NEWVAL >= 5 And NEWVAL < 8 Then CURVAL = 7
Else If NEWVAL >= 8 And NEWVAL < 11 Then CURVAL = 15
Else If NEWVAL >= 10 And NEWVAL < 14 Then CURVAL = 31
Else If NEWVAL >= 14 And NEWVAL < 20 Then CURVAL = 63
Else If NEWVAL >= 20 And NEWVAL < 30 Then CURVAL = 127
End If
DelayUS 50 PORTB = CURVAL
T0IF = 0
GoTo MAIN
INIT: All_Digital = true ' turn off analogue module
' clear all interrupt flags etc
Clear INTCON Clear PORTB ' make shure no output on port b Clear PORTA ' make shure no output on port a Clear PORTVAL ' Clear PORTVAL variable Clear OPTION_REG ' Clear option register
' Set up the prescaler ' 15 times per second prescaler setting so in 30 counts 2s econds will elapse ' 15 counts 1 second has elapsed
PS0 = 1 PS1 = 1 PS2 = 0 PSA = 0
' start interrupt procedure
RPBU = 0 TMR0 = $00
Return
[/code]
Im busy right now but this is easily altered for adc input he may need to simply add an opamp to give hime the voltage swing up to 5volts for the input This howver works quite well with RC in on port measuting charge discharge time So pretty easy to implement
Just another suggestion for you different approacch to this
What you need to take into consideration is very soon the LM3914 will be obsolete you wont be able to buy them This is why Pic micro with adc and arduino or atmel if you like "The digital era "
This, while true, makes an old analog guy like me rather sad. It doesn't seem efficient to have to write a couple hundred lines of code if all you have to do is light a few LEDs, when that function had been contained in one simple IC. I know the Pic, etc., can do vastly MORE of course, but sometimes you only need to do one simple thing.
A few years ago I had to design a circuit to take NTSC or PAL analog video and convert it to its RGB (red, green, blue) analog component signals. In the 1980s this was accomplished with one 28 pin IC and a handful of parts, and one reasonably-competent engineer could have it working in a few days. 25 years later it took a microprocessor and two 64-pin digital chips to do the same job, plus MORE support parts and twice the power, never mind the week or two of programming and debugging. I'm not sure this is progress!
Throw way age So whats the answer Think Mark I know exactly what your saying and I also know there is much truth in what you say but now think re usable and think not out of work think extra work they have created and also think Why not simply reprogram one micro to do many jobs thus saving the PCB , also saving chips also creating more jobs
Whats the answer program a chip to do the same thing
What else springs to mind here
How about this for an example : You phone up a manuifacturer and ak for a specific chip " , whats theier normal answer , " We havent got that in stock " , which is true most of the time , Think also your client is sitting in anoter country and cant get this to work , whats the answer send him the hex code He plugs his unit into the network the units sends out a message and bing within five seconds after fitting one blank micro his unit is up and running again Wheres the stock control gone Its diminished ( No more Hard work ) Come on boys think !! Wakey , wakey time
Is this not far easier
Its acceptance Mark Its moving with times If we don’t point this out what’s going to happen when this all does change and their are no more analogue chips around that do this job
Do we just simply say nothing Edison long time ago produced a light bulb Today its led lighting , 12 volt systems Money saving cost effective less bills to pay
SOS may day may day officer down requesting urgent backup
Think one more stage I need to get an armed services units radio reprogrammed in a hurry, its an emergency They are out in a deadly combat zone He / She hasn’t got time to try and fit new Ics They under heavy fire The enemy have intercepted their radio units
What’s the answer Connect on this channel on a service channel maybe a mobile phone, satelight uplink what do I do ask him / her to do , plug the radio coms unit into the phone place the unit into PRG mode and I do what Mark send it a hex file over the air using channel hopping and recode the radios( multiple) in 5 milliseconds The difference between saving a platoon and not saving that platoon The difference between saving lives and not saving lives
Think further than this Mark Think how many parts they would have to carry all the time instead of one micro pluggable exchangeable easily connected easily reprogammed to suite a situation
Whats Up Mark ( think Think )
Thats Future of electronics my friend
Why do we need hackers aaah To see if the sytems can be penetrated Yes !!! Flipping well done at last
Think Positive Mark "Not negative" , all things happen for a reason
But, on the bright side, using a uController means you can make it do what you want it to do (i.e. not limited to the implementation of the specialized IC). Can't tell you how many times I've needed the output of the 555 timer to be inverted. In that case I use a 556 and use the second timer as an inverter ('cuz I also needed the drive capability of a 555 output =) But, with a PIC, I can just program the output (of course, this is probably a bad example, because there ain't no PIC that can drive like the 555 can!
Hi Mark. I must confess that software and microprocessors reallly scare me. I have always used hardware solutions only. I failed a microprocessor course, I think because lecturer was good with micros but bad at teaching. I can clearly see benefits particularly in DSP, as I am always interested in improving HF radio in strong QRM and QRN situations. Do you know of any literature which on its own can help? The other thing is that making a one of design in micros (as I understand) is very costy in that it cannot be done in a personal lab (like mine) I am quite dedicated and have a good DSO and an Agilent (new) spec ann with all the extras, I alsso am a prolific inventor especiallr in RF and have been for 50 yrs. i.e. I am a hard boiled veteran t RF dsign ha ha.
Tons and tons of literature for you on this page free for download and then go to Maplins , or Rs Components Or Farnel or Proton Basic Buy yourself a development kit from the above good prices at the moment
Compilers are often free Theres Code blocks , SDCC open scource , Eclipse etc , plus download ver 8.5 IDE from Microchip , you will need this
If you need extra help yell see what I can do for you
The discussion addresses the optimal arrangement of 7-8 LEDs to indicate RF signal strength, where more LEDs light up as signal strength increases and fewer as it decreases. Connecting LEDs in series results in all LEDs dimming or brightening uniformly, which does not achieve the desired bar-graph effect. A recommended solution is to use an LM3914 LED driver IC, which can sequentially light multiple LEDs based on an input voltage proportional to signal strength, providing a clear visual bar graph indication. However, the LM3914 may become obsolete, prompting suggestions to use microcontrollers such as PIC or Arduino with ADC inputs to digitally control LED brightness and count via PWM or direct port outputs, offering greater flexibility and modern design adaptability. Alternative low-cost methods include using dissimilar LEDs in series with different forward voltages to create varying brightness levels. The conversation also touches on the trade-offs between analog IC solutions and microcontroller-based designs, with some preferring simple hardware while others advocate for programmable digital approaches. Resources and tutorials for PIC microcontroller programming and development kits are recommended for those interested in adopting microcontroller solutions. Summary generated by the language model.