21bec1010 - Lab5 - Sri Rahul
21bec1010 - Lab5 - Sri Rahul
NO: 21BEC1010
TASK STATEMENT:
To interface a keypad and a 7-segment display with a microcontroller (such as
an Arduino) and demonstrate their functionality separately
CIRCUIT DIAGRAM:
PROGRAM:
7 – Segment display
int a=7;
int b=6;
int c=5;
int d=11;
int e=10;
int
f=8;
int g=9;
int dp=4;
//display number 1
void display1(void)
{
digitalWrite(b,LOW);
digitalWrite(c,LOW);
}
//display number2
void
display2(void)
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(g,LOW);
digitalWrite(e,LOW);
digitalWrite(d,LOW);
}
// display number3
void display3(void)
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(g,LOW);
}
// display number4
void display4(void)
{
digitalWrite(f,LOW);
digitalWrite(b,LOW);
digitalWrite(g,LOW);
digitalWrite(c,LOW);
}
// display number5
void display5(void)
{
digitalWrite(a,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
}
// display number6
void
display6(void)
{
digitalWrite(a,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
}
// display number7
void display7(void)
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
}
// display number8
void display8(void)
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(g,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
}
void clearDisplay(void)
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
}
void display9(void)
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(g,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(f,LOW);
}
void display0(void)
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
}
void setup()
{
int i;
for(i=4;i<=11;i++)
pinMode(i,OUTPUT);
}
void loop()
{
while(1)
{ clearDisplay();
display0();
delay(1000);
clearDisplay();
display1();
delay(1000);
clearDisplay();
display2();
delay(1000);
clearDisplay();
display3();
delay(1000);
clearDisplay();
display4();
delay(1000);
clearDisplay();
display5();
delay(1000);
clearDisplay();
display6();
delay(1000);
clearDisplay();
display7();
delay(1000);
clearDisplay();
display8();
delay(1000);
clearDisplay();
Keypad
#include <Keypad.h>
char keys[ROW_NUM][COLUMN_NUM] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
void setup(){
Serial.begin(9600);
}
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
}
RESULT:
VERIFICATION: