Форум

Радиолюбительский форум.

Если у Вас возникли вопросы, задавайте их на форуме.

В сети

Пользователей: 306
Из них просматривают:
Аналоги: 137. Даташиты: 94. Инструкции: 1. Новости: 25. Остальное: 4. Программы: 1. Производители: 1. Профиль пользователя: 17. Расчёты: 1. Форум: 25.
Участников: 2
Гостей: 304

Google , Яндекс , далее...
Рекорд 3921 человек онлайн установлен 06.03.2026.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

Просмотр этой темы: 

 1 анонимных пользователей
Re: управление шаговиком
Сотрудник
Зарегистрирован:
09.10.2013 21:40
Сообщений: 36
Не в сети
#include <Stepper.h>
#define steps 200
int hallSensorPin = 2;
Stepper myStepper(steps, 7, 6, 5, 4);
volatile boolean intFlag = false; // флаг
void setup() {
myStepper.setSpeed(60);
pinMode(2, INPUT_PULLUP); // 2 пин вход с подтягивающим резистором - концевик

// 0 - прерывание 0
// обработчик - функция turnStep
// FALLING - при срабатывании концевика будет сигнал 0, его и ловим
attachInterrupt(0, turnStep, FALLING);
myStepper.step(steps);
}
void turnStep() {
intFlag = true; // подняли флаг прерывания
}

void loop() {
if (intFlag) {
intFlag = false;
stepper.disableOutputs(); // сбрасывае

// Здесь останавливаем ШД
}
} пишет ошибка в последней строчке. что ненравится немогу понять



Re: управление шаговиком
Сотрудник
Зарегистрирован:
09.10.2013 21:40
Сообщений: 36
Не в сети
#include <Stepper.h>
#define steps 200
int hallSensorPin = 2;
Stepper myStepper(steps, 7, 6, 5, 4);
volatile boolean intFlag = false; // флаг
void setup() {
myStepper.setSpeed(60);
pinMode(2, INPUT_PULLUP); // 2 пин вход с подтягивающим резистором - концевик

// 0 - прерывание 0
// обработчик - функция turnStep
// FALLING - при срабатывании концевика будет сигнал 0, его и ловим
attachInterrupt(0, turnStep, FALLING);
myStepper.step(steps);
}
void turnStep() {
intFlag = true; // подняли флаг прерывания
}

void loop() {
if (intFlag) {
intFlag = false;
stepper.disableOutputs(); // сбрасывае

// Здесь останавливаем ШД
}
} выдает ошибку.....



Re: управление шаговиком
Сотрудник
Зарегистрирован:
09.10.2013 21:40
Сообщений: 36
Не в сети
#include <Stepper.h>

#define steps 200
#define stepperSpeed 60
#define sensorPin 2
#define buttonPin 3
const int PIN_LED = 13;
Stepper myStepper(steps, 7, 6, 5, 4);

void setup() {
myStepper.setSpeed(stepperSpeed);
pinMode(sensorPin, INPUT);
pinMode(buttonPin, INPUT_PULLUP);
while(!digitalRead(sensorPin))
myStepper.step(1);
myStepper.setSpeed(100);
}

void loop() {
if(!digitalRead(buttonPin)){
for(byte i = 0; i < 10; i++){
myStepper.step(steps);digitalWrite(PIN_LED, HIGH);
delay(100);
myStepper.step(-steps);digitalWrite(PIN_LED,LOW );
delay(100);
}
}
}



Re: управление шаговиком
Сотрудник
Зарегистрирован:
09.10.2013 21:40
Сообщений: 36
Не в сети
может кому пригодится



Поиск по форуму


Расширенный поиск

Разное

Интересно

При замене электролитических конденсаторов, кроме соблюдения полярности, не следует значительно превышать допустимое рабочее напряжение.
Например, если конденсатор рассчитан на рабочее напряжение 16 В, то при установке нового той же емкости, но рассчитанного на напряжение 300 В после непродолжительной эксплуатации произойдет его расформовка, и емкость его значительно уменьшится.