Hello i need some help with approach to a code.
I want to use a 4x4 keypad to interface with 4 digit 7 segment display that turns on a led when a correct code is entered. NOW heres the catch, as part of the project i have to use a 74HC573 chip (octal D latch) to display the numbers . I wrote a bunch of functions which can display whatever numbers i want on the 4 digit 7 segment but now i need to be able to enter a specific code with the key pad and check against that and turn on a specified led.
I am not too familiar with code but please help me out here
CODE
/*
Showing number 0-9 on a Common Anode 7-segment LED display
Displays the numbers 0-9 on the display, with one second inbetween.
A
---
F | | B
| G |
---
E | | C
| |
---
D
This example code is in the public domain.
*/
// Pin 2-8 is connected to the 7 segments of the display.
int pinA = 2;
int pinB = 3;
int pinC = 4;
int pinD = 5;
int pinE = 6;
int pinF = 7;
int pinG = 8;
int D1 = 9;
int D2 = 10;
int D3 = 11;
int D4 = 12;
int LE = 43;
#include <LiquidCrystal.h>
const int numRows = 4; // number of rows in the keypad
const int numCols = 4; // number of columns
const int debounceTime = 20; // number of milliseconds for switch to be stable
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pins as outputs.
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
}
void loop() {
// when a first number is pressed, call the function with the parameter of D1
// when a second umber is pressed, call the function with the parameter of D2
Seven(D1);//peramiter
delay(5);
Five(D2);
delay(5);
Zero(D3);
delay(5);
Two(D4);
delay(5);
}
void Zero(int D) {// Waht int you want on
digitalWrite(D, LOW);
//0
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("Zero");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
/*void Zero(int D) {
digitalWrite(D, LOW);
//0
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
delay(2000); // wait for a second
digitalWrite(LE, HIGH);
delay(100);
digitalWrite(LE, LOW);
Serial.println ("Zero");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}*/
void One(int D) { //must have D
digitalWrite(D, LOW);
//1
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("One");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
/*void One() {
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
//1
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
delay(2000); // wait for a second
digitalWrite(LE, HIGH);
delay(100);
digitalWrite(LE,LOW);
Serial.println ("One");
}*/
void Two(int D) {
digitalWrite(D, LOW);
//2
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("Two");
digitalWrite(LE, LOW);
Serial.println ("Two");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
void Three(int D) {
digitalWrite(D, LOW);
//3
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("Three");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
void Four(int D) {
digitalWrite(D, LOW);
//4
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("Four");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
void Five(int D) {
digitalWrite(D, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
//5
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("Five");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
void Six(int D) {
digitalWrite(D, LOW);
//6
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("Six");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
void Seven(int D) {
digitalWrite(D, LOW);
//7
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("Seven");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
void Eight(int D) {
digitalWrite(D, LOW);
//8
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(2000);
digitalWrite(LE, LOW);
Serial.println ("Eight");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
void Nine(int D) {
digitalWrite(D, LOW);
//9
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
//delay(2000); // wait for a second
digitalWrite(LE, HIGH);
//delay(100);
digitalWrite(LE, LOW);
Serial.println ("Nine ");
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D, LOW);
}
// We Need to add a the keypad and call the function created using the keypad. ForLoop might be needed