Communication Lab Project
Communication Lab Project
Project
On
“Universal Communication System Using Arduino (AM, FM, PM, TDMA, FDMA, CDMA,
DSBSC, SSBSC, ADC, DAC)"
Submission Date
Submitted To:
Project Title
Universal Communication System Using Arduino (AM, FM, PM, TDMA, FDMA, CDMA, DSBSC,
SSBSC, ADC, DAC)
Introduction
In this project, we built a simple and budget-friendly communication system using only one Arduino
Uno. Our goal was to demonstrate many communication techniques like AM, FM, PM, different types
of multiplexing (TDMA, FDMA, CDMA), and even signal conversions (ADC and DAC). This
system is easy to understand and very useful for learning and experimenting with communication
concepts.
Objectives
To show how amplitude, frequency, and phase modulation work using Arduino.
To simulate how TDMA, FDMA, and CDMA systems share channels.
To understand DSBSC and SSBSC signal generation.
To learn how to convert analog signals to digital and back using ADC and DAC.
To create the whole system using low-cost parts.
Components
Working Principle
Circuit Description
Potentiometers(Pin Diagram):
A0: Controls AM
A1: Controls FM
A2: Controls PM
LEDs:
Speaker:
VCC: Connect to 5V
SDA: Connect to A4
SCL: Connect to A5
Working Procedure
Circuit Design: We placed all components on a breadboard and connected them to the
Arduino.
Simulation in Matlab :
Code:
clc;
clear;
close all;
% Time vector
% Message signal
Am = 1; % Amplitude of message
% Carrier signal
Page 4 of 11
Ac = 1; % Amplitude of carrier
%% AM - Amplitude Modulation
am = (1 + 0.5*m) .* c;
%% FM - Frequency Modulation
%% PM - Phase Modulation
dsbsc = m .* c;
%% Plotting
subplot(3,2,1);
plot(t, am);
subplot(3,2,2);
plot(t, fm_signal);
subplot(3,2,3);
plot(t, pm_signal);
subplot(3,2,4);
plot(t, dsbsc);
title('DSBSC Modulation');
subplot(3,2,5);
plot(t, ssbsc);
subplot(3,2,6);
plot(t, tdma);
xlabel('Time (s)');
ylabel('Signal');
Results:
Simulation in Tinkercad:
We tested our code on Tinkercad to see how modulation and multiplexing worked.
(a)
(b)
Arduino Code:
// Arduino Universal Modulation Simulator
// Simulates AM, FM, PM, DSBSC, and SSBSC signals and outputs to Serial Plotter + LED
float t = 0.0;
const float dt = 0.01; // Time step
const float pi = 3.1416;
// Signal parameters
const float fm = 1.0; // Message frequency (Hz)
const float fc = 10.0; // Carrier frequency (Hz)
const float Am = 1.0; // Message amplitude
const float Ac = 1.0; // Carrier amplitude
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
// Generate base signals
float message = Am * sin(2 * pi * fm * t);
float carrier = Ac * sin(2 * pi * fc * t);
// Time step
delay(10); // Control sampling rate for Plotter (~100 Hz)
t += dt;
}
Page 8 of 11
Assembly:
Fig-6: Hardware Setup and Dispalying Results of The Project in Arduino Serial Plotter.
Page 9 of 11
Testing:
By turning the potentiometers, we could hear and see the changes in the speaker sound and LED
blinking.
Data Table
Applications
Advantages
Financial Implication
Total cost is under 1500BDT/=, and all the components are available online or in local electronics
shops. Most of them are reusable for future projects.
Page 10 of 11
Limitations
Conclusion
We successfully made a project using just one Arduino that shows many types of communication
techniques. It helped us understand how signals are modulated, converted, and shared using basic
electronics and coding. This project is perfect for students who want to learn communication systems
in a practical way.
References
B.P. Lathi, Modern Digital and Analog Communication Systems, Oxford University Press.