안녕하세요. 그래서 저는 arduino를 사용하여 cytron MD-10 모터 드라이버 방패로 모터 극성을 제어했으며 작동 시켰습니다. 그런 다음 다시 작동 할 때 디지털 읽기 핀이 높은 전압과 낮은 전압을 구별하지 못하는 것처럼 보였고 하나의 표시등이 계속 켜져있는 것처럼 보였습니다. 출력은 측정 된 4.84 볼트의 연속 공급으로 설정된 상태로 기능 한 다음 스위치가 닫히면 전압이 0으로 떨어지고 해당 루프를 입력해야합니다. 내 보드 튀김인가요? 내가 해봐야 할게 뭐야?arduino 디지털 읽기가 작동하지 않습니다.
if (digitalRead(inSwitch == LOW)) // OOPS!
이 아마 false를 돌려 LOW
에 inSwitch
비교 :
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)' – Sma