Clicker for presentation using wii Remote.

Dependencies:   USBDevice mbed

Committer:
_muki
Date:
Thu Nov 15 14:19:43 2012 +0000
Revision:
0:02bba2823703
This is Clicker for presentation using wii Remote.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
_muki 0:02bba2823703 1 #include "mbed.h"
_muki 0:02bba2823703 2 #include "USBMouseKeyboard.h"
_muki 0:02bba2823703 3
_muki 0:02bba2823703 4 DigitalOut myled1(LED1);
_muki 0:02bba2823703 5 DigitalOut myled2(LED2);
_muki 0:02bba2823703 6 DigitalOut myled3(LED3);
_muki 0:02bba2823703 7
_muki 0:02bba2823703 8 Serial pc(USBTX, USBRX);
_muki 0:02bba2823703 9 Serial ctrl(p9, p10);
_muki 0:02bba2823703 10 USBMouseKeyboard key_mouse;
_muki 0:02bba2823703 11
_muki 0:02bba2823703 12 int main() {
_muki 0:02bba2823703 13 int pad=0;
_muki 0:02bba2823703 14 char str[128];
_muki 0:02bba2823703 15 myled2 = 0;
_muki 0:02bba2823703 16 myled3 = 0;
_muki 0:02bba2823703 17 int counter=0;
_muki 0:02bba2823703 18
_muki 0:02bba2823703 19 pc.printf("HELLO");
_muki 0:02bba2823703 20
_muki 0:02bba2823703 21 while(1) {
_muki 0:02bba2823703 22
_muki 0:02bba2823703 23 if(ctrl.readable()) {
_muki 0:02bba2823703 24 myled3 = 1;
_muki 0:02bba2823703 25 // pc.putc(ctrl.getc());
_muki 0:02bba2823703 26 // printf("%d\r\n",ctrl.getc());
_muki 0:02bba2823703 27 pad = ctrl.getc();
_muki 0:02bba2823703 28 pc.putc(pad);
_muki 0:02bba2823703 29
_muki 0:02bba2823703 30 if(pad == 85){ // 'U'
_muki 0:02bba2823703 31 pc.printf("u ");
_muki 0:02bba2823703 32 key_mouse.move (0, -5); // mouse move
_muki 0:02bba2823703 33 myled2 = 1;
_muki 0:02bba2823703 34 }else{;}
_muki 0:02bba2823703 35
_muki 0:02bba2823703 36 if(pad == 68){ // 'D'
_muki 0:02bba2823703 37 pc.printf("d ");
_muki 0:02bba2823703 38 key_mouse.move (0, 5); // mouse move
_muki 0:02bba2823703 39 myled2 = 1;
_muki 0:02bba2823703 40 }else{;}
_muki 0:02bba2823703 41 if(pad == 82){ // 'R'
_muki 0:02bba2823703 42 pc.printf("r ");
_muki 0:02bba2823703 43 key_mouse.move (5, 0); // mouse move
_muki 0:02bba2823703 44 myled2 = 1;
_muki 0:02bba2823703 45 }else{;}
_muki 0:02bba2823703 46 if(pad == 76){ // 'L'
_muki 0:02bba2823703 47 pc.printf("l ");
_muki 0:02bba2823703 48 key_mouse.move (-5, 0); // mouse move
_muki 0:02bba2823703 49 myled2 = 1;
_muki 0:02bba2823703 50 }else{;}
_muki 0:02bba2823703 51
_muki 0:02bba2823703 52 if(counter < 20){
_muki 0:02bba2823703 53 counter ++;
_muki 0:02bba2823703 54
_muki 0:02bba2823703 55 }else{
_muki 0:02bba2823703 56 counter = 0;
_muki 0:02bba2823703 57
_muki 0:02bba2823703 58 if(pad == 48){ //'0' plus + minus
_muki 0:02bba2823703 59 pc.printf("0 ");
_muki 0:02bba2823703 60 key_mouse.putc('-'); //ESC
_muki 0:02bba2823703 61 myled2 = 1;
_muki 0:02bba2823703 62 }
_muki 0:02bba2823703 63 else if(pad == 80){ //'P' plus
_muki 0:02bba2823703 64 pc.printf("p ");
_muki 0:02bba2823703 65 key_mouse.putc(RIGHT_ARROW); //RIGHT_ARROW
_muki 0:02bba2823703 66 myled2 = 1;
_muki 0:02bba2823703 67
_muki 0:02bba2823703 68 }
_muki 0:02bba2823703 69 else if(pad == 77){ // 'M' minus
_muki 0:02bba2823703 70 pc.printf("m ");
_muki 0:02bba2823703 71 key_mouse.putc(LEFT_ARROW); // keyCode: LEFT_ARROW
_muki 0:02bba2823703 72 myled2 = 1;
_muki 0:02bba2823703 73
_muki 0:02bba2823703 74 }else{;}
_muki 0:02bba2823703 75
_muki 0:02bba2823703 76 if(pad == 67){ // 'C' A+B
_muki 0:02bba2823703 77 pc.printf("c ");
_muki 0:02bba2823703 78 // key_mouse._putc(KEY_LF); //
_muki 0:02bba2823703 79 key_mouse._putc(KEY_F5); // Enter
_muki 0:02bba2823703 80 myled2 = 1;
_muki 0:02bba2823703 81 }else if(pad == 65){ // 'A'
_muki 0:02bba2823703 82 pc.printf("a ");
_muki 0:02bba2823703 83 key_mouse.click(MOUSE_LEFT);
_muki 0:02bba2823703 84 myled2 = 1;
_muki 0:02bba2823703 85 }else if(pad == 66){ // 'B'
_muki 0:02bba2823703 86 pc.printf("b ");
_muki 0:02bba2823703 87 key_mouse.click(MOUSE_RIGHT);
_muki 0:02bba2823703 88 myled2 = 1;
_muki 0:02bba2823703 89 }else{;}
_muki 0:02bba2823703 90
_muki 0:02bba2823703 91 if(pad == 51){ // '3' 1 + 2
_muki 0:02bba2823703 92 pc.printf("_ ");
_muki 0:02bba2823703 93 // key_mouse._putc(KEY_F5); // Enter
_muki 0:02bba2823703 94 key_mouse.putc('-'); //ESC
_muki 0:02bba2823703 95 myled2 = 1;
_muki 0:02bba2823703 96 }else if(pad == 49){ // '1'
_muki 0:02bba2823703 97 pc.printf("< ");
_muki 0:02bba2823703 98 key_mouse._putc('W'); // white
_muki 0:02bba2823703 99 myled2 = 1;
_muki 0:02bba2823703 100 }else if(pad == 50){ // '2'
_muki 0:02bba2823703 101 pc.printf("> ");
_muki 0:02bba2823703 102 key_mouse._putc('B'); // black
_muki 0:02bba2823703 103 myled2 = 1;
_muki 0:02bba2823703 104 }else{;}
_muki 0:02bba2823703 105
_muki 0:02bba2823703 106 if(pad == 72){ // 'H'
_muki 0:02bba2823703 107 pc.printf("h ");
_muki 0:02bba2823703 108 key_mouse.putc(KEY_HOME);
_muki 0:02bba2823703 109 myled2 = 1;
_muki 0:02bba2823703 110 }else{;}
_muki 0:02bba2823703 111 }
_muki 0:02bba2823703 112
_muki 0:02bba2823703 113 pad =0; // reset
_muki 0:02bba2823703 114 }
_muki 0:02bba2823703 115
_muki 0:02bba2823703 116 myled1 = !myled1;
_muki 0:02bba2823703 117 if(!myled1) myled2 = 0;
_muki 0:02bba2823703 118 if(!myled1) myled3 = 0;
_muki 0:02bba2823703 119 }
_muki 0:02bba2823703 120 }