Шилд L293D
- Войдите на сайт для отправки комментариев
Чт, 04/02/2021 - 20:56
Здравствуйте. Пожалуйста подскажите в чем проблема.
Имеется задача: необходимо осуществить управление 4 двигателей постоянного тока с 3 кнопок, через шилд L293D.
const int buttonPin1 = 32;
const int ledPin1 = 33;
const int buttonPin2 = 34;
const int ledPin2 = 35;
const int buttonPin3 = 36;
const int ledPin3 = 37;
#include <AFMotor.h>
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(buttonPin1, INPUT);
pinMode(ledPin2, OUTPUT);
pinMode(buttonPin2, INPUT);
pinMode(ledPin3, OUTPUT);
pinMode(buttonPin3, INPUT);
motor1.setSpeed(255);
motor1.run(RELEASE);
motor2.setSpeed(255);
motor2.run(RELEASE);
motor3.setSpeed(255);
motor3.run(RELEASE);
motor4.setSpeed(255);
motor4.run(RELEASE);
}
void loop() {
int buttonState1 = digitalRead(buttonPin1);
if (buttonState1 == HIGH) {
digitalWrite(ledPin1, HIGH);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
else {
digitalWrite(ledPin1, LOW);
motor1.run(FORWARD);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
motor1.setSpeed(255);
motor2.setSpeed(255);
motor1.setSpeed(255);
motor4.setSpeed(255);
}
int buttonState2 = digitalRead(buttonPin2);
if (buttonState2 == HIGH); {
digitalWrite(ledPin2, HIGH);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
else {
digitalWrite(ledPin2, LOW);
motor1.run(BACKWARD);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
motor1.setSpeed(255);
motor2.setSpeed(255);
motor1.setSpeed(255);
motor4.setSpeed(255);
}
int buttonState3 = digitalRead(buttonPin3);
if (buttonState3 == HIGH) {
digitalWrite(ledPin3, HIGH);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
else {
digitalWrite(ledPin3, LOW);
motor1.run(RELEASE);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
motor1.setSpeed(255);
motor2.setSpeed(255);
motor1.setSpeed(255);
motor4.setSpeed(255);
}
}
При проверке данного кода, программа выдает ошибку "'else' without a previous 'if'"
При проверке данного кода, программа выдает ошибку "'else' without a previous 'if'"
Что делать?
Проблема в том, что правил форума не читаете. И то, что компилятор пишет - тоже. А он, между прочим, строку указывает, на которой ошибку нашел.
Сорян, за не чтение правил. Данный вопрос задать на форуме "Ишу исполнителя"? Ошибка в 56 строке
Значит смотрите в 56ю строку. В вашем коде нумерация отсутствует, а считать пальцем никто не будет.
Ошибку увидел, где не надо стоит ';'.
но сначала , все же, нужно выложить код как положено.
В строке 49, после блока if, стоит лишняя ';'
Спасибо большое. Не заметил