Ghost Mouse / Mbed 2 deprecated ghost_mouse

Dependencies:   mbed

Committer:
daviwang
Date:
Fri Mar 31 19:22:14 2017 +0000
Revision:
1:2e895e5272ab
Parent:
0:1c15cf9cc4f9
Child:
2:f501e506d62b
first version - setup done;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daviwang 0:1c15cf9cc4f9 1 #include "mbed.h"
daviwang 0:1c15cf9cc4f9 2
daviwang 0:1c15cf9cc4f9 3 DigitalOut myled(LED1);
daviwang 1:2e895e5272ab 4 Serial pc(USBTX, USBRX);
daviwang 1:2e895e5272ab 5
daviwang 1:2e895e5272ab 6 I2C camera1(p9, p10);
daviwang 1:2e895e5272ab 7
daviwang 1:2e895e5272ab 8 int IRsensorAddress = 0xB0;
daviwang 1:2e895e5272ab 9 int slaveAddress;
daviwang 1:2e895e5272ab 10 char data_buf[16];
daviwang 1:2e895e5272ab 11 int i;
daviwang 1:2e895e5272ab 12
daviwang 1:2e895e5272ab 13
daviwang 1:2e895e5272ab 14 //sensitivity
daviwang 1:2e895e5272ab 15 //Level 5: p0 = 0x96, p1 = 0xFE, p2 = 0xFE, p3 = 0x05
daviwang 1:2e895e5272ab 16 int sen0 = 0x96;
daviwang 1:2e895e5272ab 17 int sen1 = 0xFE;
daviwang 1:2e895e5272ab 18 int sen2 = 0xFE;
daviwang 1:2e895e5272ab 19 int sen3 = 0x00;
daviwang 1:2e895e5272ab 20
daviwang 1:2e895e5272ab 21
daviwang 1:2e895e5272ab 22 int Ix[4];
daviwang 1:2e895e5272ab 23 int Iy[4];
daviwang 1:2e895e5272ab 24 int s;
daviwang 1:2e895e5272ab 25
daviwang 1:2e895e5272ab 26 void write2bytes(char data1, char data2){
daviwang 1:2e895e5272ab 27 char out[2];
daviwang 1:2e895e5272ab 28 out[0] = data1;
daviwang 1:2e895e5272ab 29 out[1] = data2;
daviwang 1:2e895e5272ab 30 camera1.write(slaveAddress, out, 2);
daviwang 1:2e895e5272ab 31 wait(0.01);
daviwang 1:2e895e5272ab 32 }
daviwang 1:2e895e5272ab 33
daviwang 1:2e895e5272ab 34 void initCamera(void){
daviwang 1:2e895e5272ab 35 // Initialize WiiMote Camera
daviwang 1:2e895e5272ab 36 write2bytes(0x30, 0x01);
daviwang 1:2e895e5272ab 37 write2bytes(0x00, 0x02);
daviwang 1:2e895e5272ab 38 write2bytes(0x00, 0x00);
daviwang 1:2e895e5272ab 39 write2bytes(0x71, 0x01);
daviwang 1:2e895e5272ab 40 write2bytes(0x00, sen0);
daviwang 1:2e895e5272ab 41 write2bytes(0x07, 0x00);
daviwang 1:2e895e5272ab 42 write2bytes(sen1, 0x1A);
daviwang 1:2e895e5272ab 43 write2bytes(sen2, sen3);
daviwang 1:2e895e5272ab 44 write2bytes(0x33, 0x03);
daviwang 1:2e895e5272ab 45 write2bytes(0x30, 0x08);
daviwang 1:2e895e5272ab 46 wait(0.1);
daviwang 1:2e895e5272ab 47
daviwang 1:2e895e5272ab 48 }
daviwang 0:1c15cf9cc4f9 49
daviwang 0:1c15cf9cc4f9 50 int main() {
daviwang 1:2e895e5272ab 51 myled = 0;
daviwang 1:2e895e5272ab 52 slaveAddress = IRsensorAddress >> 1;
daviwang 1:2e895e5272ab 53 initCamera();
daviwang 1:2e895e5272ab 54
daviwang 1:2e895e5272ab 55
daviwang 0:1c15cf9cc4f9 56 while(1) {
daviwang 1:2e895e5272ab 57 myled = myled - 1;
daviwang 1:2e895e5272ab 58 char out[1];
daviwang 1:2e895e5272ab 59 out[0] = 0x36;
daviwang 1:2e895e5272ab 60
daviwang 1:2e895e5272ab 61 camera1.write(slaveAddress, out, 1);
daviwang 1:2e895e5272ab 62
daviwang 0:1c15cf9cc4f9 63 wait(0.2);
daviwang 1:2e895e5272ab 64
daviwang 0:1c15cf9cc4f9 65 }
daviwang 0:1c15cf9cc4f9 66 }