Advertisement
noam76

detectsensor.h

Apr 29th, 2023
881
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void detectSensors() {
  2.   for (int mux = 0; mux < MUX_COUNT; mux++) {
  3.     mcpMuxChip.digitalWrite(MUX_PINS[mux], LOW);
  4.     int numSensors = 0;
  5.     for (int channel = 0; channel < MAX_SENSOR_PER_MUX; channel++) {
  6.       digitalWrite(S0, channel & 0x01);
  7.       digitalWrite(S1, channel & 0x02);
  8.       digitalWrite(S2, channel & 0x04);
  9.       digitalWrite(S3, channel & 0x08);
  10.       digitalWrite(MUX_A, channel & 0x10);
  11.       digitalWrite(MUX_B, channel & 0x20);
  12.       int sensorValue = analogRead(ANALOG_PIN);
  13.       if (sensorValue > 0) {
  14.         numSensors++;
  15.       }
  16.     }
  17.     numSensorsMux[mux] = numSensors;
  18.     // view how many sensor detected by MUX
  19.     //Serial.print("sensor detected MUX: "); Serial.print(mux);
  20.     //Serial.print("\tnumber of sensor: "); Serial.println(numSensorsMux[mux]);
  21.  
  22.     mcpMuxChip.digitalWrite(MUX_PINS[mux], HIGH);
  23.     // Allocate memory for the sensor values for each mux
  24.       for (int i = 0; i < numSensorsMux[mux]; i++) {
  25.         sensorValuesMux[mux][i] = 0;
  26.       }
  27.   }
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement