const int buttonPin01 = 39; // boton Tanque 1
const int ledPin01 = 19; // Tanque 1
const int buttonPin02 = 34;
const int ledPin02 = 18;
const int buttonPin03 = 35;
const int ledPin03 = 5;
const int buttonPin04 = 32;
const int ledPin04 = 17;
const int buttonPin05 = 33;
const int ledPin05 = 16;
const int ledPin06 = 15;
const int SensorTanque1 = 25;
const int SensorTanque2 = 26;
const int automaticotanques = 27;
int ledState01 = HIGH; // the current state of the output pin
int buttonState01; // the current reading from the input pin
int lastButtonState01 = HIGH; // the previous reading from the input pin
int ledState02 = HIGH;
int buttonState02;
int lastButtonState02 = HIGH;
int ledState03 = HIGH;
int buttonState03;
int lastButtonState03 = HIGH;
int ledState04 = HIGH;
int buttonState04;
int lastButtonState04 = HIGH;
int ledState05 = HIGH;
int buttonState05;
int lastButtonState05 = HIGH;
int ledState06 = HIGH;
unsigned long lastDebounceTime01 = 0; // the last time the output pin was toggled
unsigned long lastDebounceTime02 = 0;
unsigned long lastDebounceTime03 = 0;
unsigned long lastDebounceTime04 = 0;
unsigned long lastDebounceTime05 = 0;
unsigned long debounceDelay = 50; // the debounce time; increase if the output flickers
void setup() {
pinMode(buttonPin01, INPUT);
pinMode(ledPin01, OUTPUT);
pinMode(buttonPin02, INPUT);
pinMode(ledPin02, OUTPUT);
pinMode(buttonPin03, INPUT);
pinMode(ledPin03, OUTPUT);
pinMode(buttonPin04, INPUT);
pinMode(ledPin04, OUTPUT);
pinMode(buttonPin05, INPUT);
pinMode(ledPin05, OUTPUT);
pinMode(ledPin06, OUTPUT);
pinMode(SensorTanque1, INPUT);
pinMode(SensorTanque2, INPUT);
pinMode(automaticotanques, INPUT);
// set initial LED state
digitalWrite(ledPin01, ledState01);
digitalWrite(ledPin02, ledState02);
digitalWrite(ledPin03, ledState03);
digitalWrite(ledPin04, ledState04);
digitalWrite(ledPin05, ledState05);
digitalWrite(ledPin06, ledState06);
Serial.begin(9600); // initialize serial communication at 9600 bits per second
}
// Botón 01
void loop() {
// Botón 01
int reading01 = digitalRead(buttonPin01);
if (reading01 != lastButtonState01) {
lastDebounceTime01 = millis();
}
if ((millis() - lastDebounceTime01) > debounceDelay) {
if (reading01 != buttonState01) {
buttonState01 = reading01;
if (buttonState01 == LOW) {
ledState01 = !ledState01;
Serial.print (" Botón 1 ");
Serial.println (ledState01);
}
}
}
digitalWrite(ledPin01, ledState01);
lastButtonState01 = reading01;
// Botón 02
int reading02 = digitalRead(buttonPin02);
if (reading02 != lastButtonState02) {
lastDebounceTime02 = millis();
}
if ((millis() - lastDebounceTime02) > debounceDelay) {
if (reading02 != buttonState02) {
buttonState02 = reading02;
if (buttonState02 == LOW) {
ledState02 = !ledState02;
Serial.print (" Botón 2 ");
Serial.println (ledState02);
}
}
}
digitalWrite(ledPin02, ledState02);
lastButtonState02 = reading02;
// Botón 03
int reading03 = digitalRead(buttonPin03);
if (reading03 != lastButtonState03) {
lastDebounceTime03 = millis();
}
if ((millis() - lastDebounceTime03) > debounceDelay) {
if (reading03 != buttonState03) {
buttonState03 = reading03;
if (buttonState03 == LOW) {
ledState03 = !ledState03;
Serial.print (" Botón 3 ");
Serial.println (ledState03);
}
}
}
digitalWrite(ledPin03, ledState03);
lastButtonState03 = reading03;
// Botón 04
int reading04 = digitalRead(buttonPin04);
if (reading04 != lastButtonState04) {
lastDebounceTime04 = millis();
}
if ((millis() - lastDebounceTime04) > debounceDelay) {
if (reading04 != buttonState04) {
buttonState04 = reading04;
if (buttonState04 == LOW) {
ledState04 = !ledState04;
Serial.print (" Botón 4 ");
Serial.println (ledState04);
}
}
}
digitalWrite(ledPin04, ledState04);
lastButtonState04 = reading04;
// Botón 05
int reading05 = digitalRead(buttonPin05);
if (reading05 != lastButtonState05) {
lastDebounceTime05 = millis();
}
if ((millis() - lastDebounceTime05) > debounceDelay) {
if (reading05 != buttonState05) {
buttonState05 = reading05;
if (buttonState05 == LOW) {
ledState05 = !ledState05;
Serial.print (" Botón 5 ");
Serial.println (ledState05);
}
}
}
digitalWrite(ledPin05, ledState05);
lastButtonState05 = reading05;
// automatico tanques
int automaticoomanual = digitalRead(automaticotanques);
if (automaticoomanual == 0) {
Serial.print (" automatico ");
Serial.println (automaticoomanual);
int tanquevacio1 = digitalRead(SensorTanque1);
if (tanquevacio1 == 0) {
digitalWrite(ledState01, LOW);
Serial.print (" SensorTanque1 ");
Serial.println (ledState01);
}
//
int tanquevacio2 = digitalRead(SensorTanque2);
if (tanquevacio2 == 0) {
digitalWrite(ledState02, LOW);
Serial.print (" SensorTanque2 ");
Serial.println (ledState02);
}
}
// Led bomba
ledState06 = !ledState01 + !ledState02 + !ledState03 + !ledState04;
if (ledState06 != 0) {
digitalWrite(ledPin06, LOW);
}
else {
digitalWrite(ledPin06, HIGH);
// Automatico de tanques
// Serial.print (" - la bmba esta ");
// Serial.println (ledState06);
}
}