#1 2023-02-19 20:03:20

Ардуіно_початківець
Учасник
Зареєстрований: 2023-02-19
Повідомлень: 2

Чат GPT та Arduino

Всім привіт. Тестую чат 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

Неактивний

#2 2023-02-19 23:23:35

Васятко
Гість

Re: Чат GPT та Arduino

Запитай у Аліси  big_smile

#3 2023-02-19 23:48:15

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Чат GPT та Arduino

Васятко пише:

Запитай у Аліси  big_smile

Цеж російська (яндекс) приблуда і тут вона під забороною ...

Остання редакція renoshnik (2023-02-19 23:49:55)

Неактивний

#4 2023-02-20 01:05:01

Васятко
Гість

Re: Чат GPT та Arduino

renoshnik пише:

Цеж російська (яндекс) приблуда і тут вона під забороною ...

Упс... не подумав

#5 2023-02-20 11:40:40

Ардуіно_початківець
Учасник
Зареєстрований: 2023-02-19
Повідомлень: 2

Re: Чат GPT та Arduino

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

#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 секунду
}

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

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