使用模拟输出进行 Arduino 继电器控制

问题描述 投票:0回答:1

我正在开展一个项目,其中混合器为您混合完美的饮料。然而,我使用了传感器的每个数字引脚,现在我想我可以使用模拟引脚来控制泵的继电器。但自从我更改了代码后,泵就不再关闭了。知道为什么会发生这种情况吗?

这是我的代码的一部分:

#define pumpPin1 A0
#define pumpPin2 A1
#define pumpPin3 A2
#define pumpPin4 A3
//pinMode Setup for the Relay
pinMode(pumpPin1, OUTPUT);
pinMode(pumpPin2, OUTPUT);
pinMode(pumpPin3, OUTPUT);
pinMode(pumpPin4, OUTPUT);
digitalWrite(pumpPin1, LOW);
digitalWrite(pumpPin2, LOW);
digitalWrite(pumpPin3, LOW);
digitalWrite(pumpPin4, LOW);
void loop() {
  if (ts.touched()) {
    TS_Point p = ts.getPoint();
    Serial.println();
    if (p.x < 3800 && p.x > 2400 && p.y < 3100){
      Serial.print("Mische Vodka");
      digitalWrite(pumpPin1, HIGH);
      digitalWrite(pumpPin2, HIGH);
      digitalWrite(pumpPin3, HIGH);
      digitalWrite(pumpPin4, HIGH);
      delay(3000);
      digitalWrite(pumpPin1, LOW);
      digitalWrite(pumpPin2, LOW);
      digitalWrite(pumpPin3, LOW);
      digitalWrite(pumpPin4, LOW);
    }
    if (p.x < 2400 && p.y < 3100) {
      Serial.print("Mische Gin");
      digitalWrite(pumpPin1, HIGH);
      digitalWrite(pumpPin2, HIGH);
      digitalWrite(pumpPin3, HIGH);
      digitalWrite(pumpPin4, HIGH);
      delay(3000);
      digitalWrite(pumpPin1, LOW);
      digitalWrite(pumpPin2, LOW);
      digitalWrite(pumpPin3, LOW);
      digitalWrite(pumpPin4, LOW);
    }

我已经尝试过使用analogWrite(),但这也不起作用。

arduino arduino-uno arduino-ide arduino-esp32 arduino-c++
1个回答
0
投票

更新:似乎与模拟引脚无关。我发现触摸显示屏不断触发泵。然而,这对我来说似乎很奇怪,因为它与数字引脚配合得很好。

© www.soinside.com 2019 - 2024. All rights reserved.