Che
Che
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
void loop()
digitalWrite(12, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(10, LOW);
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);
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(10, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
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);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(13, LOW);
digitalWrite(2, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(12, HIGH);
digitalWrite(6, HIGH);
digitalWrite(3, HIGH);
digitalWrite(9, HIGH);
digitalWrite(12, LOW);
digitalWrite(6, LOW);
digitalWrite(9, LOW);
digitalWrite(5, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(4, LOW);
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()
{
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.
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:
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:
{
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;
}
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
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:
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:
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:
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:
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:
\\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>
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>
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
}
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
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