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

Laboratory 6

The document outlines an experiment aimed at establishing communication with a microcontroller board, specifically an Arduino, to control digital and analog input/output pins for specific tasks displayed on a computer monitor. It includes detailed instructions for programming the Arduino to toggle LEDs based on user input via the serial monitor and to read voltage outputs from connected components. The experiment successfully demonstrated interactive control over hardware components, providing practical insights into microcontroller functionality and programming.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views7 pages

Laboratory 6

The document outlines an experiment aimed at establishing communication with a microcontroller board, specifically an Arduino, to control digital and analog input/output pins for specific tasks displayed on a computer monitor. It includes detailed instructions for programming the Arduino to toggle LEDs based on user input via the serial monitor and to read voltage outputs from connected components. The experiment successfully demonstrated interactive control over hardware components, providing practical insights into microcontroller functionality and programming.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

OBJECTIVES: TO BE ABLE TO COMMUNICATE WITH THE MICROCONTROLLER BOARD

BY CONTROLLING THE DIGITAL AND ANALOG INPUT/OUTPUT PIN TO COMMAND

CERTAIN TASK TO BE DISPLAYED IN THE COMPUTER MONITOR WHILE DEMONSTRATING

THE ACTUAL OUTPUT.

MATERIALS:

QUANTITY COMPONENTS

1 ARDUINO

1 1K OHM POTENTIOMETER

1 BREADBOARD

20 JUMPER WIRES

6 LED

6 RESISTOR

SCHEMATIC DIAGRAM:
LABORATORY EXERCISES:

1. CREATE A PROGRAM THAT WILL DISPLAY TO THE MONITOR THE ALTERNATE

BLINKING OF ODD / EVEN LEDS EVERY TIME YOU ENTER A COMMAND KEY “O”

FOR ODD NUMBERS LED AND “E” FOR EVEN NUMBERS LED. USE 6 LEDS. ( REFER

TO LABORATORY ACT.#1: BLINKING LEDS)

CODE:

int ledpin1 = 4;

int ledpin2 = 5;

int ledpin3 = 6;

int ledpin4 = 7;

int ledpin5 = 8;

int ledpin6 = 9;

int serial;

void setup() {

pinMode(ledpin1, OUTPUT);

pinMode(ledpin2, OUTPUT);

pinMode(ledpin3, OUTPUT);

pinMode(ledpin4, OUTPUT);

pinMode(ledpin5, OUTPUT);

pinMode(ledpin6, OUTPUT);

Serial.begin(9600); }

void loop() {

if (Serial.available()>0)

serial = Serial.read();

switch(serial)

{
case 'O':

digitalWrite(ledpin1, HIGH);

digitalWrite(ledpin3, HIGH);

digitalWrite(ledpin5, HIGH);

delay(5000);

digitalWrite(ledpin1, LOW);

digitalWrite(ledpin3, LOW);

digitalWrite(ledpin5, LOW); *

delay(5000);

Serial.println("Odd on");

break;

case'E':

digitalWrite(ledpin2, HIGH);

digitalWrite(ledpin4, HIGH);

digitalWrite(ledpin6, HIGH);

delay(5000);

digitalWrite(ledpin2, LOW);

digitalWrite(ledpin4, LOW);

digitalWrite(ledpin6, LOW);

delay(5000);

Serial.println("even on");

break;

default:

digitalWrite(ledpin2, LOW);

digitalWrite(ledpin4, LOW);

digitalWrite(ledpin6, LOW);

digitalWrite(ledpin1, LOW);
digitalWrite(ledpin3, LOW);

digitalWrite(ledpin5, LOW);

Serial.println("all LED are off");

break;

}}}

2. CREATE A PROGRAM THAT WILL DISPLAY TO THE MONITOR THE VOLTAGE

OUTPUTTED IN DIGITAL I/O PIN WHERE LED IS CONNECTED EVERY TIME YOU

ENTER THE COMMAND KEY “ VLED”. ALSO, DISPLAY IN THE MONITOR THE

VOLTAGE BEING READ AT ANALOG I/O PIN WHERE THE POTENTIOMETER IS

CONNECTED REFERENCE AT THE SUPPLY VOLTAGE EVERY TIME YOU ENTER A

