reading.h (736B)
1 #include "helper.h" 2 3 /* READING_INTERVAL should be declared by the caller program before this code is included */ 4 5 typedef struct reading { 6 unsigned int left, mid, right; 7 } reading; 8 9 reading 10 readSensors() 11 { 12 return (reading){analogRead(LDRA), analogRead(LDRB), analogRead(LDRC)}; 13 } 14 15 reading 16 readSensorsMean(int readings) 17 { 18 reading r; 19 unsigned int left = 0, mid = 0, right = 0; 20 21 for (int i = 0; i < readings; i++) { 22 r = readSensors(); 23 left += r.left; 24 mid += r.mid; 25 right += r.right; 26 SEprintf("single:%d,%d,%d\n", r.left, r.mid, r.right); 27 delay(READING_INTERVAL); 28 } 29 30 left /= readings; 31 mid /= readings; 32 right /= readings; 33 SEprintf("mean:%u,%u,%u\n", left, mid, right); 34 r = (reading){left, mid, right}; 35 return r; 36 }