Accelstepper laten bewegen met schakelaar

Ik probeer een slagboompje te laten bewegen. Hij moet 90 graden omhoog, en dan weer terug, met een schakelaar. Dit mag met 1 of met 2 schakelaars.

int drukknop1 = 12; // op
int drukknop2 = 7; //neer
bool drukknop1_stand;
bool drukknop2_stand;
#include <AccelStepper.h>           

#define motorPin1  8                
#define motorPin2  9                
#define motorPin3  10               
#define motorPin4  11               

int stepsPerRevolution = 32;        
float degreePerRevolution = 5.625;

int x = 0;
AccelStepper stepper(AccelStepper::HALF4WIRE, motorPin1, motorPin3, motorPin2, motorPin4);

void setup() {

  stepper.setMaxSpeed(1000);
  stepper.setSpeed(500);
  pinMode(drukknop1, INPUT);
  pinMode(drukknop2, INPUT);

}


void loop() {

  drukknop1_stand = digitalRead(drukknop1);//op
  drukknop2_stand = digitalRead(drukknop2);//neer

  while (drukknop1_stand == HIGH) //op
  {
    stepper.run();
    stepper.moveTo(90);

  }
  while (drukknop2_stand == HIGH) //neer
  {
    stepper.run();
    stepper.moveTo(-90);
  }

}
float degToSteps(float deg) {
  return (stepsPerRevolution / degreePerRevolution) * deg;
}

Deze code werkt niet, heeft iemand tips voor mij?

20310

ik heb een voorbeeldje gezocht om te proberen

// Random.pde
// -*- mode: C++ -*-
//
// Make a single stepper perform random changes in speed, position and acceleration
//
// Copyright (C) 2009 Mike McCauley
// $Id: Random.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $
 
#include <AccelStepper.h>
 
// Define a stepper and the pins it will use
AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
 
void setup()
{  
}void loop()
{
    if (stepper.distanceToGo() == 0)
    {
        // Random change to speed, position and acceleration
        // Make sure we dont get 0 speed or accelerations
        delay(1000);
        stepper.moveTo(rand() % 200);
        stepper.setMaxSpeed((rand() % 200) + 1);
        stepper.setAcceleration((rand() % 200) + 1);
    }
    stepper.run();
}

ofwel stepper.run moet je in de main loop zetten dan zoekt de accelstepper wel uit of er een stap nodig is.want jij kunt alleen maar steppen als de drukknop aan is(of is deze uit?
kijk ook naar de handleiding van accelstepper je kunt namelijk vertragen en versnellen etc.
als de bomen net beneden zijn moeten ze een beetje uitswingen zoals in het echt

@shooter, ik heb even de vrijheid genomen om de ``` die je aan het einde van je code had op een nieuwe regel te zodat de tekst die daarop volgde geen deel meer uitmaakt van het code blok.

dankjewel ik kreeg een melding over die aanhalingstekens en dacht het goed gedaan te hebben. en hoe is het eigenlijk met jou?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.