es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para hacerlo funcionar con dos sensores táctiles y un interruptor, necesitas añadir más pines, uno para cada sensor táctil y uno para el interruptor. También necesitas modificar el código para leer el estado de todas las entradas y ajustar la luz en consecuencia. Aquí tienes un ejemplo de código que utiliza los pines 2, 3, 4 y 5 para los sensores táctiles y el interruptor:

    int touchPin1 = 2;
    int touchPin2 = 3;
    int switchPin = 4;
    int relayPin = 5;
    
    int val1 = 0;
    int val2 = 0;
    int switchVal = 0;
    int touched1 = 0;
    int touched2 = 0;
    int lightON = 0;
    
    void setup() {
      Serial.begin(9600);
      pinMode(touchPin1, INPUT);
      pinMode(touchPin2, INPUT);
      pinMode(switchPin, INPUT_PULLUP);
      pinMode(relayPin, OUTPUT);
    }
    
    void loop() {
      val1 = digitalRead(touchPin1);
      val2 = digitalRead(touchPin2);
      switchVal = digitalRead(switchPin);
    
      if (val1 == HIGH && lightON == LOW) {
        touched1 = 1 - touched1;
        delay(100);
      }
      if (val2 == HIGH && lightON == LOW) {
        touched2 = 1 - touched2;
        delay(100);
      }
    
      lightON = val1 || val2 || switchVal;
    
      if (touched1 == HIGH || touched2 == HIGH || switchVal == LOW) {
        Serial.println("Luz ON");
        digitalWrite(relayPin, LOW);
      } else {
        Serial.println("Luz APAGADA");
        digitalWrite(relayPin, HIGH);
      }
    
      delay(100);
    }
    

    Este código lee el estado de todas las entradas (sensor táctil 1, sensor táctil 2 e interruptor) y enciende la luz si cualquiera de ellos es tocado (o si el interruptor está encendido), y apaga la luz si ninguno de ellos es tocado (y el interruptor está apagado). Ten en cuenta que el interruptor se encuentra pull-up mediante la resistencia interna de Arduino para que se lea en bajo cuando está encendido.

Comments are closed.