Está en la página 1de 1

int Clk = 2; // Pin de reloj para controlar el contador 4017

int Reset = 4; // Pin de reinicio para reiniciar el contador 4017


int Entrada = 3; // Pin de estado compartido para leer el estado de los tanques

void setup() {
pinMode(Clk, OUTPUT);
pinMode(Reset, OUTPUT);
pinMode(Entrada, INPUT);

Serial.begin(9600);
}

void medirConteo(int &tanque1, int &tanque2) {


digitalWrite(Reset, HIGH);
delayMicroseconds(10);
digitalWrite(Reset, LOW);

for (int i = 0; i < 10; i++) {


digitalWrite(Clk, HIGH);
delayMicroseconds(10);
digitalWrite(Clk, LOW);

if (i < 5) {
tanque1 = digitalRead(Entrada);
} else {
tanque2 = digitalRead(Entrada);
}
}
}

void loop() {
int i = 0;
while (i < 5) { // Realiza 5 ciclos completos de medición
int conteoTanque1, conteoTanque2;
medirConteo(conteoTanque1, conteoTanque2); // Medir conteo para ambos tanques

int porcentajeTanque1 = map(conteoTanque1, 1, 0, 0, 100); // Convertir conteo


en porcentaje (Tanque 1)
int porcentajeTanque2 = map(conteoTanque2, 1, 0, 0, 100); // Convertir conteo
en porcentaje (Tanque 2)

Serial.print("Tanque 1 - Porcentaje: ");


Serial.print(porcentajeTanque1);
Serial.print("%, Tanque 2 - Porcentaje: ");
Serial.print(porcentajeTanque2);
Serial.println("%");

delay(1000);
i++;
}
}

También podría gustarte