0% found this document useful (0 votes)
38 views7 pages

ECE 2305 - Hardware Project 03

The document outlines a project for an Arduino-based Digital VU Meter that accepts an analog input voltage and displays its magnitude using a 10 LED display. It includes sections for a hardware diagram, program flowchart, Arduino source code, and a demonstration video link. The project aims to visually represent voltage levels with varying LED activations based on the input voltage percentage.

Uploaded by

Nl Fishing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views7 pages

ECE 2305 - Hardware Project 03

The document outlines a project for an Arduino-based Digital VU Meter that accepts an analog input voltage and displays its magnitude using a 10 LED display. It includes sections for a hardware diagram, program flowchart, Arduino source code, and a demonstration video link. The project aims to visually represent voltage levels with varying LED activations based on the input voltage percentage.

Uploaded by

Nl Fishing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

EE 2305 – Introduction to C Programming

Hardware Project 03

Digital VU Meter

Project Features: Analog Input and Digital Output.

Program an Arduino board to accept an analog input voltage and display the magnitude of the
voltage using a 10 LED display.

Input voltage = 0% of maximum (all LEDS off)

Input voltage = 30% of maximum

Input voltage = 70% of maximum

Document your program and include the following sections. Provide a brief description of the
system and how you are designing it to operate.

A. Hardware Diagram:
Provide a hardware diagram of the components.

Arduino UNO 13
12
3.3V ~ 11
5V ~ 10
Power

Digital Input / Output

Gnd ~9
Gnd 8
Vin 7
~6
A0 ~5
Analog Input

A1 4
A2 ~3
A3 2
A4 TX 1
A5 RX 0

1
B. Program Flowchart:
Draw a flowchart of the program.

Record voltage

Display percent of maximum


voltage

2
C. Arduino Source Code
Insert the Arduino Source Code into the document.
const int td = 10;
double v;
int R1 = 2;
int R2 = 3;
int Y1 = 4;
int Y2 = 5;
int Y3 = 6;
int G1 = 7;
int G2 = 8;
int G3 = 9;
int G4 = 10;
int G5 = 11;
double m = 1000; //maximum value for voltage
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
v = analogRead(A0);
Serial.print(v);
Serial.print('\n');
delay(td);

if (v < (m * 0.1))
{
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
digitalWrite(Y1, LOW);
digitalWrite(Y2, LOW);
digitalWrite(Y3, LOW);

3
digitalWrite(G1, LOW);
digitalWrite(G2, LOW);
digitalWrite(G3, LOW);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}
else if (v < (m * 0.2))
{
digitalWrite(R1, HIGH);
digitalWrite(R2, LOW);
digitalWrite(Y1, LOW);
digitalWrite(Y2, LOW);
digitalWrite(Y3, LOW);
digitalWrite(G1, LOW);
digitalWrite(G2, LOW);
digitalWrite(G3, LOW);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}
else if (v < (m * 0.3))
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, LOW);
digitalWrite(Y2, LOW);
digitalWrite(Y3, LOW);
digitalWrite(G1, LOW);
digitalWrite(G2, LOW);
digitalWrite(G3, LOW);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}
else if (v < (m * 0.4))
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, HIGH);
digitalWrite(Y2, LOW);
digitalWrite(Y3, LOW);
digitalWrite(G1, LOW);
digitalWrite(G2, LOW);
digitalWrite(G3, LOW);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}

4
else if (v < (m * 0.5))
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, HIGH);
digitalWrite(Y2, HIGH);
digitalWrite(Y3, LOW);
digitalWrite(G1, LOW);
digitalWrite(G2, LOW);
digitalWrite(G3, LOW);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}
else if (v < (m * 0.6))
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, HIGH);
digitalWrite(Y2, HIGH);
digitalWrite(Y3, HIGH);
digitalWrite(G1, LOW);
digitalWrite(G2, LOW);
digitalWrite(G3, LOW);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}
else if (v < (m * 0.7))
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, HIGH);
digitalWrite(Y2, HIGH);
digitalWrite(Y3, HIGH);
digitalWrite(G1, HIGH);
digitalWrite(G2, LOW);
digitalWrite(G3, LOW);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}
else if (v < (m * 0.8))
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, HIGH);
digitalWrite(Y2, HIGH);

5
digitalWrite(Y3, HIGH);
digitalWrite(G1, HIGH);
digitalWrite(G2, HIGH);
digitalWrite(G3, LOW);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}
else if (v < (m * 0.9))
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, HIGH);
digitalWrite(Y2, HIGH);
digitalWrite(Y3, HIGH);
digitalWrite(G1, HIGH);
digitalWrite(G2, HIGH);
digitalWrite(G3, HIGH);
digitalWrite(G4, LOW);
digitalWrite(G5, LOW);
}
else if (v < 1000)
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, HIGH);
digitalWrite(Y2, HIGH);
digitalWrite(Y3, HIGH);
digitalWrite(G1, HIGH);
digitalWrite(G2, HIGH);
digitalWrite(G3, HIGH);
digitalWrite(G4, HIGH);
digitalWrite(G5, LOW);
}
else
{
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(Y1, HIGH);
digitalWrite(Y2, HIGH);
digitalWrite(Y3, HIGH);
digitalWrite(G1, HIGH);
digitalWrite(G2, HIGH);
digitalWrite(G3, HIGH);
digitalWrite(G4, HIGH);
digitalWrite(G5, HIGH);

6
}
}

D. Demonstration Video
Record and upload a video demonstrating the operation of the circuit.

https://youtu.be/a_1nOKje0k4

Save the document as a PDF file and submit the PDF document to Blackboard.

You might also like