COMMAND KEY “ VPOT”. (REFER TO LABORATORY ACT.#3: LIGHT DIMMER)

CODE:

int ledPin = 9;

int serial;

float brightness1;

float voltageP;

const int potentiometerPin = A0;

float potentiometerMaxValue = 5000.0;

float resistance;

float voltage;

float brightness;

void setup() {

pinMode(ledPin, OUTPUT);

Serial.begin(9600); }
void loop() {

int potentiometerValue = analogRead(potentiometerPin);

if (Serial.available()>0)

serial = Serial.read();

switch(serial)

case 'L':

resistance = 5000 - (potentiometerMaxValue/1023.0) * potentiometerValue;

brightness = potentiometerValue/4;

brightness1 = potentiometerValue/204;

voltage = (5.0 * brightness)/255.0;

voltageP = 5 - (5.0 * brightness)/255.0;

analogWrite(ledPin, brightness);

delay(1000);

Serial.print("LED Output Voltage = ");

Serial.println(brightness1);

break;

case 'P':

resistance = 5000 - (potentiometerMaxValue/1023.0) * potentiometerValue;

brightness = potentiometerValue/4;

brightness1 = potentiometerValue/204;

voltage = (5.0 * brightness)/255.0;

voltageP = 5 - (5.0 * brightness)/255.0;

analogWrite(ledPin, brightness);

delay(1000);

Serial.print("Voltage Potentiometer = ");


Serial.println(voltageP);

break;

default:

analogWrite(ledPin, LOW);

Serial.println("LED is off");

break; } } }

OBSERVATION:

THE EXPERIMENT AIMED TO ESTABLISH COMMUNICATION WITH A MICROCONTROLLER

BOARD, UTILIZING DIGITAL AND ANALOG INPUT/OUTPUT PINS TO PROMPT SPECIFIC

TASKS DISPLAYED ON A COMPUTER MONITOR AND DEMONSTRATE CORRESPONDING

OUTPUTS. BY PROGRAMMING AN ARDUINO, ACTIONS WERE INITIATED UPON INPUTTING

DESIGNATED KEYS INTO THE SERIAL MONITOR, WITH THE CAPABILITY TO READ DATA

TRANSMITTED BY THE ARDUINO. LED ACTIVATION WAS CONTROLLED THROUGH

TYPING SPECIFIC KEYS, SHOWCASING INDIVIDUAL LED ILLUMINATION WHILE

DEACTIVATING OTHERS. THROUGH THIS SETUP, THE EXPERIMENT SUCCESSFULLY

ILLUSTRATED INTERACTIVE CONTROL OVER LED OUTPUTS VIA SERIAL

COMMUNICATION, FACILITATING PRACTICAL UNDERSTANDING OF MICROCONTROLLER

FUNCTIONALITY.
CONCLUSION:

IN CONCLUSION, THE EXPERIMENT EFFECTIVELY DEMONSTRATED THE CAPABILITY TO

COMMUNICATE WITH A MICROCONTROLLER BOARD, SUCH AS THE ARDUINO, UTILIZING

BOTH DIGITAL AND ANALOG INPUT/OUTPUT PINS TO COMMAND SPECIFIC TASKS

DISPLAYED ON A COMPUTER MONITOR WHILE SHOWCASING THE ACTUAL OUTPUT. BY

PROGRAMMING THE ARDUINO TO RESPOND TO DESIGNATED KEY INPUTS VIA THE

SERIAL MONITOR, THE EXPERIMENT PROVIDED A PRACTICAL ILLUSTRATION OF

CONTROL OVER LED ACTIVATION. THE PROVIDED CODE FACILITATED THE TOGGLING

OF LEDS BASED ON USER INPUT, WITH ACCOMPANYING FEEDBACK RELAYED THROUGH

THE SERIAL MONITOR. THROUGH THIS EXPERIMENT, PARTICIPANTS GAINED INSIGHTS

INTO SERIAL COMMUNICATION PROTOCOLS, SWITCH CASE STATEMENTS, AND THE

UTILIZATION OF ARDUINO'S CAPABILITIES FOR INTERACTIVE CONTROL AND FEEDBACK

MECHANISMS. OVERALL, THE EXPERIMENT SUCCESSFULLY SHOWCASED THE

PRACTICAL APPLICATION OF MICROCONTROLLER PROGRAMMING FOR REAL-WORLD

TASKS AND PROVIDED VALUABLE HANDS-ON EXPERIENCE IN INTERFACING WITH

HARDWARE COMPONENTS.

You might also like