Simple Button Keypad – Microcontroller

Simple method for creating a custom button keypad that doesn’t require separate hardware.  Just your microcontroller buttons a few resistors.

What we have here is 9 buttons and 6 signal lines (3 inputs, 3 outputs).  The basic setup is in a grid pattern where the three input lines come down as columns (PIN0, PIN1, and PIN2),  and the three output lines come across as rows (PIN3, PIN4, and PIN5).
Simple Button Keypad - MicrocontrollerEach button is a momentary ON button, normally open.  So what will happen is when we press the button it will make a connection between that button’s input and output, other wise there is no connection.

The key here is in the software.

What the software is going to do is sweep between the inputs and outputs, for every combination very fast.  I will outline the steps for 1 input, and then it simply repeats the same steps for each other input.

For input on PIN0
— PIN0, 1, 2 defined as outputs
— PIN3, 4, 5 defines as inputs
Simple Button Keypad - Microcontroller Schematic1. Set PIN0, PIN1, AND PIN2 to LOW
2. Set PIN0 to HIGH
3. Check if PIN3 is HIGH or LOW, IF HIGH go to function SW1
4. Check if PIN4 is HIGH or LOW, IF HIGH go to function SW4
5. Check if PIN5 is HIGH or LOW, IF HIGH go to function SW7
6. Set PIN0 to LOW

This will then repeat with the only differences being which input pin is set to HIGH, and the names of the SW functions its going to.
For more detail: Simple Button Keypad – Microcontroller

READ  Top 8051, AVR and ARM Microcontroller Based Projects for Electronics Professionals

JLCPCB – Prototype 10 PCBs for $2 + 2 days Lead Time
China’s Largest PCB Prototype Enterprise, 300,000+ Customers & 10,000+ Online Orders Per Day
Inside a huge PCB factory:

Leave a Comment

= 5 + 7

Read previous post:
Environmental Alert System
Environmental Alert System

What's that smell? It's noxious gas of course! If you're in an environment where there's a possibility of gaseous release...

Scroll to top