Keypad
Dependencies: Hotboards_keypad mbed
main.cpp@2:61dd34b05a49, 2018-08-21 (annotated)
- 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?
User | Revision | Line number | New 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 | } |