const int pinS0 = 5;
const int pinS1 = 4;
const int pinS2 = 3;
const int pinS3 = 2;
const int pinSig = 6;
const float BETA = 3950; // Debe coincidir con el coeficiente Beta del termistor
void setup() {
Serial.begin(9600);
pinMode(pinS0, OUTPUT);
pinMode(pinS1, OUTPUT);
pinMode(pinS2, OUTPUT);
pinMode(pinS3, OUTPUT);
pinMode(pinSig, INPUT);
}
void loop() {
for (int i = 0; i < 4; i++) {
// Establecer el canal del multiplexor
digitalWrite(pinS0, bitRead(i, 0));
digitalWrite(pinS1, bitRead(i, 1));
digitalWrite(pinS2, bitRead(i, 2));
digitalWrite(pinS3, bitRead(i, 3));
delay(100); // Esperar un poco para asegurar que el multiplexor ha cambiado el canal
int analogValue = analogRead(pinSig); // Leer el valor analógico del sensor conectado al canal actual
int analogValue2 = analogRead(7);
float celsius = 1 / (log(1 / (1023.0 / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
Serial.print("Sensor ");
Serial.print(i + 1);
Serial.print(": Temperatura = ");
Serial.print(celsius);
Serial.println(" °C");
Serial.println(analogValue2);
delay(1000); // Esperar un segundo antes de leer el siguiente sensor
}
}