Ви не увійшли.
Сторінки 1
Добрый день уважаемы форумчане. Вот сижу и не могу разобраться что и где делаю не правильно,суть такова
Arduino Uno + 28byj-48 + драйвер ULN 2003 + тактовая кнопка
сценарий следующий :
при нажатии на кнопку сделать несколько оборотов шаговика
Проблема следующая подключив все и нажав кнопку на драйвере загорается 1 диод и все на этом
питание стабильное , схему собрал верно,драйвер и шаговик исправны (работают на примерном скетче )
#include <CustomStepper.h>
CustomStepper stepper(8, 9, 10, 11);
boolean rotate1 = false;
boolean rotatedeg = false;
boolean crotate = false;
int LED =13; // LED pin /контакт питания светодиода
int buttonPin = 3; // номер входа, подключенный к кнопке
int buttonState = 0;
void setup()
{
stepper.setRPM(12);
stepper.setSPR(4075.7728395);
pinMode(buttonPin, INPUT);
pinMode(LED, OUTPUT); // LED выход
}
void loop()
{
stepper.run();
buttonState = digitalRead(buttonPin); // считываем значения с входа кнопки
if (buttonState == HIGH &&stepper.isDone())
{
LEDmig(LED,3); //led flash function 1 /мигнуть светодиодом выключателя медленно Х раза
Run() ;
}
}
void Run()
{
stepper.setDirection(CCW); // Устанавливает направление вращения (по часовой)
stepper.rotate(2); // Устанавливает вращение на заданное количество оборотов
rotate1 = true;
}
///led flash function / функция мигания светодиода 1 (имя светодиода, кол-во миганий)
void LEDmig(int led_name, int count)
{
if (digitalRead(led_name) == HIGH) // если диод горит
{
digitalWrite(led_name, LOW ); // выкл светодиод
}
for (int i=1; i <= count; i++) //мигаем
{
digitalWrite(led_name, HIGH ); // зажечь светодиод
delay(400);
digitalWrite(led_name, LOW ); // выкл светодиод
delay(400);
}
}
Неактивний
сначала разберитесь с кнопкой, почитайте про дребезг контактов.
потом научитесь управлять шаговиком кнопкой
затем научитесь мигать светодиодом без делеев
и только тогда объедините всё в кучу.
Неактивний
Подключение шагового двигателя 28BYJ-48 с драйвером на микросхеме ULN2003 к Arduino Uno
https://youtu.be/8b-9drmBPTY
Сторінки 1