#include "SevSeg.h"
#include "Keypad.h"
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','A'},
{'3','4','B'},
{'5','6','C'},
{'7','8','D'}
};
byte rowPins[ROWS] = {A7, A6, A5, A4};
byte colPins[COLS] = {A3, A2, A1};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int keyNum = 0;
char keyChar = 0;
SevSeg sevseg;
void setup() {
Serial.begin(9600);
byte numDigits = 4;
byte digitPins[] = {13, 12, 11, 10};
byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
bool resistorsOnSegments = false;
byte hardwareConfig = COMMON_ANODE;
bool updateWithDelays = false;
bool leadingZeros = false;
bool disableDecPoint = false;
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
updateWithDelays, leadingZeros, disableDecPoint);
sevseg.setBrightness(100);
sevseg.setChars("07.09");
}
void loop() {
sevseg.refreshDisplay();
unsigned long timer = millis();
if (timer == 3000) {
sevseg.blank();
}
char key = keypad.getKey();
if (key)
{
if (key == 'A') {
sevseg.setChars("A");
}
else if (key == 'B') {
sevseg.setChars("B");
}
else if (key == 'C') {
sevseg.setChars("C");
}
else if (key == 'D') {
sevseg.setChars("D");
}
else {
keyNum = (int(key)- 48);
sevseg.setNumber(keyNum, 0);
}
Serial.println(key);
Serial.print("");
sevseg.refreshDisplay();
}
}