Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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*/
- void setup() { Serial.begin(9600); } void loop() { readSensor(); showsensorData(); }
- 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; } } } }
- 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