Keypad

Dependencies:   Hotboards_keypad mbed

Committer:
shivanandgowdakr
Date:
Tue Aug 21 10:56:52 2018 +0000
Revision:
2:61dd34b05a49
Parent:
0:21b36798fd00
Qwerty Keypad

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shivanandgowdakr 2:61dd34b05a49 1 /* @file HelloKeypad.cpp
shivanandgowdakr 2:61dd34b05a49 2 || @version 1.1
shivanandgowdakr 2:61dd34b05a49 3 || @modified by Diego (http://hotboards.org)
shivanandgowdakr 2:61dd34b05a49 4 || @author Alexander Brevig
shivanandgowdakr 2:61dd34b05a49 5 || @contact alexanderbrevig@gmail.com
shivanandgowdakr 2:61dd34b05a49 6 ||
shivanandgowdakr 2:61dd34b05a49 7 || @description
shivanandgowdakr 2:61dd34b05a49 8 || | Demonstrates the simplest use of the matrix Keypad library.
shivanandgowdakr 2:61dd34b05a49 9 || | Just press any key an it will be displayed on the serial port
shivanandgowdakr 2:61dd34b05a49 10 || #
shivanandgowdakr 2:61dd34b05a49 11 */
bcostm 0:21b36798fd00 12 #include "mbed.h"
shivanandgowdakr 2:61dd34b05a49 13 #include "Hotboards_keypad.h"
shivanandgowdakr 2:61dd34b05a49 14
shivanandgowdakr 2:61dd34b05a49 15 // Defines the keys array with it's respective number of rows & cols,
shivanandgowdakr 2:61dd34b05a49 16 // and with the value of each key
shivanandgowdakr 2:61dd34b05a49 17 char keys[ 7 ][ 7 ] =
shivanandgowdakr 2:61dd34b05a49 18 {
shivanandgowdakr 2:61dd34b05a49 19 { '1' , '2' , '3' , '4', '5', '6' ,'a'},
shivanandgowdakr 2:61dd34b05a49 20 { '7' , '8' , '9' , '0', 'Q', 'W' ,'b'},
shivanandgowdakr 2:61dd34b05a49 21 { 'E' , 'R' , 'T' , 'Y', 'U', 'I' ,'c'},
shivanandgowdakr 2:61dd34b05a49 22 { 'O' , 'P' , 'A' , 'S', 'D', 'F' ,'d'},
shivanandgowdakr 2:61dd34b05a49 23 { 'G' , 'H' , 'J' , 'K', 'L', 'Z' ,'e'},
shivanandgowdakr 2:61dd34b05a49 24 { 'X' , 'C' , 'V' , 'B', 'N', 'M' ,'f'},
shivanandgowdakr 2:61dd34b05a49 25 { 0x0D , 0x20 , 0x08 , 'g','h','i','j'}, //0x0D -> Enter Key , 0x20 -> Space, 0x08-> Backspace, a , b, c may be used as functions keys.
shivanandgowdakr 2:61dd34b05a49 26 };
shivanandgowdakr 2:61dd34b05a49 27
shivanandgowdakr 2:61dd34b05a49 28 // Defines the pins connected to the rows
shivanandgowdakr 2:61dd34b05a49 29 DigitalInOut rowPins[ 7 ] = { D0,D1,D2,D3,D4,D5,D6};
shivanandgowdakr 2:61dd34b05a49 30 // Defines the pins connected to the cols
shivanandgowdakr 2:61dd34b05a49 31 DigitalInOut colPins[ 7 ] = { D7,D8,D9,D10,D11,D12,D13};
shivanandgowdakr 2:61dd34b05a49 32
shivanandgowdakr 2:61dd34b05a49 33 // Creates a new keyboard with the values entered before
shivanandgowdakr 2:61dd34b05a49 34 Keypad kpd( makeKeymap( keys ) , rowPins , colPins , 7 , 7 );
shivanandgowdakr 2:61dd34b05a49 35
shivanandgowdakr 2:61dd34b05a49 36 // Configures the serial port
shivanandgowdakr 2:61dd34b05a49 37 Serial pc( USBTX , USBRX );
shivanandgowdakr 2:61dd34b05a49 38
shivanandgowdakr 2:61dd34b05a49 39 int main()
shivanandgowdakr 2:61dd34b05a49 40 {
shivanandgowdakr 2:61dd34b05a49 41 pc.printf( "Press any key: " );
shivanandgowdakr 2:61dd34b05a49 42 while(1)
shivanandgowdakr 2:61dd34b05a49 43 {
shivanandgowdakr 2:61dd34b05a49 44 // Poll the keypad to look for any activation
shivanandgowdakr 2:61dd34b05a49 45 char key = kpd.waitForKey();
shivanandgowdakr 2:61dd34b05a49 46
shivanandgowdakr 2:61dd34b05a49 47 // If any key was pressed
shivanandgowdakr 2:61dd34b05a49 48 if( key )
shivanandgowdakr 2:61dd34b05a49 49 {
shivanandgowdakr 2:61dd34b05a49 50 // Display the key pressed on serial port
shivanandgowdakr 2:61dd34b05a49 51 pc.printf( "Pressed key is : %c" , key );
shivanandgowdakr 2:61dd34b05a49 52 pc.printf( "\n\r" );
shivanandgowdakr 2:61dd34b05a49 53 }
bcostm 0:21b36798fd00 54 }
bcostm 0:21b36798fd00 55 }