Dectection take 1. Fixed adaptation step. Detect based on a number of standard deviations away from the mean.
Dependencies: SI1143 m3pi mbed
Fork of Proximity_Sensor_2_detect by
main.cpp
- Committer:
- mfillinois
- Date:
- 2014-06-16
- Revision:
- 6:f2c616fa9ffe
- Parent:
- 5:b77b678ed22f
- Child:
- 7:73a722360cdb
File content as of revision 6:f2c616fa9ffe:
#include "mbed.h" #include "SI1143.h" #include "m3pi.h" //DigitalOut enable(p30); //Ticker timer; I2C* i2c = new I2C(p28, p27); Serial bt(p13, p14); m3pi pi; DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); InterruptIn event(p26); SI1143 sensor1(i2c, p30, p29, 0x01); //SI1143 sensor2(i2c, p25, p26, 0x02); // p25, p26 //InterruptIn prox_meas(p26); //26 int sense1a, sense1b, sense2a, sense2b; //int NN = 500; int sensor1alog[500]; int sensor1blog[500]; int whileflag = 1; //int total = 1000; int countingstuffpoop = 0; void meas_int() { led1 = 1; sense1a = sensor1.read_ps1(); sense1b = sensor1.read_ps2(); //sense2a = sensor2.get_ps1(1); //sense2b = sensor2.get_ps2(1); //bt.printf("%d, %d;\r\n",sense1a, sense1b); //wait(0.001); countingstuffpoop++; if(countingstuffpoop < 500) { led4 = 0; sensor1alog[countingstuffpoop-1] = sense1a; sensor1blog[countingstuffpoop-1] = sense1b; } else { __disable_irq(); whileflag = 0; } sensor1.clear_int(); led1 = 0; } int main() { // Setup the baseline //sensor1.restart(i2c, 0x01); //printf("%d ",sensor1.adrs); //sensor2.restart(i2c, 0x02); //printf("%d\r\n",sensor2.adrs); led2 = 0; wait(10); event.fall(&meas_int); //timer.attach(&meas_int, 0.01); sensor1.start_ps_auto(); led4 = 1; pi.left(0.1); while(whileflag) { // Read each led sensor //sense1 = sensor.get_ps1(1); //Numeriacl output through terminal led1 = 0; led2 = 0; } pi.stop(); led1 = 1; wait(0.3); led1 = 0; wait(0.3); led1 = 1; bt.printf("d = ["); for (int i = 0; i < 500; i++) { bt.printf("%d, %d;\r\n", sensor1alog[i], sensor1blog[i]); //bt.printf("%d;\r\n", sensorlog[i]); } bt.printf("0, 0];"); led1 = 1; wait(0.3); led1 = 0; wait(0.3); led1 = 1; }