Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. unsigned int sensor[10];/*sensor readings are saved here*/ boolean firstData[10];/*to eliminate effect of noise*/ byte sensorPin[10] = { 15, 16, 17, 18, 19, 2, 3, 4, 5, 6 };/*arduino pins to read sensors*/ byte NumOfSensor = 10; byte i; /*just to run for loop!!*/ unsigned int MaxWaitTime = 4096; /*equivalent to 12 bit ADC*/
  2.  
  3. void setup() { Serial.begin(9600); } void loop() { readSensor(); showsensorData(); }
  4.  
  5.  
  6. void readSensor() { for (i = 0; i < NumOfSensor; i++) { digitalWrite(sensorPin[i], HIGH); pinMode(sensorPin[i], OUTPUT); } delayMicroseconds(10); for (i = 0; i < NumOfSensor; i++) { pinMode(sensorPin[i], INPUT); digitalWrite(sensorPin[i], LOW); sensor[i] = MaxWaitTime; firstData[i] = false; } unsigned long startTime = micros(); while (micros() - startTime < MaxWaitTime) { unsigned int time = micros() - startTime; for (i = 0; i < NumOfSensor; i++) { if ((digitalRead(sensorPin[i]) == LOW) && (firstData[i] == false)) { sensor[i] = time; firstData[i] = true; } } } }
  7.  
  8.  
  9.  
  10. void showsensorData() { for (i = 0; i < NumOfSensor; i++) { Serial.print(sensor[i]); Serial.print(" "); } Serial.println(); }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement