Ви не увійшли.
Здравствуйте друзья.Пробую написать скетч,хочу управлять шаговиком через монитор порта.
Если с библиотекой и работой с ней уже разобрался то с монитором порта всё туго...А дело в том что хочу сделать такое себе меню с несколькими вариантами работы.Но ничего не получается.Помогите понять что сделал не так?
КОД:
#include <Arduino.h>
//Параметры двигателя
#define MOTOR_STEPS 200
#define RPM 120
#define DIR 8
#define STEP 9
//Инициализация параметров драйвера
#include "DRV8825.h"
#define MODE0 10
#define MODE1 11
#define MODE2 12
DRV8825 stepper(MOTOR_STEPS, DIR, STEP, MODE0, MODE1, MODE2);
//Переменные
int Mode = 0;
int Impulses = 0;
int Speed = 0;
int Angle1 = 0;
int Angle2 = 0;
void setup() {
Serial.begin(115200);
stepper.begin(RPM);
stepper.enable();
Serial.println("Выберите режим 1-4:");
doMode();
}
void loop() {
doMode();
}
void doMode(){
if (Serial.available() > 0) { //если есть доступные данные
Mode = Serial.parseInt(); // считываем байт
Serial.print("Выбран режим: "); // отсылаем то, что получили
Serial.println(Mode);}
else if (Mode > 4){
Mode = 0;
Serial.println("Выбран несуществующий режим!");
}
switch (Mode){
//Логика режима 1:
case 1:
Serial.println("Количество шагов и направлеие(для влево введите количество шагов со знаком -(минус): ");
if (Serial.available()) { //если есть доступные данные
Impulses = Serial.parseInt();
Serial.print("Количество шагов и направлеие:");
Serial.println(Impulses);
if (Serial.available()) { //если есть доступные данные
Serial.print("Установите скорость: ");
Speed = Serial.parseInt();
Serial.print("Cкорость:");
Serial.println(Speed);}}
break;
//Логика режима 2:
case 2:
Serial.println("Установите скорость: ");
if (Serial.available() > 0) { //если есть доступные данные
Speed = Serial.parseInt();
Serial.print("Cкорость:");
Serial.println(Speed);}
stepper.setMicrostep(4); // Set microstep mode to 1:1
stepper.rotate(Impulses);
break;
Вся проблема в том что после выбора например 1 режима начинается цикличная прокрутка фразы "Количество шагов и направлеие(для влево введите количество шагов со знаком -(минус): " и всё,не реагирует больше.
Остання редакція Romanovskiy (2019-04-01 18:07:31)
Неактивний