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 (141885 times)
  2. FAT32 Library (75036 times)
  3. Network Ethernet Library (59344 times)
  4. USB Device Library (49346 times)
  5. Network WiFi Library (45155 times)
  6. FT800 Library (44700 times)
  7. GSM click (31300 times)
  8. mikroSDK (30261 times)
  9. microSD click (27684 times)
  10. PID Library (27576 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: 4798 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

IrThermo 3v3 click

0

This example demonstrates reading from Ir thermo sensor MLX90614ESF-BAA.

[Learn More]

Expand 17 Click

0

Expand 17 Click is a compact add-on board designed to expand the number of input/output pins in your system. This board features the TCAL6408, an 8-bit I/O expander from Texas Instruments, which communicates via the I2C protocol. The TCAL6408 features programmable output drive strength, latchable inputs, pull-up/pull-down resistors, and configurable open-drain or push-pull outputs, offering flexible and enhanced I/O performance with minimal power consumption and reduced EMI.

[Learn More]

IR Thermo 4 Click

0

IR Thermo 4 Click is a compact add-on board for precise remote sensing applications. This board features the TPiS 1T 1386 L5.5 H thermopile sensor from Excelitas, known for its high accuracy and narrow 5° field of view (FoV). This sensor, part of the CaliPile™ family, features factory-calibrated data stored in EEPROM, ensuring reliable and accurate performance. The sensor also comes in an isothermal TO-39 package with an integrated lens hood for minimized stray light and enhanced thermal stability, making it ideal for challenging environmental conditions. With a built-in ADC and multiple filter options, the sensor's data is easily accessible via an I2C interface. IR Thermo 4 Click is well-suited for remote skin temperature monitoring, over-temperature protection, human presence sensing, and motion detection.

[Learn More]