Clicker for presentation using wii Remote.

Dependencies:   USBDevice mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "USBMouseKeyboard.h"
00003 
00004 DigitalOut myled1(LED1);
00005 DigitalOut myled2(LED2);
00006 DigitalOut myled3(LED3);
00007 
00008 Serial pc(USBTX, USBRX);
00009 Serial ctrl(p9, p10);
00010 USBMouseKeyboard key_mouse;
00011 
00012 int main() {
00013     int pad=0;
00014     char str[128];
00015     myled2 = 0;
00016     myled3 = 0;
00017     int counter=0;
00018 
00019     pc.printf("HELLO");
00020 
00021     while(1) {
00022         
00023         if(ctrl.readable()) {
00024             myled3 = 1;
00025 //            pc.putc(ctrl.getc());
00026 //                printf("%d\r\n",ctrl.getc());
00027             pad = ctrl.getc();
00028             pc.putc(pad);
00029 
00030             if(pad == 85){ // 'U'
00031                 pc.printf("u ");
00032                 key_mouse.move (0, -5);     // mouse move
00033                 myled2 = 1;    
00034             }else{;}
00035 
00036             if(pad == 68){ // 'D'
00037                 pc.printf("d ");
00038                 key_mouse.move (0, 5);    // mouse move
00039                 myled2 = 1;
00040             }else{;}
00041             if(pad == 82){ // 'R'
00042                 pc.printf("r ");
00043                 key_mouse.move (5, 0);     // mouse move
00044                 myled2 = 1;
00045             }else{;}
00046             if(pad == 76){ // 'L'
00047                 pc.printf("l ");
00048                 key_mouse.move (-5, 0);    // mouse move
00049                 myled2 = 1;
00050             }else{;}
00051 
00052             if(counter < 20){
00053                 counter ++;
00054                 
00055             }else{
00056                counter = 0;
00057 
00058                if(pad == 48){ //'0' plus + minus
00059                     pc.printf("0 ");
00060                     key_mouse.putc('-');   //ESC
00061                     myled2 = 1;
00062                }
00063                else if(pad == 80){ //'P' plus
00064                     pc.printf("p ");
00065                     key_mouse.putc(RIGHT_ARROW);   //RIGHT_ARROW
00066                     myled2 = 1;
00067     
00068                }
00069                else if(pad == 77){ // 'M' minus
00070                     pc.printf("m ");
00071                     key_mouse.putc(LEFT_ARROW);   // keyCode: LEFT_ARROW
00072                     myled2 = 1;
00073     
00074                }else{;}
00075     
00076                if(pad == 67){ // 'C' A+B
00077                     pc.printf("c ");
00078 //                    key_mouse._putc(KEY_LF);  // 
00079                    key_mouse._putc(KEY_F5);  // Enter
00080                     myled2 = 1;
00081                }else if(pad == 65){ // 'A'
00082                     pc.printf("a ");
00083                     key_mouse.click(MOUSE_LEFT);
00084                     myled2 = 1;
00085                }else if(pad == 66){ // 'B'
00086                     pc.printf("b ");
00087                     key_mouse.click(MOUSE_RIGHT);
00088                     myled2 = 1;
00089                }else{;}
00090     
00091                if(pad == 51){ // '3' 1 + 2
00092                    pc.printf("_ ");
00093 //                   key_mouse._putc(KEY_F5);  // Enter
00094                    key_mouse.putc('-');   //ESC
00095                    myled2 = 1;
00096                }else if(pad == 49){ // '1' 
00097                    pc.printf("< ");
00098                    key_mouse._putc('W'); // white
00099                    myled2 = 1;
00100                }else if(pad == 50){ // '2'
00101                    pc.printf("> ");
00102                    key_mouse._putc('B'); // black
00103                    myled2 = 1;
00104                }else{;}
00105 
00106                if(pad == 72){ // 'H'
00107                    pc.printf("h ");
00108                    key_mouse.putc(KEY_HOME);
00109                    myled2 = 1;
00110                }else{;}
00111             }
00112 
00113             pad =0; // reset
00114         }
00115 
00116         myled1 = !myled1;
00117         if(!myled1) myled2 = 0; 
00118         if(!myled1) myled3 = 0;
00119     }
00120 }