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

Task2 Micro

The document describes a program that uses a keypad to control the output of 4 LED pins on an Arduino. It initializes the keypad and shift register, then enters a loop to read the keypad input and light the corresponding LED pattern. The pin configurations and LED patterns for numbers 0-9 are defined.

Uploaded by

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

Task2 Micro

The document describes a program that uses a keypad to control the output of 4 LED pins on an Arduino. It initializes the keypad and shift register, then enters a loop to read the keypad input and light the corresponding LED pattern. The pin configurations and LED patterns for numbers 0-9 are defined.

Uploaded by

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

//name:fatma ahmed abdelazeem id:20180195

#include <Keypad.h>
const byte rows = 4;
const byte cols = 4;
char keys[rows][cols] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

byte rowPins[rows] = {11, 10, 9, 8};


byte colPins[cols] = {7, 6, 5, 4};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, rows, cols);

bool shft[] = {HIGH,HIGH,LOW};

void setup(){
configurePins();
initShitfReg();
}

int i = 0;
void loop(){
char key = keypad.getKey();
if (key != NO_KEY){
digitalWrite(13,shft[i]);
digitalWrite(12,HIGH);
switch(key){
case '0':
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
break;
case '1':
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
break;
case '2':
digitalWrite(0,LOW);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
break;
case '3':
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
break;
case '4':
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
break;
case '5':
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
break;
case '6':
digitalWrite(0,LOW);
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
break;
case '7':
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
break;
case '8':
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
break;
case '9':
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
break;
default:
break;
}
digitalWrite(12,LOW);
i++;
if(i==3){
i=0;
}
}
}

void configurePins(){

pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
}

void initShitfReg(){
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(12,LOW);
digitalWrite(12,HIGH);
digitalWrite(12,LOW);
}

You might also like