我怎样才能让这个继电器在我拥有的 3 个触摸传感器中的任何一个上打开?

How can i make this relay turn on on any of the 3 touch sensors i have?

我有一个继电器,我想用它打开灯,我有 2 个触摸传感器,但使用此代码我只能用 1 个打开它,我怎样才能让它工作?第三个是一个开关,但它应该仍然可以正常工作。我试过了,它使用不同的代码。但该代码是用于伺服而不是继电器。

int touchPin   = 4;
int touchPin2   = 6;   // Arduino pin connected to touch sensor's pin
int touchPin3   = 7 ;
int relayPin = 9;

int val = 0;
int lightON = 0;
int touched = 0;

void setup() {
  Serial.begin(9600);
  pinMode(touchPin, INPUT); 
    pinMode(touchPin2, INPUT);
      pinMode(touchPin3, INPUT);
  pinMode(relayPin, OUTPUT);

}

void loop() {

  val = digitalRead(touchPin);
    val = digitalRead(touchPin2);
      val = digitalRead(touchPin3);

  if(val == HIGH && lightON == LOW){

    touched = 1-touched;
    delay(100);
  }    

  lightON = val;

      if(touched == HIGH){
        Serial.println("Light ON");
        digitalWrite(relayPin, LOW); 
       
      }else{
        Serial.println("Light OFF");
        digitalWrite(relayPin, HIGH);
   
      }     

  delay(100);
}

您需要同时处理所有三个数字输入。在你的代码中

val = digitalRead(touchPin);
val = digitalRead(touchPin2);
val = digitalRead(touchPin3);

您正在用最后一个覆盖前两个读取值。您应该将它们结合起来或分别处理所有三个。如果 any 为 HIGH:

,则将三个读数合并为一个值为 HIGH 的值
val = digitalRead(touchPin) || digitalRead(touchPin2) || digitalRead(touchPin3);

分开:

int val  = digitalRead(touchPin);
int val2 = digitalRead(touchPin2);
int val3 = digitalRead(touchPin3);

if ((val == HIGH || val2 == HIGH || val3 == HIGH) && lightON == LOW) {