mit diesem code kann ich den roboter (zunächst einmal) per IR fernbedienung steuern, hier erstmal die befehle "vorwärts" und "stopp". Die Schrittmotoren werden mit

Code:
  digitalWrite(enbl_VL, HIGH);
  digitalWrite(enbl_HL, HIGH);
  digitalWrite(enbl_VR, HIGH);
  digitalWrite(enbl_HR, HIGH)
stromlos geschaltet, nach Deinen ausführungen hätte ich eigentlich das gegenteil erwartet, nämlich "LOW"...

Code:
#include <AccelStepper.h>
//#include <LCD.h>
//#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <IRremoteInt.h>
#include <ir_Lego_PF_BitStreamEncoder.h>
#include <IRremote.h>
//#include <stepper_standard.h>

//LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

uint8_t RECV_PIN = 13;
uint8_t taste = 0;

uint8_t idx;
uint8_t zitter;
uint8_t anzahl;


#define dirPin_VL 2
#define stepPin_VL 3
#define dirPin_HL 4
#define stepPin_HL 5
#define dirPin_VR 6
#define stepPin_VR 7
#define dirPin_HR 8
#define stepPin_HR 9

#define enbl_VL 40
#define enbl_HL 42
#define enbl_VR 41
#define enbl_HR 43

IRrecv irrecv(RECV_PIN);

decode_results results;

enum stepper_e
{ stepper_VL, stepper_HL, stepper_VR, stepper_HR, stepper_MAX };


AccelStepper stepper[stepper_MAX]
{
  AccelStepper(1, stepPin_VL, dirPin_VL),
  AccelStepper(1, stepPin_HL, dirPin_HL),
  AccelStepper(1, stepPin_VR, dirPin_VR),
  AccelStepper(1, stepPin_HR, dirPin_HR)
};




void setup()
{
  Serial1.begin(115200);
  Serial.begin(115200);

  Serial.println("code----//home/georg/Arduino/outdoor_robo/stepper/test_vier_stepper/remote_vier_stepper_switch_1_enbl");


  irrecv.enableIRIn(); // Start the receiver
/*  
  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.setBacklight(HIGH);
  lcd.print("remot FB schwarz");
  lcd.setCursor(0, 1);
  lcd.print("switch 1");
  delay(2000);
  lcd.clear();
  lcd.setBacklight(LOW);
*/
  for (idx = stepper_VL; idx < stepper_MAX; idx++)
  {
    stepper[idx].setMaxSpeed(1000);
    stepper[idx].setSpeed(800);
    stepper[idx].setAcceleration(30);
    //    stepper[idx].disableOutputs();
    //        stepper[idx].setDirection(CCW);
    //    stepper[idx].rotate(1);

  }

  digitalWrite(enbl_VL, HIGH);
  digitalWrite(enbl_HL, HIGH);
  digitalWrite(enbl_VR, HIGH);
  digitalWrite(enbl_HR, HIGH);

}

void loop()
{

  if (irrecv.decode(&results))
  {
    taste = results.value;
    Serial.println(taste);
    irrecv.resume(); // Receive the next value
  }
  tasten_abfrage();



}


/***********************************************************/

void tasten_abfrage(void)
{
  switch (taste)
  {

    case 151 ://taste 1 große FB
      {
        if (taste == 151 )
        {
          Serial.println("szenario_1");
          Serial1.println("szenario_1");
/*
          lcd.setCursor(0, 0);
          lcd.setBacklight(HIGH);
          lcd.print("szenario_1");
          delay(1000);
          lcd.clear();
          lcd.setBacklight(LOW);
*/
          //fahre szenario_1

          delay (1000);

          break;
        }
      }

    case 103://taste 2 große FB
      {
        if (taste == 103)
        {
          Serial.println("szenario_2");
          Serial1.println("szenario_2");

          //fahre szenario_2

          delay (1000);

          break;
        }
      }

    case 79://taste 3 große FB
      {
        if (taste == 79)
        {
          Serial.println("szenario_3");
          Serial1.println("szenario_3");

          //fahre szenario_3

          delay (1000);

          break;
        }
      }


    case 207://taste 4 große FB
      {
        if (taste == 207)
        {
          Serial.println("szenario_4");
          Serial1.println("szenario_4");

          //fahre szenario_4

          delay (1000);

          break;
        }
      }


    case 253://OK taste, motor stop
      {
        if (taste == 253)
        {
          alle_stepper_stop();
          fahrt_ausfuehren();

          break;
        }
      }


    case 61:// rotate rechts große FB
      {
        if (taste == 61)
        {
          //          rechts_drehen();

          break;
        }
      }


    case 221:// rotate links große FB
      {
        if (taste == 221)
        {

          //          links_drehen();

          break;
        }

      }


    case 157:// fahre vor große FB
      {
        if (taste == 157)
        {
/*
          digitalWrite(enbl_VL, HIGH);
          digitalWrite(enbl_HL, HIGH);
          digitalWrite(enbl_VR, HIGH);
          digitalWrite(enbl_HR, HIGH);
*/
          vorwaerts();
          fahrt_ausfuehren();
          break;
        }
      }


    case 87:// fahre rückwärts große FB
      {
        if (taste == 87)
        {

          //          rueckwaerts();

          break;
        }
      }
  }


}


/***********************************************************/
void alle_stepper_stop(void)
{
  for (idx = stepper_VL; idx < stepper_MAX; idx++)
  {

    stepper[idx].stop();

  }

  digitalWrite(enbl_VL, HIGH);
  digitalWrite(enbl_HL, HIGH);
  digitalWrite(enbl_VR, HIGH);
  digitalWrite(enbl_HR, HIGH);
}

/***********************************************************/
void vorwaerts(void)
{

  digitalWrite(enbl_VL, LOW);
  digitalWrite(enbl_HL, LOW);
  digitalWrite(enbl_VR, LOW);
  digitalWrite(enbl_HR, LOW);

  for (idx = stepper_VL; idx < stepper_VR; idx++)
  {
    //     stepper[idx].moveTo(600);
    stepper[idx].runSpeed();
    stepper[idx].move(-100);
    //    stepper[idx].run();
    //    stepper[idx].rotate(1);
  }

  for (idx = stepper_VR; idx < stepper_MAX; idx++)
  {
    //    stepper[idx].moveTo(600);
    stepper[idx].runSpeed();
    stepper[idx].move(100);
    //    stepper[idx].setDirection(CW);
    //    stepper[idx].rotate(1);
  }
}


/***********************************************************/
void rotate_right_deg(void)
{

}

/**********************************************************/
void rotate_left_deg(void)
{

}

/***********************************************************/

boolean fahrt_fertig()
{

  return        stepper[stepper_VL].isRunning() && stepper[stepper_HL].isRunning() && stepper[stepper_VR].isRunning()
                && stepper[stepper_HR].isRunning();

}

/************************************************************/
void fahrt_ausfuehren()
{
  while ( ! fahrt_fertig() )
  {
    for (idx = stepper_VL; idx < stepper_MAX; idx++)
    {
      stepper[idx].run();
      // delay(1);
    }
  }
}