// Pin Definitions
const int stepPin = 3; // Pin pro krok
const int dirPin = 2; // Pin pro směr
const int buttonLeft = 4; // Tlačítko pro pohyb doleva
const int buttonRight = 5; // Tlačítko pro pohyb doprava
void setup() {
// Nastavení pinů
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(buttonLeft, INPUT_PULLUP);
pinMode(buttonRight, INPUT_PULLUP);
}
void loop() {
// Kontrola stavu tlačítek
if (digitalRead(buttonLeft) == LOW) {
digitalWrite(dirPin, LOW); // Nastavení směru doleva
stepMotor(); // Funkce pro krok motoru
}
else if (digitalRead(buttonRight) == LOW) {
digitalWrite(dirPin, HIGH); // Nastavení směru doprava
stepMotor(); // Funkce pro krok motoru
}
}
void stepMotor() {
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000); // Délka kroku (uprav podle potřeby)
digitalWrite(stepPin, LOW);
delayMicroseconds(1000); // Délka kroku (uprav podle potřeby)
}
#define STEP_PIN 2
#define DIR_PIN 3
#define BUTTON_LEFT 4
#define BUTTON_RIGHT 5
void setup() {
pinMode(STEP_PIN, OUTPUT);
pinMode(DIR_PIN, OUTPUT);
pinMode(BUTTON_LEFT, INPUT_PULLUP);
pinMode(BUTTON_RIGHT, INPUT_PULLUP);
digitalWrite(DIR_PIN, HIGH);
}
void loop() {
if (digitalRead(BUTTON_LEFT) == LOW) {
digitalWrite(DIR_PIN, LOW);
stepMotor();
} else if (digitalRead(BUTTON_RIGHT) == LOW) {
digitalWrite(DIR_PIN, HIGH);
stepMotor();
}
}
void stepMotor() {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(1000);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(1000);
}
#define buttonLeft 2 // Pin pro tlačítko vlevo
#define buttonRight 5 // Pin pro tlačítko vpravo
int posun = 0; // Pozice posunu
void setup() {
Serial.begin(9600);
pinMode(buttonLeft, INPUT_PULLUP);
pinMode(buttonRight, INPUT_PULLUP);
}
void loop() {
// Kontrola stavu levého tlačítka
if (digitalRead(buttonLeft) == LOW) {
posun--; // Posun vpravo
Serial.print("Posun vlevo: ");
Serial.println(posun);
delay(500); // Zpoždění pro stabilitu
}
// Kontrola stavu pravého tlačítka
if (digitalRead(buttonRight) == LOW) {
posun++; // Posun vpravo
Serial.print("Posun vpravo: ");
Serial.println(posun);
delay(500); // Zpoždění pro stabilitu
}
}
#include <AccelStepper.h>
// Definice pinů pro motor
#define STEP_PIN 3 // Pin pro krok (X.STEP)
#define DIR_PIN 4 // Pin pro směr (X.DIR)
// Definice pinů pro tlačítka
#define BUTTON1_PIN 2 // Tlačítko pro pohyb dopředu
#define BUTTON2_PIN 5 // Tlačítko pro pohyb dozadu
// Inicializace krokového motoru
AccelStepper stepper(AccelStepper::DRIVER, STEP_PIN, DIR_PIN);
// Nastavení počátečních hodnot
int stepAmount = 1000; // Kolik kroků se má provést
int motorSpeed = 200; // Rychlost motoru
unsigned long lastButtonPress = 0; // Čas posledního stisknutí tlačítka
const unsigned long debounceDelay = 200; // Zpoždění pro debouncing
void setup() {
Serial.begin(9600); // Inicializace sériového monitoru
pinMode(BUTTON1_PIN, INPUT_PULLUP);
pinMode(BUTTON2_PIN, INPUT_PULLUP);
stepper.setMaxSpeed(motorSpeed);
stepper.setAcceleration(500);
}
void loop() {
// Kontrola stisknutí tlačítek
unsigned long currentMillis = millis();
if (digitalRead(BUTTON1_PIN) == LOW && (currentMillis - lastButtonPress > debounceDelay)) {
lastButtonPress = currentMillis; // Aktualizace času posledního stisknutí
Serial.println("Pohyb dopředu."); // Debug zpráva
digitalWrite(DIR_PIN, HIGH);
stepper.move(stepAmount);
}
else if (digitalRead(BUTTON2_PIN) == LOW && (currentMillis - lastButtonPress > debounceDelay)) {
lastButtonPress = currentMillis; // Aktualizace času posledního stisknutí
Serial.println("Pohyb dozadu."); // Debug zpráva
digitalWrite(DIR_PIN, LOW);
stepper.move(-stepAmount);
}
// Provádí krok motoru
if (stepper.distanceToGo() != 0) {
stepper.run();
}
}
// Pin Definitions
const int stepPin = 2; // Pin pro krok
const int dirPin = 5; // Pin pro směr
const int enable = 8; //
const int buttonLeft = 4; // Tlačítko pro pohyb doleva
const int buttonRight = 5; // Tlačítko pro pohyb doprava
void setup() {
// Nastavení pinů
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enable, OUTPUT);
pinMode(buttonLeft, INPUT_PULLUP);
pinMode(buttonRight, INPUT_PULLUP);
digitalWrite(enable, HIGH);
}
void loop() {
// Kontrola stavu tlačítek
if (digitalRead(buttonLeft) == LOW) {
digitalWrite(enable, LOW);
digitalWrite(dirPin, LOW); // Nastavení směru doleva
stepMotor(); // Funkce pro krok motoru
}
else if (digitalRead(buttonRight) == LOW) {
digitalWrite(enable, LOW);
digitalWrite(dirPin, HIGH); // Nastavení směru doprava
stepMotor(); // Funkce pro krok motoru
}
else{
digitalWrite(enable, HIGH);
}
}
void stepMotor() {
digitalWrite(stepPin, HIGH);
delayMicroseconds(500); // Délka kroku (uprav podle potřeby)
digitalWrite(stepPin, LOW);
delayMicroseconds(500); // Délka kroku (uprav podle potřeby)
}
// Pin Definitions
const int stepPin = 2; // Pin pro krok
const int dirPin = 5; // Pin pro směr
const int enable = 8; //
const int buttonLeft = 4; // Tlačítko pro pohyb doleva
const int buttonRight = 3; // Tlačítko pro pohyb doprava
const int koncakMAX = 6;
const int koncakMIN = 7;
void setup() {
// Nastavení pinů
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enable, OUTPUT);
pinMode(buttonLeft, INPUT_PULLUP);
pinMode(buttonRight, INPUT_PULLUP);
pinMode(koncakMAX, INPUT_PULLUP);
pinMode(koncakMIN, INPUT_PULLUP);
digitalWrite(enable, HIGH);
}
void loop() {
// Kontrola stavu tlačítek a koncáků
if (digitalRead(buttonLeft) == LOW && digitalRead(koncakMAX) == LOW && digitalRead(koncakMIN) == LOW && digitalRead(buttonRight) == HIGH) {
digitalWrite(enable, LOW);
digitalWrite(dirPin, LOW); // Nastavení směru doleva
stepMotor(); // Funkce pro krok motoru
}
else if (digitalRead(buttonRight) == LOW) {
digitalWrite(enable, LOW);
digitalWrite(dirPin, HIGH); // Nastavení směru doprava
stepMotor(); // Funkce pro krok motoru
}
else{
digitalWrite(enable, HIGH);
}
}
void stepMotor() {
digitalWrite(stepPin, HIGH);
delayMicroseconds(500); // Délka kroku (uprav podle potřeby)
digitalWrite(stepPin, LOW);
delayMicroseconds(500); // Délka kroku (uprav podle potřeby)
}
Lemur1 píše:Dobře, děkuju že se mnou ztrácíš čas. Pokusím se to doplnit, jestli se mohu nějak revanšovat, rád tvoji pomoc oplatím.
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník