Push Button text entry

Dependencies:   DebounceIn USBDevice mbed

Fork of idd_fall15_hw2_psddtgb_PushButtonTextEntry by Ardalan Moazeni

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "DebounceIn.h"
00003 #include "USBKeyboard.h"
00004 
00005 USBKeyboard keyboard;
00006 
00007 DigitalOut ledr(LED_RED);
00008 DigitalOut ledg(LED_GREEN);
00009 DigitalOut ledb(LED_BLUE);
00010 
00011 DebounceIn pb1(D2);
00012 DebounceIn pb2(D3);
00013 DebounceIn pb3(D4);
00014 DebounceIn pb4(D5);
00015 DebounceIn pb5(D6);
00016 DebounceIn pb6(D7);
00017 DebounceIn pb7(D8);
00018 DebounceIn pbs(D9);
00019 DebounceIn pbm(D10);
00020 
00021 int main()
00022 { 
00023 int m = 1;
00024 ledr = 1;
00025 ledg = 1;
00026 ledb = 1;
00027     // Use internal pullup for pushbutton
00028     pb1.mode(PullUp);
00029     pb2.mode(PullUp);
00030     pb3.mode(PullUp);
00031     pb4.mode(PullUp);
00032     pb5.mode(PullUp);
00033     pb6.mode(PullUp);
00034     pb7.mode(PullUp);
00035     pbs.mode(PullUp);
00036     pbm.mode(PullUp);
00037     
00038     // Delay for initial pullup to take effect
00039     wait(.001);
00040     while(1) {
00041         if (m==1 && pbm==0) {
00042                             m=2;
00043                             ledr=0;
00044                             ledg = 1;
00045                             ledb = 1;
00046                             wait(.2);
00047                             }
00048         if (m==2 && pbm==0) {
00049                             m=3;
00050                             ledr=1;
00051                             ledg = 0;
00052                             ledb = 1;
00053                             wait(.2);
00054                             }
00055         if (m==3 && pbm==0) {
00056                             m=4;
00057                             ledr=1;
00058                             ledg = 1;
00059                             ledb = 0;
00060                             wait(.2);
00061                             }
00062         if (m==4 && pbm==0) {
00063                             m=1;
00064                             ledr=1;
00065                             ledg = 1;
00066                             ledb = 1;
00067                             wait(.2);
00068                             }
00069         if (pbs==0) {
00070                             keyboard.printf(" ");
00071                             wait(.2);
00072                             }                                      
00073         if (m==1 && pb1==0) {
00074                             keyboard.printf("a");
00075                             wait(.2);
00076                             }
00077         if (m==1 && pb2==0) {
00078                             keyboard.printf("b");
00079                             wait(.2);
00080                             }
00081         if (m==1 && pb3==0) {
00082                             keyboard.printf("c");
00083                             wait(.2);
00084                             }
00085         if (m==1 && pb4==0) {
00086                             keyboard.printf("d");
00087                             wait(.2);
00088                             }
00089         if (m==1 && pb5==0) {
00090                             keyboard.printf("e");
00091                             wait(.2);
00092                             }
00093         if (m==1 && pb6==0) {
00094                             keyboard.printf("f");
00095                             wait(.2);
00096                             }
00097         if (m==1 && pb7==0) {
00098                             keyboard.printf("g");
00099                             wait(.2);
00100                             }
00101         if (m==2 && pb1==0) {
00102                             keyboard.printf("h");
00103                             wait(.2);
00104                             }
00105         if (m==2 && pb2==0) {
00106                             keyboard.printf("i");
00107                             wait(.2);
00108                             }
00109         if (m==2 && pb3==0) {
00110                             keyboard.printf("j");
00111                             wait(.2);
00112                             }
00113         if (m==2 && pb4==0) {
00114                             keyboard.printf("k");
00115                             wait(.2);
00116                             }
00117         if (m==2 && pb5==0) {
00118                             keyboard.printf("l");
00119                             wait(.2);
00120                             }
00121         if (m==2 && pb6==0) {
00122                             keyboard.printf("m");
00123                             wait(.2);
00124                             }
00125         if (m==2 && pb7==0) {
00126                             keyboard.printf("n");
00127                             wait(.2);
00128                             }        
00129         if (m==3 && pb1==0) {
00130                             keyboard.printf("o");
00131                             wait(.2);
00132                             }
00133         if (m==3 && pb2==0) {
00134                             keyboard.printf("p");
00135                             wait(.2);
00136                             }
00137         if (m==3 && pb3==0) {
00138                             keyboard.printf("q");
00139                             wait(.2);
00140                             }
00141         if (m==3 && pb4==0) {
00142                             keyboard.printf("r");
00143                             wait(.2);
00144                             }
00145         if (m==3 && pb5==0) {
00146                             keyboard.printf("s");
00147                             wait(.2);
00148                             }
00149         if (m==3 && pb6==0) {
00150                             keyboard.printf("t");
00151                             wait(.2);
00152                             }
00153         if (m==3 && pb7==0) {
00154                             keyboard.printf("u");
00155                             wait(.2);
00156                             }
00157         if (m==4 && pb1==0) {
00158                             keyboard.printf("v");
00159                             wait(.2);
00160                             }
00161         if (m==4 && pb2==0) {
00162                             keyboard.printf("w");
00163                             wait(.2);
00164                             }
00165         if (m==4 && pb3==0) {
00166                             keyboard.printf("x");
00167                             wait(.2);
00168                             }
00169         if (m==4 && pb4==0) {
00170                             keyboard.printf("y");
00171                             wait(.2);
00172                             }
00173         if (m==4 && pb5==0) {
00174                             keyboard.printf("z");
00175                             wait(.2);
00176                             }
00177         if (m==4 && pb6==0) {
00178                             keyboard.keyCode(KEY_CAPS_LOCK);
00179                             wait(.2);
00180                             }
00181         if (m==4 && pb7==0) {
00182                             keyboard.printf("\b");
00183                             wait(.2);
00184                             }        
00185         
00186     }
00187     
00188 }