hier sollte es natürlich MAXCHECK heißen.Hifly hat geschrieben:größer als MAXTHROTTLE
Habe doch noch hier den Code gefunden:
Code: Alles auswählen
/*******************************/
/****CONFIGURABLE PARAMETERS****/
/*******************************/
...
#define MINCHECK 1100   //Zeile muss von unten nach oben gezogen werden
#define MAXCHECK 1900 //Zeile muss nach unten nach oben gezogen werden
// if ESC needs to be calibrated by fullthrottle, wait for two beeps, low throttle
#define ESC_STICK_CALIBRATING
...
...
...
void initializeMotors()
{
  #ifdef ESC_STICK_CALIBRATING
  
  for(uint8_t i=0;i<NUMBER_MOTOR;i++)
    pinMode(PWM_PIN[i],OUTPUT);
  for(int i=0;i<4;i++)    //computeRC will take the average of last four readings, initial value is set to 1500
    computeRC();
  
  if(rcData[THROTTLE] > MAXCHECK)
  {
    writeAllMotors(2000);
    delay(300);
    while(rcData[THROTTLE] > MAXCHECK)
      computeRC();
      writeAllMotors(1000);
    delay(300);
  }
  else
  {
    writeAllMotors(1000);
    delay(300);
  }  
  #else 
    for(uint8_t i=0;i<NUMBER_MOTOR;i++)
      pinMode(PWM_PIN[i],OUTPUT);
    writeAllMotors(2000); //max motor command is maintained for 100ms at the initialization
    delay(100); //it's a way to calibrate the ESCs
    writeAllMotors(1000);
    delay(300);
  #endif  
}
...
...
void setup() {
  Serial.begin(SERIAL_COM_SPEED);
  pinMode (LEDPIN, OUTPUT);
  pinMode (POWERPIN, OUTPUT);
  pinMode (BUZZERPIN, OUTPUT);
  pinMode (A0, OUTPUT);
  PORTB &= ~(1<<4);//switch OFF WMP, digital PIN 12
  configureReceiver();
  delay(500);   
  initializeMotors();
....
...