0% found this document useful (0 votes)
5 views

Che

Uploaded by

Nishitha P
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Che

Uploaded by

Nishitha P
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 103

EXPT 1 – BLINKING OF LED

TASK1 : BLINKING OF ONE LED AT A TIME


AIM: Interfacing LED with Arduino UNO and controlling the ON
and OFF time of the LED
APPARATUS REQUIRED: Arduino UNO, LED, Connecting wires
PROGRAM:
void setup()

pinMode(12, OUTPUT);

pinMode(11, OUTPUT);

pinMode(10, OUTPUT);

void loop()

digitalWrite(12, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(12, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(11, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(11, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(10, HIGH);
delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(10, LOW);

delay(1000); // Wait for 1000 millisecond(s

CIRCUIT:
TASK 2- BLINKING 2 LED’s AT THE SAME TIME
AIM: Interfacing LED with Arduino UNO and controlling the ON
and OFF time of the LED
APPARATUS REQUIRED: Arduino UNO, LED, Connecting wires
PROGRAM:
void setup()

pinMode(12, OUTPUT);

pinMode(11, OUTPUT);

pinMode(10, OUTPUT);

void loop()

digitalWrite(12, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(11, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(10, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(12, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(11, HIGH);
delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(10, HIGH);

delay(1000); // Wait for 1000 millisecond(s

digitalWrite(12, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(11, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(10, HIGH);

delay(1000); // Wait for 1000 millisecond(s

CIRCUIT:
TASK 3- TRAFFIC LIGHT
AIM: usage of traffic lights in a 4- way road system
APPARATUS REQUIRED: Arduino UNO, LED, Connecting wires
PROGRAM:
void setup()

pinMode(13, OUTPUT);

pinMode(12, OUTPUT);

pinMode(11, OUTPUT);

pinMode(10, OUTPUT);

pinMode(9, OUTPUT);

pinMode(8, OUTPUT);

pinMode(7, OUTPUT);

pinMode(6, OUTPUT);

pinMode(5, OUTPUT);

pinMode(4, OUTPUT);

pinMode(3, OUTPUT);

pinMode(2, OUTPUT);

void loop()

digitalWrite(13, HIGH);
delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(2, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(7, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(8, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(13, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(2, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(7, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(8, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(12, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(6, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(3, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(9, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(12, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(6, LOW);

delay(1000); // Wait for 1000 millisecond(s)


digitalWrite(3, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(9, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(5, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(10, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(11, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(4, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(5, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(10, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(11, LOW);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(4, LOW);

delay(1000); // Wait for 1000 millisecond(s)

CIRCUIT:
EXPT 2: Interfacing Potentiometer with Arduino UNO
Task 1: Control the delay in turn ON and OFF a LED ON and
OFF using Potentiometer
Aim: Interfacing Potentiometer with Arduino UNO to control the
delay in turn OFF and ON of a LED ON and OFF using
potentiometer.
Apparatus required: Arduino UNO, LED, connecting wires,
Potentiometer.
Program:
int sensor=A0;
int output=9;

void setup()

{
Serial.begin(9600);
pinMode(output, OUTPUT);

void loop()

{
int pot=analogRead(sensor);
Serial.println(pot);
delay(500);
analogWrite(9,pot);
digitalWrite(9,HIGH);
delay(5000);
digitalWrite(9,LOW);
delay(1000);

Circuit:
Task 2: Interfacing the RGB LED for RGB colours and create
different colours with LED
Aim: Interfacing the RGB LED for RGB colours and create
different colours with LED.
Apparatus required: Arduino UNO, RGB LED, connecting wires.
Program:
void setup()
{
pinMode(9, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}

void loop()
{
digitalWrite(9, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(9, LOW);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(11, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(11, LOW);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(12, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(12, LOW);
delay(1000); // Wait for 1000 millisecond(s)

Circuit:
Task 3: Control the colour combination of RGB LED using
potentiometer.
Aim: To control the colour combination of RGB LED using
potentiometer.
Apparatus required: Arduino UNO, RGB LED, connecting wires.
Program:
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);

void loop()
{

int port1 = analogRead(A0);


int port2 = analogRead(A1);
int port3 = analogRead(A2);
analogWrite(13,port1);
analogWrite(11,port2);
analogWrite(10,port3);

Serial.println(port1);
delay(1000);
Serial.println(port2);
delay(1000);
Serial.println(port3);
delay(1000);

Circuit:
EXPT3: INTERFACING TEMPERATURE SENSOR WITH
ARDUINO UNO
Task 1: Based on the temperature value turn the different
color LEDs
-40 to 45 degree Celsius: green colour turned ON other two
are turned OFF
45 to 80 degree Celsius: Yellow colour turned ON other two
are turned OFF
80 to 125 degree Celsius: Red colour turned ON other two
are turned OFF
Aim: Interfacing temperature sensor TMP36 with Arduino UNO
and based on the temperature value, turn the different color LEDs
Apparatus required: Arduino UNO, LED, connecting wires,
temperature sensor TMP36.
Program:
void setup()
{
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);

}
void loop()
{
int pot = analogRead(A0);
Serial.println(pot);

if(pot<196)
{

digitalWrite(9,HIGH);
delay(1000);

digitalWrite(8,LOW);

digitalWrite(7,LOW);

}
else if(pot>=196 && pot<256)
{
digitalWrite(9,LOW);
digitalWrite(8,HIGH);
delay(1000);

digitalWrite(7,LOW);

}
else
{
digitalWrite(9,LOW);

digitalWrite(7,HIGH);
delay(1000);

digitalWrite(8,LOW);

Circuit:
Task 2: Based on the temperature value turn the different
color LEDs
-40 to 45 degree Celsius : green colour should blink fast and
other two should be turned on but should not blink
45 to 80 degree Celsius : Yellow colour should blink fast and
other two should be turned on but should not blink
80 to 125 degree Celsius : Red colour should blink fast and
other two should be turned on but should not blink
Aim: Interfacing temperature sensor TMP36 with Arduino UNO
and based on the temperature value, turn the different color LEDs
Apparatus required: Arduino UNO, LED, connecting wires,
temperature sensor TMP36.
Program:
void setup()
{
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);

void loop()
{
int pot = analogRead(A0);
Serial.println(pot);

if(pot<196)
{

digitalWrite(9,HIGH);
delay(100);
digitalWrite(9,LOW);
delay(100);

digitalWrite(8,HIGH);

digitalWrite(7,HIGH);

}
else if(pot>=196 && pot<256)
{

digitalWrite(8,HIGH);
digitalWrite(8,LOW);
delay(100);
digitalWrite(9,HIGH);
delay(100);

digitalWrite(7,HIGH);

}
else
{
digitalWrite(7,HIGH);
delay(100);
digitalWrite(7,LOW);
delay(100);
digitalWrite(9,HIGH);

digitalWrite(8,HIGH);

Program Circuit:
Task 3: Based on the temperature value buzzer should give
beep sound after some threshold value of 80 Degree Celsius.
Aim: To give a beep sound using a buzzer when the temperature
value is more than 80 degrees Celsius.
Apparatus required: Arduino UNO, LED, connecting wires,
temperature sensor TMP36.
Program:
int buz = 7;
void setup()
{
pinMode(A0,INPUT);
pinMode(buz,OUTPUT);
Serial.begin(9600);
}
void loop()
{
float v=analogRead(A0);
Serial.println(v);

if (v>268.0f)
{
tone(7,1000,20);
delay(100);
}
}

Circuit:
EXPT 4: Interfacing IR sensor with Arduino UNO
Task 1: Count the number of times button 1 is pressed. If any
other button is pressed it should not count
AIM: To count the number of times button 1 is pressed. If any
other button is pressed it should not count
APPARATUS REQUIRED: Arduino UNO, connecting wires,
IR_sensor
PROGRAM:
int rcvPin=11;
IRrecv irrecv(rcvPin);
decode_results results;
int count = 0;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(5, OUTPUT);
}
void loop() {
if(IrReceiver.decode())
{
auto value= IrReceiver.decodedIRData.decodedRawData;
switch(value)
{
case 4010852096:
count+=1;
Serial.print("1 button pressed");
Serial.print(count);
Serial.println("times");
Serial.println(" ");
break;

default:Serial.println(value);

}
IrReceiver.resume();

CIRCUIT:
RESULT: Counting the number of times button 1 is pressed is
done.
Task 2: Increment the counter value if the “VOL + “is pressed
and decrement the value if the “VOL + “is pressed
AIM: To Increment the counter value if the “VOL + “is pressed and
decrement the value if the “VOL + “is pressed
APPARATUS REQUIRED: Arduino UNO, connecting wires,
IR_sensor
PROGRAM:
#include<IRremote.hpp>
int rcvPin=13;
IRrecv irrecv(rcvPin);
decode_results results;
int i=0;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();

}
void loop() {
if(IrReceiver.decode())
{
auto value= IrReceiver.decodedIRData.decodedRawData;
if(i<100)
{
switch(value)
{
case 4261527296:
Serial.println(++i);
break;

case 4127833856:
Serial.println(--i);
break;
}
}
else
Serial.println("maximum value");

IrReceiver.resume();

}
}

CIRCUIT:
RESULT: Incrementing the counter value if the “VOL + “is
pressed and decrementing the value if the “VOL + “is pressed is
done.

Task 3: Control the Traffic light based on the remote control.


“VOL +” is north direction should be green and “VOL -” is
south direction should be green, similarly for back ward and
forward button west and east direction should be turned on
with green color. When green in one direction all other
directions should be red.
AIM: To Control the Traffic light based on the remote control.
APPARATUS REQUIRED: Arduino UNO, connecting wires,
IR_sensor,LEDs
PROGRAM:
#include <IRremote.hpp>
int rcvPin=9;
IRrecv irrecv(rcvPin);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
pinMode(6, OUTPUT);
pinMode(2, OUTPUT);
}
void loop() {
if(IrReceiver.decode()) {
auto value= IrReceiver.decodedIRData.decodedRawData;

switch(value)
{
case 4261527296:

digitalWrite(12,HIGH);
digitalWrite(13,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(6,HIGH);
digitalWrite(4,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
break;
case 4127833856:
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(3,HIGH);
digitalWrite(2,LOW);
digitalWrite(6,HIGH);
digitalWrite(4,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
break;
case 4211392256:
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(6,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
break;
case 4177968896:
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(6,HIGH);
digitalWrite(4,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
break;

default: Serial.println(value);
}
IrReceiver.resume();
}
}

CIRCUIT:

RESULT: Controlling the Traffic light based on the remote control


is done
Exp :5 LCD Interfacing with Arduino UNO
TASK1: Interface the Temperature sensor and measure the
temperature in degree Celsius and print the value as “Temp::
deg. Cel : value” in 16X2 LCD screen
AIM: To Interface the Temperature sensor and measure the
temperature in degree Celsius and print the value as “Temp:: deg.
Cel : value” in 16X2 LCD screen.
Apparatus required: Arduino UNO, 16X2 LCD, connecting wires.
Program:
#define analog(A0)= sensorPin
#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,6,5,4,3);

void setup()
{
Serial.begin(9600);
pinMode(A0,INPUT);
lcd.begin(16,2);
}

void loop()

{
int reading = analogRead(A0);
float voltage = reading *(5.0/1024.0);
float temperatureC = (voltage-0.5)*100;
float temperatureF = (temperatureC*9/5)+32.0;
Serial.print(temperatureC);
Serial.println("DEGREE CELCIUS");
lcd.setCursor(0,0);
lcd.print("TEMP::DEGREE CELCIUS:");
lcd.print(temperatureC);
lcd.scrollDisplayLeft();
delay(500);
}

Circuit:

RESULT: Thus by interfacing temperature sensor with Arduino


UNO, there is observation of current temperature indisplay screen
of LCD
TASK 2:Interface the 3 push buttons with Arduno UNO and
do the following
When button 1 is pressed : turn on the Green LED : print as :
“Coffee” in LCD Screen
When button 2 is pressed : turn on the Blue LED : print as :
“Tea” in LCD Screen
When button 3 is pressed : turn on the RED LED : print as :
“Soda” in LCD Screen

AIM: To Interface the 3 push buttons with Arduino UNO.


APPARATUS REQUIRED: Arduino UNO board, breadboard,
16X2 LCD, Resistor,3 coloured LED bulbs and connecting wires.
PROGRAM:
// #include LiquidCrystal lcd(12,11,5,4,3,2);
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(8,INPUT);
pinMode(7,INPUT);
pinMode(6,INPUT);
lcd.begin(16,2);
}
void loop() { // read the state of the pushbutton button
State1 = digitalRead(6);
if (buttonState1 == HIGH) {
digitalWrite(13, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("COFFEE");
}
else {
digitalWrite(13,LOW);
}
buttonState2 = digitalRead(7);
if (buttonState2 == HIGH) {
digitalWrite(12,HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TEA");
}
else {
digitalWrite(12,LOW);
}
buttonState3 = digitalRead(8);
if (buttonState3 == HIGH) {
digitalWrite(11, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SODA");
}
else {
digitalWrite(11,LOW);
}
}
Circuit:
RESULT: Thus by interfacing Arduino UNO with pushbuttons and
LCD, the given task is completed
TASK 3: Interface the IR Remote , IR sensor and LCD screen.
When the VOL + button in remote is pressed, Increment the
count value and print as “ Volume Count” on the other hand
if the VOL + button in remote is pressed, decrement the
count value and print as “ Volume Count”
AIM: To Interface the IR Remote, IR sensor and LCD screen.
When the VOL + button in remote is pressed, Increment the count
value and print as “ Volume Count up ” on the other hand if the
VOL - button in remote is pressed, decrement the count value and
print as “ Volume Countdown”.
APPARATUS REQUIRED: Arduino UNO, 16X2LCD, IR Sensor,
IR remote control, resistor and connecting wires
PROGRAM:
#include <IRremote.hpp>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
int rcvPin=10;
int count=0;
IRrecv irrecv(rcvPin);
decode_results results;
void setup()

{
Serial.begin(9600);
lcd.begin(16,2);
irrecv.enableIRIn(); // Start the receiver

}
void loop()
{
if(IrReceiver.decode()) {
auto value= IrReceiver.decodedIRData.decodedRawData;
if(count<100);
switch(value)

{
case 4261527296:
count+=1;
Serial.println(count);
lcd.setCursor(0,0);
lcd.print("Volume Count up");
delay(500);
break;

case 4127833856: // Template


count-=1;
Serial.println(count);
lcd.setCursor(0,0);
lcd.print("Volume Count down");
delay(500);
lcd.scrollDisplayLeft();
break;

}
IrReceiver.resume(); // Receive the next value
}
}
Circuit:
RESULT: Thus by interfacing IR Sensor, IR remote control with
Arduino UNO, there is observation of above output in thedisplay
screen of LCD

Interfacing DC motor with DATE:


EXP :
Arduino UNO 21.09.202
6
4

AIM:
Interfacing DC motor with Arduino with and without
H bridge/ Driver IC L293D.
APPARATUS REQUIRED:
Arduino DC Motor, Driver IC, Battery.
Without Driver IC:
PROGRAM:
int black = 13;
int red = 11;
void setup()
{
pinMode(black, OUTPUT);
pinMode(red, OUTPUT);
}
void loop()
{
digitalWrite(black, LOW);
digitalWrite(red, HIGH);
delay(2000);
digitalWrite(black, HIGH);
digitalWrite(red, LOW);
delay(2000);
}
CIRCUIT:

With Driver IC:


PROGRAM:
void setup()
{
pinMode(3,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
void loop()
{
digitalWrite(3, HIGH);
digitalWrite(7, LOW);
digitalWrite(6, HIGH);
delay(2000);
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
delay(2000);
}
CIRCUIT:
TASK 1: Control the forward and reverse direction
of two DC motors using push buttons and Driver IC.
PROGRAM:
int Button1Pin = 0;
int Button2Pin = 0;
void setup(){
pinMode(4,OUTPUT);
pinMode(2,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(13,INPUT);
pinMode(11,INPUT);
}
void loop(){
Button1Pin = digitalRead(13);
Button2Pin = digitalRead(11);
digitalWrite(9, HIGH);
digitalWrite(2, HIGH);
if(Button1Pin == HIGH) {
digitalWrite(8, LOW);
digitalWrite(4, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
}
if(Button2Pin == HIGH) {
digitalWrite(8, HIGH);
digitalWrite(4, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
}
}
CIRCUIT:
TASK 2: Control the speed of two DC motor using
two potentiometers separately to control the speed
of two motors separately and also control the
direction using push buttons.

PROGRAM:
int Button1Pin = 0;
int Button2Pin = 0;
void setup()
{
pinMode(4,OUTPUT);
pinMode(2,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(13,INPUT);
pinMode(11,INPUT);
}
void loop()
{
Button1Pin = digitalRead(13);
Button2Pin = digitalRead(11);
int pot1=analogRead(A0);
int pot2=analogRead(A1);
analogWrite(9,pot1);
analogWrite(2,pot2);
if(Button1Pin == HIGH)
{
digitalWrite(8, LOW);
digitalWrite(4, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
}
if(Button2Pin == HIGH)
{
digitalWrite(8, HIGH);
digitalWrite(4, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
}
}
CIRCUIT:
TASK 3: Control the forward and reverse direction
of two DC motors using IR remote. For volume +
button the DC motor should rotate in forward
direction and Volume – button in remote it should
work in reverse direction.

PROGRAM:
#include <IRremote.hpp>
int rcvPin=3;
IRrecv irrecv(rcvPin);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(4,OUTPUT);
pinMode(2,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(13,INPUT);
pinMode(11,INPUT);
}
void loop()
{
if(IrReceiver.decode())
{
auto
value=IrReceiver.decodedIRData.decodedRawData;
if(value == 4261527296)
{
digitalWrite(9, HIGH);
digitalWrite(2, HIGH);
digitalWrite(8, LOW);
digitalWrite(4, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
}
else if(value == 4127833856)
{
digitalWrite(9, HIGH);
digitalWrite(2, HIGH);
digitalWrite(8, HIGH);
digitalWrite(4, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
}
else
{
Serial.println(value);
}
IrReceiver.resume();
}
}
CIRCUIT:

RESULT: Interfacing of DC Motor with Driver IC,


Potentiometer, IR sensor is successfully completed.
EXPT 7: INTERFACING SERVO MOTOR
TASK1: Controlling the angle of rotation based on the
number pressed in the IR remote. Example if 1 is pressed the
servo motor should rotate to 10 degree.2 is pressed the
motor should move to 20 degree, for 6 it should rotate to 120
degree, for 7 it should rotate to 14 degree etc.
AIM: To control the angle of rotation based on the number
pressed in the IR Remote
APPARATUS REQUIRED: Servo Motor,IR Sensor,IR
Remote,Arduino UNO.
PROGRAM:
#include<Servo.h>
#include <IRremote.hpp>
IRrecv irrecv(11);
decode_results results;
Servo servoBase;

void setup()
{
Serial.begin(9600);

servoBase.attach(A0);
servoBase.write(0);
irrecv.enableIRIn();
}
void loop()
{

if(IrReceiver.decode()){
auto value= IrReceiver.decodedIRData.decodedRawData;
switch(value){
case 4010852096:
servoBase.write(10);
delay(100);
case 3994140416:
servoBase.write(20);
delay(100);
case 3977428736:
servoBase.write(30);
delay(100);
case 3944005376:
servoBase.write(40);
delay(100);
case 3927293696:
servoBase.write(50);
delay(100);
case 3910582016:
servoBase.write(120);
delay(100);
case 3877158656:
servoBase.write(140);
delay(100);
case 3860446976:
servoBase.write(160);
delay(100);
case 3843735296:
servoBase.write(180);
delay(100);
default: Serial.println(value);
}
IrReceiver.resume();
}
}

CIRCUIT:

RESULT: Thus the angle of rotation is controlled by IR Remote .


TASK2: Control the angle of angle of rotation based on the
potentiometer and display the angle in the LCD screen

AIM: Control the angle of angle of rotation based on the


potentiometer and display the angle in the LCD screen
APPARATUS REQUIRED: Arduino
UNO,Potentiometer,LCD,Servo Motor
PROGRAM:
#include <Servo.h>
#include<LiquidCrystal.h>
LiquidCrystal lcd(11, 12, 5, 4, 3, 2);
Servo servoBase;

void setup()
{
lcd.begin(16, 2);
pinMode(A2,INPUT);
servoBase.attach(A0);
servoBase.write(0);
}

void loop()
{
int pot=analogRead(A2);
float value = (pot/1024.0)*180.0;
lcd.setCursor(0,0);
lcd.print(value);

servoBase.write(value);
delay(20);
}
CIRCUIT:

RESULT:Thus angle of rotation is controlled by potentiometer


and value is displayed on the screen.
TASK 3: Based on the dip switches control the angel of
rotation. Example for every 1 bit increment decide the angle
of rotation and based on the values in the dip switches
control the angle of rotation of the servomotor

AIM: Based on the dip switches control the angel of rotation.


Example for every 1 bit increment decide the angle of rotation and
based on the values in the dip switches control the angle of
rotation of the servomotor
APPARATUS REQUIRED:Servo motor,Dip switch,resistors
PROGRAM:
#include <Servo.h>
Servo servoBase;
void setup()
{
servoBase.attach(A0);
servoBase.write(0);
pinMode(7,INPUT);
pinMode(6,INPUT);
pinMode(4,INPUT);
pinMode(3,INPUT);
}
void loop()
{
int d1 = digitalRead(7);
int d2 = digitalRead(6);
int d3 = digitalRead(4);
int d4 = digitalRead(3);

if ((d1==0 && d2==0)&&(d3==0 &&d4==0))


servoBase.write(12);
else if ((d1==0 && d2==0)&&(d3==1 &&d4==1))
servoBase.write(24);
else if ((d1==1 && d2==1)&&(d3==0 &&d4==0))
servoBase.write(36);
else if ((d1==1 && d2==1)&&(d3==1 &&d4==1))
servoBase.write(48);
else if ((d1==0 && d2==1)&&(d3==0 &&d4==0))
servoBase.write(60);
else if ((d1==1 && d2==0)&&(d3==0 &&d4==0))
servoBase.write(72);
else if ((d1==0 && d2==0)&&(d3==1 &&d4==0))
servoBase.write(84);
else if ((d1==0 && d2==0)&&(d3==0 &&d4==1))
servoBase.write(96);
else if ((d1==1 && d2==1)&&(d3==1 &&d4==0))
servoBase.write(108);
else if ((d1==1 && d2==1)&&(d3==0 &&d4==1))
servoBase.write(120);
else if ((d1==1 && d2==0)&&(d3==1 &&d4==0))
servoBase.write(132);
else if ((d1==0 && d2==1)&&(d3==0 &&d4==1))
servoBase.write(144);
else if ((d1==1&& d2==0)&&(d3==0 &&d4==1))
servoBase.write(156);
else if ((d1==0 && d2==1)&&(d3==1 &&d4==0))
servoBase.write(168);
else if ((d1==1 && d2==1)&&(d3==1&&d4==0))
servoBase.write(180);
else if ((d1==0 && d2==1)&&(d3==1&&d4==1))
servoBase.write(192);

CIRCUIT:
RESULT:Thus dip switches are used to control the angle of
rotation in the servo motor
EXPT 8: I2C COMMUNICATION
TASK 1: Measure the temperature using temperature sensor
in Arduino Uno and Print the Temperature values in I2C LCD.
AIM: To measure the temperature sensor and print the values in
I2C LCD.
APPARATUS REQUIRED: Arduino UNO,Temperature sensor,
I2C LCD.
CODING:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(32, 16, 2);
void setup()
{

lcd.init();

lcd.backlight();
lcd.display();

}
void loop()

{
lcd.clear();
int reading = analogRead(A0);
float voltage = reading*(5.0 / 1024.0);
float C = (voltage - 0.5)* 100;
lcd.setCursor(0, 0);
lcd.print(C);
delay(2000);

CIRCUIT:

RESULT: Thus the LCD successfully printed the temperature


values from temperature sensor to LCD.
TASK 2: Measure the temperature using temperature sensor
in first Arduino Uno and Print the the Temperature values in
I2C LCD connected to the second Arduino Uno. Where the
first Arduino Should ask like the Master
AIM: To Measure the temperature using temperature sensor in
first Arduino Uno and Print the the Temperature values in I2C
LCD connected to the second Arduino Uno. Where the first
Arduino Should ask like the Master
APPARATUS REQUIRED: 2 Arduino UNO’s, Temperature
sensor, I2C LCD.
CODING:
// Master
#include <Wire.h>
void setup()
{
Wire.begin();
pinMode(A0,INPUT);
Serial.begin(9600);
}
void loop()
{
Wire.beginTransmission(1);
int pot=analogRead(A0);
float vol = pot*(5.0/1024.0);
int cel = (vol-0.5)*100;
Serial.println(cel);
delay(100);
Wire.write(cel);
Wire.endTransmission();
delay(5000);
}
\\SLAVE
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd_1(32, 16, 2);
int cel=0;
void setup()
{
Serial.begin(9600);
Wire.begin(1);
Wire.onReceive(receiveEvent);
lcd_1.init();
lcd_1.setCursor(0, 0);
lcd_1.backlight();
lcd_1.display();
lcd_1.clear();
}
void receiveEvent(int howMany)
{
cel = Wire.read();
Serial.println(cel);
}
void loop()
{
lcd_1.setCursor(0, 0);
lcd_1.print("TEMP:");
lcd_1.print(cel);
lcd_1.print(" C");
delay(5000);
lcd_1.clear();
}
CIRCUIT:

RESULT:The values from the temperature sensor in the master


arduino is successfully printed in the LCD of the second arduino.
TASK3: Based on the temperature Values from the
temperature sensor connected to the first Arduino UNO
Rotate the DC motor in forward and reverse direction
connected to the second Arduino UNO. If the temperature is
below 80 Degree Celsius the DC motor should rotate in
Forward direction else rotate in the reverse direction
AIM: To Based on the temperature Values from the temperature
sensor connected to the first Arduino UNO Rotate the DC motor
in forward and reverse direction connected to the second Arduino
UNO. If the temperature is below 80 Degree Celsius the DC
motor should rotate in Forward direction else rotate in the reverse
direction.
APPARATUS REQUIRED: 2 Arduino UNO’s,DC Motor,
Temperature sensor, Driver IC.
CODING:
\\MASTER
#include <Wire.h>
void setup()
{
Wire.begin();
pinMode(A0,INPUT);
Serial.begin(9600);
}
void loop()
{
Wire.beginTransmission(1);
int pot=analogRead(A0);
float vol = pot*(5.0/1024.0);
int cel = (vol-0.5)*100;
Serial.println(cel);
delay(100);
Wire.write(cel);
Wire.endTransmission();
delay(5000);
}

\\SLAVE
void setup()
{
Serial.begin(9600);
Wire.begin(1);
Wire.onReceive(receiveEvent);
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(13, HIGH);//set this pin to HIGH to enable motor driver

}
void receiveEvent(int howMany)
{
cel = Wire.read();
Serial.println(cel);
}

void loop()
{
if(cel<80){
digitalWrite(11, HIGH);
digitalWrite(9, LOW);
delay(1000);
}
else if(cel>=80){
digitalWrite(11, LOW);
digitalWrite(9, HIGH);
delay(1000);
}
}

CIRCUIT:
RESULT: Thus, when the temperature in below 80 degree celsius
in the temperature sensor , the DC Motor is rotating in forward
direction and when it is above 80 degree celsius , it is rotating in
reverse direction using I2C connection.
EXPT 9: INTERFACING LED WITH RASBERRY PI PICO
TASK 1: Design of 4 way traffic light using rasberry pi pico
board in Wokwi online simulator. Allow the vehicles to go in
only one direction at a time. Then yellow light in all the
directions. Followed by allowing the vehicles to another
directions. In a cyclic process.
AIM: To Design of 4 way traffic light using rasberry pi pico board
in Wokwi online simulator. Allow the vehicles to go in only one
direction at a time. Then yellow light in all the directions. Followed
by allowing the vehicles to another directions. In a cyclic process.
APPARATUS REQUIRED: LED, Rasberry pi pico board, resistor
PROGRAM:
void setup() {
// put your setup code here, to run once:
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(15, OUTPUT);
pinMode(13, OUTPUT);
pinMode(9, OUTPUT);
pinMode(28, OUTPUT);
pinMode(26, OUTPUT);
pinMode(20, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(5, OUTPUT);

void loop() {
// put your main code here, to run repeatedly:
//NORTH
digitalWrite(5, HIGH);
digitalWrite(1, HIGH);
digitalWrite(15, HIGH);
digitalWrite(28, HIGH);
delay(2000);
digitalWrite(5, LOW);
digitalWrite(1, LOW);
digitalWrite(15,LOW);
digitalWrite(28,LOW);
delay(2000);

digitalWrite(2, HIGH);
digitalWrite(8, HIGH);
digitalWrite(13, HIGH);
digitalWrite(26, HIGH);
delay(2000);

digitalWrite(2, LOW);
digitalWrite(8, LOW);
digitalWrite(13,LOW);
digitalWrite(26,LOW);
delay(2000);
//EAST
digitalWrite(20, HIGH);
digitalWrite(15, HIGH);
digitalWrite(7, HIGH);
digitalWrite(1, HIGH);
delay(2000);
digitalWrite(20, LOW);
digitalWrite(15, LOW);
digitalWrite(7,LOW);
digitalWrite(1,LOW);
delay(2000);

digitalWrite(2, HIGH);
digitalWrite(8, HIGH);
digitalWrite(13, HIGH);
digitalWrite(26, HIGH);
delay(2000);
digitalWrite(2, LOW);
digitalWrite(8, LOW);
digitalWrite(13,LOW);
digitalWrite(26,LOW);
delay(2000);

//SOUTH
digitalWrite(9, HIGH);
digitalWrite(1, HIGH);
digitalWrite(7, HIGH);
digitalWrite(28, HIGH);
delay(2000);
digitalWrite(9, LOW);
digitalWrite(1, LOW);
digitalWrite(7,LOW);
digitalWrite(28,LOW);
delay(2000);

digitalWrite(2, HIGH);
digitalWrite(8, HIGH);
digitalWrite(13, HIGH);
digitalWrite(26, HIGH);
delay(2000);
digitalWrite(2, LOW);
digitalWrite(8, LOW);
digitalWrite(13,LOW);
digitalWrite(26,LOW);
delay(2000);

//WEST
digitalWrite(3, HIGH);
digitalWrite(7, HIGH);
digitalWrite(15, HIGH);
digitalWrite(28, HIGH);
delay(2000);
digitalWrite(3, LOW);
digitalWrite(7, LOW);
digitalWrite(15,LOW);
digitalWrite(28,LOW);
delay(2000);

digitalWrite(2, HIGH);
digitalWrite(8, HIGH);
digitalWrite(13, HIGH);
digitalWrite(26, HIGH);
delay(2000);
digitalWrite(2, LOW);
digitalWrite(8, LOW);
digitalWrite(13,LOW);
digitalWrite(26,LOW);
delay(2000);

CIRCUIT:
RESULT:Thus a 4-way traffic system is made.
TASK 2: Display the scrolling text “Computer” in first line
and “HW Essentials” in the next line of the 16X2 LCD in
raspberry pi pic board in Wokwi online simulator.
AIM: To Display the scrolling text “Computer” in first line and “HW
Essentials” in the next line of the 16X2 LCD in raspberry pi pic
board in Wokwi online simulator.
APPARATUS REQUIRED: Rasberry pi pic board, LCD, Resistor.
PROGRAM:
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);

void setup() {
lcd.begin(16, 2);
lcd.print("COMPUTER");

lcd.setCursor(2, 1);
lcd.print("HW ESSENTIALS");
}

void loop() {
lcd.scrollDisplayLeft();
delay(300);
}

CIRCUIT:
TASK 3: Interface the PIR sensor with pi pic board in Wokwi
online simulator, if motion is detected print the output as
“ Motion detected” in Serial monitor and LCD 16X2. If no
motion is detected by the PIR sensor print as “NO Motion
detected” in serial monitor and 16X2 LCD
AIM: To Interface the PIR sensor with pi pic board in Wokwi
online simulator, if motion is detected print the output as “ Motion
detected” in Serial monitor and LCD 16X2. If no motion is
detected by the PIR sensor print as “NO Motion detected” in serial
monitor and 16X2 LCD.
APPARATUS REQUIRED: LCD Screen, PIR Sensor, Rasberry pi
pic board.
PROGRAM:
#include <LiquidCrystal.h>
#include<Arduino.h>

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);

void setup() {
pinMode(1, INPUT);
}

void loop() {
int m = digitalRead(1);
if (m == HIGH) {
lcd.begin(16, 2);
lcd.print("Motion Detected !!");
delay(1000);
}
else {
lcd.begin(16, 2);
lcd.print("No Motion Detected !!");
delay(1000);
}
}

CIRCUIT:
EXPT 10: Interfacing 7 Segment with Rasberry pi Pico
TASK1: Count the values from 0 to 20 using independent
seven segment displayes.
AIM: Count the values from 0 to 20 using independent seven
segment displayes.
Apparatus Required: Rasberipi pico, LED, connecting wires.
Program: int a = 1;
int b = 28;
int c = 9;
int d = 10;
int e = 11;
int f = 27;
int g = 22;
int aa = 2;
int bb = 21;
int cc = 12;
int dd = 13;
int ee = 14;
int ff = 3;
int gg= 8;
void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(aa, OUTPUT);
pinMode(bb, OUTPUT);
pinMode(cc, OUTPUT);
pinMode(dd, OUTPUT);
pinMode(ee, OUTPUT);
pinMode(ff, OUTPUT);
pinMode(gg, OUTPUT);
}
void two()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);

delay(1000);
}
void three()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(1000);
}
void four()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void five()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void six()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void seven()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
delay(1000);
}
void eight()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void nine()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void zero()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
delay(1000);
}
void one()
{
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,HIGH);
digitalWrite(gg,LOW);
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
delay(1000);
}

void eleven()
{
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(gg,LOW);
delay(1000);

}
void ten()
{
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(gg,LOW);

digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
delay(1000);
}
void twelve()
{
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(1000);

}
void thirteen()
{
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(1000);

}
void fourteen()
{
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(gg,LOW);
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);

}
void fifteen(){
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(g,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);

}
void sixteen(){
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);

}
void seventeen(){
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
delay(1000);
}

void eighteen(){
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(gg,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);

}
void nineteen(){
digitalWrite(aa,LOW);
digitalWrite(bb,HIGH);
digitalWrite(cc,HIGH);
digitalWrite(dd,LOW);
digitalWrite(ee,LOW);
digitalWrite(ff,LOW);
digitalWrite(g,LOW);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);

}
void twenty(){
digitalWrite(aa,HIGH);
digitalWrite(bb,HIGH);
digitalWrite(cc,LOW);
digitalWrite(dd,HIGH);
digitalWrite(ee,HIGH);
digitalWrite(ff,LOW);
digitalWrite(gg,HIGH);

digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
delay(1000);

}
void loop()
{

zero();
// one
one();
two();
three();
four();
five();
six();
seven();
eight();
nine();
ten();
eleven();
twelve();
thirteen();
fourteen();
fifteen();
sixteen();
seventeen();
eighteen();
nineteen();
twenty();
}

CIRCUIT:
RESULT:
Thus values are counted from 0 to 20 in seven segment

TASK 2: Interface the potentiometer with the Pi Pico and


scale the values of the potentiometer in the range of 0 to
1024. When the potentiomenter is in maximum position it
should have the value fo 1024 and minimum position it
should have the value of the 0. Display using the 4 digit
seven segment display
AIM: Count the values from 0 to 20 using independent seven
segment displayes.
Apparatus Required: Rasberipi pico, LED, connecting wires.
PROGRAM:
#include "SevSeg.h"
SevSeg sevseg; //Instantiate a seven segment controller object
void setup() {
byte numDigits = 4;
byte digitPins[] = {10, 4, 28, 15};
byte segmentPins[] = {11, 22, 18, 17, 16, 1, 13, 14};
bool resistorsOnSegments = false; // 'false' means resistors are on digit pins
byte hardwareConfig = COMMON_ANODE; // See README.md for options
bool updateWithDelays = false; // Default. Recommended
bool leadingZeros = false; // Use 'true' if you'd like to keep the leading zeros
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins,
resistorsOnSegments,
updateWithDelays, leadingZeros);
sevseg.setBrightness(90);
int val = 0;

}
void loop() {
int val = analogRead(26);
sevseg.setNumber(val);

sevseg.refreshDisplay();
}
CIRCUIT:
RESULT:
The value of potentiometer is displayed in seven segment
TASK 3: Interface the Keypad with the Pi Pico and display the
character in a single seven segment display. One character
at a time.
AIM: Count the values from keypad using independent seven
segment displayes.
Apparatus Required: Rasberipi pico, LED, connecting wires.
PROGRAM:
#include <Keypad.h>
const uint8_t ROWS = 4;
const uint8_t COLS = 4;
int a=28;
int b=27;
int c=22;
int d=21;
int e=20;
int f=19;
int g=18;
char keys[ROWS][COLS] = {
{ '1', '2', '3', 'A' },
{ '4', '5', '6', 'B' },
{ '7', '8', '9', 'C' },
{ '*', '0', '#', 'D' }
};
uint8_t rowPins[ROWS] = { 13, 12, 11, 10 }; // Pins connected to R1, R2, R3, R4
uint8_t colPins[COLS] = { 9, 8, 7, 6 }; // Pins connected to C1, C2, C3, C4

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void one()
{
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
delay(1000);

}
void two()

{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(1000);
}
void three()

{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(1000);
}
void four()
{
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void five()
{
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void six()
{
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void seven()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
delay(1000);
}
void eight()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void nine()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);

}
void zero()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);

}
void A(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
void B()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
void C(){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);

void loop() {
char key = keypad.getKey();
if (key != NO_KEY) {
switch (key) {
case '1': one(); break;
case '2': two(); break;
case '3': three(); break;
case '4': four(); break;
case '5': five(); break;
case '6': six(); break;
case '7': seven(); break;
case '8': eight(); break;
case '9': nine(); break;
case '0': zero(); break;
case 'A': A(); break;
case 'B': B(); break;
case 'C': C(); break;
case 'D': zero(); break;
default: // Handle unexpected inputs
break;
}
}
}
CIRCUIT:
RESULT:
Thus, the values from jeypad are displayed in single seven
segment display

You might also like