【发布时间】:2017-09-18 13:19:41
【问题描述】:
我一直在使用我的 Arduino 来通过 Cytron MD-10 电机驱动器屏蔽来控制电机极性,并且我让它工作了。
然后,当我回来工作时,似乎数字读取引脚没有区分高电压和低电压,并且其中一个灯持续亮起。
输出功能设置为连续提供测量的 4.84 伏电压,然后开关闭合,电压降至 0,应进入相应的回路。我的板子炸了吗?
我应该尝试什么?
const int outSwitch = 13;
const int inSwitch = 12;
const int pinPWM = 3;
const int pinDir = 2;
int lightOne = 11;
int lightTwo = 10;
static int Dir = 1;
static int cycleCounter = 0;
void setup() {
// Set Pin Out/Inputs:
pinMode(pinPWM, OUTPUT);
pinMode(pinDir, OUTPUT);
pinMode(outSwitch, INPUT);
pinMode(inSwitch, INPUT);
pinMode(lightOne, OUTPUT);
pinMode(lightTwo, OUTPUT);
analogWrite(pinPWM, LOW);
}
void loop() {
// Both read a low input value from the switch and then makes
// direction the opposite causing it to travel backwards:
if(digitalRead(inSwitch == LOW)){
analogWrite(pinPWM, HIGH);
digitalWrite(pinDir, Dir);
digitalWrite(lightOne, LOW);
digitalWrite(lightTwo, HIGH);
}
else if(digitalRead(outSwitch == LOW)){
analogWrite(pinPWM, HIGH);
digitalWrite(pinDir, -Dir);
digitalWrite(lightOne, LOW);
digitalWrite(lightTwo, HIGH);
}
}
【问题讨论】:
-
在
if和else if条件下,括号有点错误。他们应该是if(digitalRead(inSwitch) == LOW)和else if(digitalRead(outSwitch) == LOW)
标签: arduino arduino-uno plc