Clear Filters
Clear Filters

How to modulate a Light emitting diode (LED) with four different frequencies: 1k, 1.25k, 1.75k and 2k? I want to modulate the LED to use it in indoor positioning process.

8 views (last 30 days)
How to modulate four Light emitting diodes (LEDs) with four different frequencies: 1k, 1.25k, 1.75k and 2k? I want to modulate the LEDs to use it in indoor positioning process.
LED1>>>>1K Hz
LED2>>>>1.25K Hz
LED3>>>>1.75k Hz
LED4>>>>2K Hz

Accepted Answer

Abhijeet
Abhijeet on 6 Mar 2023
Please use the following steps to modulate the four LEDs with different frequencies using MATLAB:
Define the frequency values for each LED as variables:
f1 = 1000; % frequency of LED 1
f2 = 1250; % frequency of LED 2
f3 = 1750; % frequency of LED 3
f4 = 2000; % frequency of LED 4
Define the sampling rate and the duration of the modulation signal:
Fs = 8000; % sampling rate
t = 0:1/Fs:1; % duration of modulation signal (1 second)
Create the modulation signals for each LED using the sine function and create a matrix to hold these signals:
mod1 = sin(2*pi*f1*t);
mod2 = sin(2*pi*f2*t);
mod3 = sin(2*pi*f3*t);
mod4 = sin(2*pi*f4*t);
modulation = [mod1; mod2; mod3; mod4];
Initialize the LEDs using the Arduino interface in MATLAB:
a = arduino();
led1 = 'D3'; % digital pin connected to LED 1
led2 = 'D5'; % digital pin connected to LED 2
led3 = 'D6'; % digital pin connected to LED 3
led4 = 'D9'; % digital pin connected to LED 4
configurePin(a, led1, 'DigitalOutput');
configurePin(a, led2, 'DigitalOutput');
configurePin(a, led3, 'DigitalOutput');
configurePin(a, led4, 'DigitalOutput');
Loop through the modulation signals for each LED and turn the corresponding LED on and off based on the signal value:
for i = 1:length(t)
if modulation(1,i) > 0
writeDigitalPin(a, led1, 1);
else
writeDigitalPin(a, led1, 0);
end
if modulation(2,i) > 0
writeDigitalPin(a, led2, 1);
else
writeDigitalPin(a, led2, 0);
end
if modulation(3,i) > 0
writeDigitalPin(a, led3, 1);
else
writeDigitalPin(a, led3, 0);
end
if modulation(4,i) > 0
writeDigitalPin(a, led4, 1);
else
writeDigitalPin(a, led4, 0);
end
pause(1/Fs);
end
This code will continuously loop through the modulation signals for one second, turning each LED on and off based on the corresponding signal value.
  1 Comment
Aly Khafagy
Aly Khafagy on 7 Mar 2023
Thank you so much, I have another question, i cannot find the LED bulb lamp on simulink, do you have any idea where can i find a LED lamp on simulink??

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!