TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (405 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (133 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (141228 times)
  2. FAT32 Library (74037 times)
  3. Network Ethernet Library (58659 times)
  4. USB Device Library (48766 times)
  5. Network WiFi Library (44485 times)
  6. FT800 Library (44034 times)
  7. GSM click (30784 times)
  8. mikroSDK (29602 times)
  9. PID Library (27342 times)
  10. microSD click (27188 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

2x2 Key click

Rating:

0

Author: MIKROE

Last Updated: 2019-03-08

Package Version: 1.0.0.1

mikroSDK Library: 1.0.0.0

Category: Pushbutton/Switches

Downloaded: 4553 times

Not followed.

License: MIT license  

2x2 Key click has a 4 button keypad. The click allows multiple key presses and has a debounce circuit composed of 74HC32 quad 2-input OR gate from NXP and the SN74HC14 Hex Schmitt-Trigger Inverter from Texas Instruments. 2x2 Key click is designed to use either 3.3V or 5V power supply.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "2x2 Key click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "2x2 Key click" changes.

Do you want to report abuse regarding "2x2 Key click".

  • mikroSDK Library 2.0.0.0
  • Comments (0)
DOWNLOAD LINK RELATED COMPILER CONTAINS
mikroBasic PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc

mikroSDK Library Blog

2x2 Key click

2x2 Key click

Front and back view of the 2x2 Key click board.

View full image

Library Description

The library covers all the necessary functions to control 2x2 Key click board. 2x2 Key click
communicates with the target board through the AN, RST, CS, PWM and INT line. This library 
offers functions for detecting the states of any and every of the four keys on this click board.

Key functions:

  • uint8_t c2x2key_t1State(); Function gets state of AN pin on 2X2_Key Click board.
  • uint8_t c2x2key_t2State();Function gets state of RST pin on 2X2_Key Click board.
  • uint8_t c2x2key_t3State(); - Function gets state of CS pin on 2X2_Key Click board.

Examples description

The application is composed of three sections:

  • System Initialization - Initializes GPIO and LOG structures, sets AN, RST, CS, PWM and INT pins as input.
  • Application Initialization -  Initialization driver enables GPIO and also starts write log.
  • Application Task - (code snippet) This example demonstrates the use of 2X2 Key Click board.
         Detects whether any of the keys is pressed. Results are being sent to the Usart Terminal,
         where you can track changes.
void applicationTask() 
{
    t1State = c2x2key_t1State();

    if ( t1State == 1 && t1StateOld == 0 )    
    {
        mikrobus_logWrite( "  Key 1 pressed  ", _LOG_LINE );
        mikrobus_logWrite( "- - - - - - - - -", _LOG_LINE );
        t1StateOld = 1;
    }
       if ( t1State == 0 && t1StateOld == 1 )
    {
        t1StateOld = 0;
    }

    t2State = c2x2key_t2State();

    if ( t2State == 1 && t2StateOld == 0 )
    {
        mikrobus_logWrite( "  Key 2 pressed  ", _LOG_LINE );
        mikrobus_logWrite( "- - - - - - - - -", _LOG_LINE );
        t2StateOld = 1;
    }

    if ( t2State == 0 && t2StateOld == 1 )
    {
        t2StateOld = 0;
    }
    t3State = c2x2key_t3State();

    if ( t3State == 1 && t3StateOld == 0 )
    {
        mikrobus_logWrite( "  Key 3 pressed  ", _LOG_LINE );
        mikrobus_logWrite( "- - - - - - - - -", _LOG_LINE );
        t3StateOld = 1;
    if ( t3State == 0 && t3StateOld == 1 )
    {
        t3StateOld = 0;
    }

    t4State = c2x2key_t4State();

    if ( t4State == 1 && t4StateOld == 0 )
    {
        mikrobus_logWrite( "  Key 4 pressed  ", _LOG_LINE );
        mikrobus_logWrite( "- - - - - - - - -", _LOG_LINE );
        t4StateOld = 1;
    }
    if ( t4State == 0 && t4StateOld == 1 )
    {
        t4StateOld = 0;
    }
}   

Other mikroE Libraries used in the example:

  • UART

Additional notes and informations

Depending on the development board you are using, you may need USB UART clickUSB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message

ALSO FROM THIS AUTHOR

MRAM 4 Click

0

MRAM 4 Click is a compact add-on board representing a magneto-resistive random-access memory solution. This board features the EM064LX, an industrial STT-MRAM persistent memory from Everspin Technologies. It is a 64Mb MRAM IC RAM and can achieve up to 200MHz as a single and double data rate (STR/DTR). The MRAM technology is analog to Flash technology with SRAM-compatible read/write timings (Persistent SRAM, P-SRAM), where data is always non-volatile. It also has a hardware write-protection feature and performs read and write operations with data retention for ten years and unlimited read, write, and erase operations for the supported life of the chip.

[Learn More]

LR 9 Click

0

LR 9 Click is a compact add-on board designed for ultra-long-range spread spectrum communication tasks within the LPWAN domain. This board is based on the RA-08, a LoRaWAN module from Ai-Thinker Technology, featuring the ASR6601 system-on-chip (SoC) that combines RF transceivers, modems, and a 32-bit RISC microcontroller (MCU). This module excels with its support for LoRa and (G)FSK modulation, a frequency range of 410MHz to 525MHz, and embedded storage of 128KB FLASH and 16KB SRAM, ensuring robust and versatile communication capabilities. Moreover, it's equipped with UART and I2C interfaces for easy programming and integration and an SMA antenna connector for enhanced connectivity.

[Learn More]

Opto Encoder 5 Click

0

Opto Encoder 5 Click is a compact add-on board that offers non-contact switching with unparalleled accuracy and precision. This board features the OPB666N, a Photologic® slotted optical switch from TT Electronics, ensuring top-notch performance and reliability. It integrates an 890nm infrared LED and a monolithic integrated circuit with a photodiode, linear amplifier, and Schmitt trigger, all powered effectively by a 5V supply from the mikroBUS™ power rail. The board features an NPN open-collector output configuration and is TTI/LST TL compatible, highlighting its ease of use and versatility.

[Learn More]