Кодирование нескольких сервоприводов в Arduino

Я первый год изучаю мехатронную инженерию, и у меня возникли проблемы с кодом, который я использую для управления двуногим роботом в своем проекте.

#include <servo.h>
Servo myservoa;
           myservob;
           myservoc;
           myservod;
int     myservoa=10;
          myservob=55;
          myservoc=25;
          myservod=125;

void setup() {
    myservoa.attach(2)
    myservob.attach(3)
    myservoc.attach(4)
    myservod.attach(5)
}

void loop() {
    for pos=10;pos<=75;pos+=1;
    {
        myservoa.write(pos);
        delay(1000);
    }
    for pos=55;pos<=100;pos+=1;
    {
        myservob.write(pos)
        delay (1800)
    }
    for pos=25;pos<=165;pos+=1;
    {
        myservoc.write(pos)
        delay (1000)
    }
    for pos=125;pos<=170;pos+=1;
    {
        myservod.write(pos)
        delay (1800)
    }
}

Может ли быть ошибка в коде?

, 👍-3


1 ответ


3

Может ли быть ошибка в коде?

Можно сказать, да. Давайте для начала перечислим все синтаксические ошибки:

#include <servo.h>
Servo myservoa;
           myservob; // У этого нет типа. Это просто слово само по себе.
           myservoc; // У этого нет типа. Это просто слово само по себе.
           myservod; // У этого нет типа. Это просто слово само по себе.


int     myservoa=10; // Вы уже определили myservoa как тип Servo.
          myservob=55; // У этого нет типа. Это просто слово само по себе.
          myservoc=25; // У этого нет типа. Это просто слово само по себе.
          myservod=125; // У этого нет типа. Это просто слово само по себе.

void setup()
{
    myservoa.attach(2) // Точка с запятой должна завершать все операторы.
    myservob.attach(3) // Точка с запятой должна завершать все операторы.
    myservoc.attach(4) // Точка с запятой должна завершать все операторы.
    myservod.attach(5) // Точка с запятой должна завершать все операторы.
}

void loop()
{
    for pos=10;pos<=75;pos+=1; // Скобки отсутствуют, pos не определен и дополнительный ;
    {
        myservoa.write(pos);
        delay(1000);
    }
    for pos=55;pos<=100;pos+=1; // Скобки отсутствуют, pos не определен и дополнительный ;
    {
        myservob.write(pos)  // Точка с запятой должна завершать все операторы.
        delay (1800) // Точка с запятой должна завершать все операторы.
    }
    for pos=25;pos<=165;pos+=1; // Скобки отсутствуют, pos не определен и дополнительный ;
    {
        myservoc.write(pos) // Точка с запятой должна завершать все операторы.
        delay (1000) // Точка с запятой должна завершать все операторы.
    }
    for pos=125;pos<=170;pos+=1; // Скобки отсутствуют, pos не определен и дополнительный ;
    {
        myservod.write(pos) // Точка с запятой должна завершать все операторы.
        delay (1800) // Точка с запятой должна завершать все операторы.
    }
}

Вам действительно нужно разобраться с синтаксисом языка, прежде чем вы начнете программировать на этом языке. Я насчитал там всего 6 строк (не включая { и }) допустимого кода на языке C, и две из них предоставлены вам IDE.

,