Description: This project can be used for many different purposes. Probably the most used application would be to interface to any electronic project that requires a keypad. There are several ready made keypads on the market, but those work with matrix connections and require 7 pins for a 12 button pad. For new programmers, matrix keypads can be a bit tricky to program. My circuit can use from 4 up to 12 push buttons with only one wire connection (plus ground pin) making possible to use a small microcontroller like an 8 pin to use this keypad. It's also built in a setup mode where it's possible to change the key output rate. This setting is saved in the microcontroller's memory. More: Another use for this is to, for example, connect to the computer and use it to control applications or even games. For the first time I recommend to connect it to any pc and using the terminal program select 9600 Baud, no parity, 8 for byte size and 1 stop bit. These are the settings for both pc terminal or receiver microcontroller. To enter the Setup mode the S4 button should be pressed and held when turning the power on. The led starts to flash and S1 is used to increase the rate while S2 is used to decrease the rate. The minimum rate is 10ms and the maximum rate is 2550ms. It will increase/decrease 5ms each button press. Pressing and holding S3 will test the setting and will display the rate speed both on led and RS232. Button S4 will save the setting into microcontroller's memory, exit the setup mode and enter the normal mode. In normal mode, when pressing one of the buttons it will flash the led and output the corresponding button number via RS232. I've assembled the minimum button setup (4 buttons) on a breadboard and connected directly to my PC RS232 port. I didn't use any level converter, such a max232, because it normally works very well without it. In some cases it's required to have the level converter. Turned the power on and pushed the buttons. The output was too fast so I turned the power off. I turned on the power again but this time I entered into setup mode. Increased the rate to 200ms and saved the setting. Tested again and now I get a good response. Using any RS232 to keyboard software it's possible to assign the input signals and convert them to keystrokes.
The described project involves the development of a versatile keypad interface that can be utilized in various electronic applications, particularly where user input is required. The circuit is designed to accommodate between 4 to 12 push buttons, connecting them through a single wire alongside a ground connection. This configuration allows for the use of a compact microcontroller, such as an 8-pin variant, making it suitable for projects with limited I/O resources.
The circuit features a setup mode that enables users to adjust the key output rate, which is stored in the microcontroller's memory. This capability is essential for tailoring the response speed of the keypad to specific application needs. To configure the device, a terminal program on a PC is recommended, set to 9600 baud rate, no parity, 8 data bits, and 1 stop bit. This ensures proper communication between the keypad interface and the receiving microcontroller or PC terminal.
Entering setup mode requires pressing and holding the S4 button during power-up. Once activated, the LED indicator will flash, signaling that the user can modify the output rate. The S1 button increases the rate, while the S2 button decreases it, with adjustable settings ranging from a minimum of 10 milliseconds to a maximum of 2550 milliseconds. Each button press adjusts the rate by 5 milliseconds. The S3 button serves as a testing mechanism, displaying the current rate on the LED and through RS232 communication for verification purposes. After adjustments, the S4 button saves the configuration and transitions the circuit into normal operational mode, where pressing any button will flash the LED and transmit the corresponding button number via RS232.
The practical assembly of the circuit can be achieved on a breadboard, utilizing the minimum setup of 4 buttons connected directly to a PC's RS232 port. While the circuit typically operates without a level converter such as the MAX232, it is acknowledged that certain scenarios may necessitate its use to ensure signal integrity. Initial tests may reveal rapid output responses, prompting users to enter setup mode for rate adjustments. After fine-tuning to an appropriate response time, the interface can effectively relay input signals to applications or games through RS232 to keyboard software, converting button presses into keystrokes for enhanced user interaction.This project can be used for many different purposes. Probably the most used application would be to interface to any electronic project that requires a keypad. There are several ready made keypads on the market, but those work with matrix connections and require 7 pins for a 12 button pad.
For new programmers, matrix keypads can be a bit tricky to program. My circuit can use from 4 up to 12 push buttons with only one wire connection ( plus ground pin ) making possible to use a small microcontroller like an 8 pin to use this keypad. It's also built in a setup mode where it's possible to change the key output rate. This setting is saved in the microcontroller's memory. Another use for this is to, for example, connect to the computer and use it to control applications or even games. For the first time I recommend to connect it to any pc and using the terminal program select 9600 Baud, no parity, 8 for byte size and 1 stop bit.
These are the settings for both pc terminal or receiver microcontroller. To enter the Setup mode the S4 button should be pressed and held when turning the power on. The led starts to flash and S1 is used to increase the rate while S2 is used to decrease the rate. The minimum rate is 10ms and the maximum rate is 2550ms. It will increase/decrease 5ms each button press. Pressing and holding S3 will test the setting and will display the rate speed both on led and RS232. Button S4 will save the setting into microcontroller's memory, exit the setup mode and enter the normal mode. In normal mode, when pressing one of the buttons it will flash the led and output the corresponding button number via RS232.
I've assembled the minimum button setup ( 4 buttons ) on a breadboard and connected directly to my PC RS232 port. I didn't use any level converter, such a max232, because it normally works very well without it. In some cases it's required to have the level converter. Turned the power on and pushed the buttons. The output was too fast so I turned the power off. I turned on the power again but this time i entered into setup mode. Increased the rate to 200ms and saved the setting. Tested again and now I get a good response. Using any RS232 to keyboard software it's possible to assign the input signals and convert them to keystrokes.
This article outlines the construction of a simple microcontroller-based delay circuit designed for photographic applications, such as drop or high-speed photography. It is capable of controlling the trigger lag for cameras and flash units, generating periodic trigger pulses, or managing...
The microcontroller-based water level controller and motor protector manages the on and off states of the motor based on the water level in the overhead tank (OHT). It regulates the tank's water level through a microcontroller, thereby providing automatic protection...
There are several methods to read multiple switch inputs using a reduced number of microcontroller unit (MCU) pins. One approach involves using an analog MCU pin to read multiple switches by assigning a unique voltage to each switch through a...
Turning electrical devices ON or OFF using a remote control is a well-established concept, with numerous devices available that perform this function effectively. To create such a device, it is necessary to construct a receiver and a transmitter, as well...
The CDCF5801 provides clock multiplication from a reference clock (REFCLK) signal with the unique capability to delay or advance the CLKOUT/CLKOUTB with steps of only 1.3 mUI through a phase aligner. For every rising edge on the DLYCTRL pin, the...
This switch will suit the Modular Burglar Alarm circuit. However, it also has other applications. The Keypad must be the kind with a common terminal and a separate connection for each key. On a 12-key pad, look for 13 terminals....
It is entirely logical that low-cost miniature microcontrollers have fewer pins than their larger counterparts, sometimes too few. Consideration has been given to how to economize on pins by making them perform the work of several. It was noted that...
While discussing an all-linear automatic night light circuit, it was mentioned that an MCU-based Automatic Night Light Controller (ANLC) was being tested. The firmware has been tweaked since then. Recently, the sensor was installed outdoors and connected to control 220VAC...
Model railroad turnouts, often referred to as switches, can be controlled in various ways. The simplest method is manual control, operated by hand. Remote activation is typically achieved through pneumatic (air) or electrical means. The project discussed in these articles...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more