#1 Re: Програмування Arduino » Чат GPT та Arduino » 2023-02-20 11:40:40

Все зробив, знайшов інший код, що працював, попросив проаналізувати відмінності та внести корективи в попередній код

#include <AccelStepper.h>

// Оголошуємо піни для керування кроковим двигуном
#define X_STEP_PIN         54
#define X_DIR_PIN          55
#define X_ENABLE_PIN       38

// Створюємо об'єкт класу AccelStepper
AccelStepper stepper(1, X_STEP_PIN, X_DIR_PIN);

void setup() {
  // Встановлюємо режим керування двигуном
  stepper.setSpeed(1000); // Half-step mode
  stepper.setMaxSpeed(1000); // Встановлюємо максимальну швидкість обертання вісі X
  stepper.setAcceleration(500); // Встановлюємо прискорення
  
  // Налаштовуємо піни керування двигуном
  pinMode(X_STEP_PIN, OUTPUT);
  pinMode(X_DIR_PIN, OUTPUT);
  pinMode(X_ENABLE_PIN, OUTPUT);
  digitalWrite(X_ENABLE_PIN, LOW); // Ввімкнути драйвер двигуна
}

void loop() {
  // Рухаємо двигун вперед
  digitalWrite(X_DIR_PIN, HIGH);
  stepper.move(2000); // Рухаємо на 2000 кроків
  stepper.runToPosition();
  delay(1000); // Затримка 1 секунду

  // Рухаємо двигун назад
  digitalWrite(X_DIR_PIN, LOW);
  stepper.move(-2000); // Рухаємо на 2000 кроків в зворотньому напрямку
  stepper.runToPosition();
  delay(1000); // Затримка 1 секунду
}

#2 Програмування Arduino » Чат GPT та Arduino » 2023-02-19 20:03:20

Ардуіно_початківець
відповідей: 4

Всім привіт. Тестую чат GPT на предмет можливоті написання коду з його допомогою. Різні штуки з світлодіодами працюють, вирішив задати йому завдання поскладніше:
Є плата Arduino Mega 2560 до неї підключена плата розширення Arduino Mega RAMPS1.4 з драйвером двигуна A4988 кроковим двигуном 1.8 градуси, напиши найпростіший код для перевірки роботи крокового двигуна.

На що він видав наступний код:

#include <AccelStepper.h>

// Визначаємо піни, на які підключені кроковий двигун
#define STEP_PIN 54
#define DIR_PIN 55

// Створюємо об'єкт крокового двигуна
AccelStepper stepper(1, STEP_PIN, DIR_PIN);

void setup() {
  // Налаштовуємо швидкість руху крокового двигуна
  stepper.setMaxSpeed(1000);
}

void loop() {
  // Рухаємо кроковий двигун на 200 кроків в один напрямок
  stepper.move(200);
  stepper.runToPosition();

  // Затримка на 1 секунду
  delay(1000);

  // Рухаємо кроковий двигун на 200 кроків в інший напрямок
  stepper.move(-200);
  stepper.runToPosition();

  // Затримка на 1 секунду
  delay(1000);
}

Ну і нічого не працює, при тому, що з обладнанням все ок, заливаю прошивку Marlin при цьому двигун працює як треба.

Питання - наскільки все погано з кодом, що не вірно?

PS
Проект не комерційний, викликаний інтересом звичайним, що не дає заснути big_smile

Підвал форуму