

If the LED lights up at one of the pins, press and hold another button in row 1, then insert the positive wire into each one of the other pins again. Now insert the positive (red) wire into each one of the other pins. Press any button in row 1 and hold it down. Insert the ground (black) wire into the first pin on the left. You’ll need to build a test circuit by connecting an LED and a current limiting resistor to the Arduino (or any 5V power source) like this:įirst, find out which keypad pins are connected to the button rows. If your keypad’s pin layout doesn’t match the ones above, you can probe the pins to figure it out. The pin layout for most membrane keypads will look like this:įollow the diagrams below to connect the keypad to an Arduino Uno, depending on whether you have a 3X4 or 4X4 keypad: How to Find the Pinout of Your Keypad When the column pin goes HIGH again, the Arduino has found the row pin that is connected to the button:įrom the diagram above, you can see that the combination of row 2 and column 2 could only mean that the number 5 button was pressed. It does this by switching each one of the row pins HIGH, and at the same time reading all of the column pins to detect which column pin returns to HIGH:Ĥ. The Arduino now knows which column the button is in, so now it just needs to find the row the button is in. When a button is pressed, the column pin is pulled LOW since the current from the HIGH column flows to the LOW row pin:ģ. First, when no buttons are pressed, all of the column pins are held HIGH, and all of the row pins are held LOW:Ģ. The Arduino detects which button is pressed by detecting the row and column pin that’s connected to the button.ġ.


The schematic for a 4X4 keypad shows how the rows and columns are connected:

Pressing a button closes the switch between a column and a row trace, allowing current to flow between a column pin and a row pin. Each row and column is brought out to a single pin, for a total of 8 pins on a 4X4 keypad: Each switch in a column is connected the same way – one side of the switch is connected to all of the other switches in that column by a conductive trace. Each switch in a row is connected to the other switches in the row by a conductive trace underneath the pad. A 3X4 keypad has 4 rows and 3 columns, and a 4X4 keypad has 4 rows and 4 columns:īeneath each key is a membrane switch. The buttons on a keypad are arranged in rows and columns. It includes all of the parts, wiring diagrams, code, and step-by-step instructions for 58 different robotics and internet of things projects that are super fun to build! How Keypads Work The 3-in-1 Smart Car and IOT Learning Kit from SunFounder has everything you need to learn how to master the Arduino.
