Loading
Loading
IoT Lab content is currently available in Arabic only. We're working on an English version.
عرض بالعربية →How to read 16 buttons using only 8 wires.
Connect the eight wires in sequential order to digital pins (e.g., pins 2 through 9).
#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] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup(){ Serial.begin(9600); }
void loop(){
char key = keypad.getKey();
if (key){ Serial.println(key); }
}If numbers appear mirrored (pressing 1 shows 4), reverse the order of the rowPins or colPins arrays.