Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Keypad.h>
- #include <LiquidCrystal_I2C.h>
- #include <Wire.h>
- LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
- const byte ROWS = 4; //Quatro linhas
- const byte COLS = 4; //Três colunas
- //Mapeamento de teclas
- char keys[ROWS][COLS] = {
- {'1', '2', '3', 'A'},
- {'4', '5', '6', 'B'},
- {'7', '8', '9', 'C'},
- {'*', '0', '#', 'D'}
- };
- byte rowPins[ROWS] = {4, 5, 6, 7}; //Definição de pinos das linhas
- byte colPins[COLS] = {8, 9, 10, 11}; //Definição de pinos das colunas
- byte flag = 10;
- char key;
- unsigned long key1; //variavel para 10 digitos
- //Cria o teclado
- Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
- void setup()
- {
- Serial.begin(9600);
- lcd.begin(16, 2);
- lcd.print("Ola...");
- delay(2000);
- lcd.clear();
- }
- void loop()
- {
- key = keypad.getKey(); //Obtém tecla pressionada
- if (key != NO_KEY)
- {
- if ((key >= '0') & (key <= '9'))
- {
- key = key&0x0F; // Separa parte baixa do byte Ex: Char 5 = 0x35 separando fica, 0x05
- key1 = key1 * 10;
- key1 = key1 + key;
- Serial.println(key1);
- }
- if (key == '#')
- {
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("leitura:");
- lcd.setCursor(0, 1);
- Serial.println(key1);
- lcd.print(key1);
- key1 = 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement