Go Down

Topic: variable in der Funktion pwm.setPWM(servonum, 0, servomax) (Read 333 times) previous topic - next topic

1udo1

Hallo,

ich möchte einen Servo, -- angeschlossen am PCA9685---, langsam drehen lassen. Das soll mit einem array erfolgen. Im array sind die Werte für den Servo.

Bekomme die Fehlermeldung,

 error: 'servovariable' cannot be used as a function

Habe manches probiert, aber keine Lösung gefunden.

Kann jemand helfen?

... bin Anfänger!!!

Ich habe nur die relevanten Zeilen übrig gelassen. Alles andere habe ich der Übersichtlichkeit halber weggelassen.

Code: [Select]


// Servo am PCA9685,  langsames Drehen


uint8_t n=0; // Deklaration der Variablen

void setup()
{
  pwm.begin();
 }

// hier das array, das ausgelesen werden soll

uint8_t servovariable[] = {180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218 };

// die Funktion „pwm.set PWM" soll nacheinander die Werte aus dem array in die variable „servovariable" übertragen

void loop()
{
   
    pwm.setPWM(servonum, 0, servovariable(n));

n++;

// der Compiler meldet:  error: 'servovariable' cannot be used as a function

// servovariable ist doch ein int-Wert und keine Funktion,oder?


…..hier geht das Programm weiter

}





Serenifly

Code: [Select]

servovariable(n)

Runde Klammern? Der Compiler denkt du willst eine Funktion aufrufen. Es ist aber keine

Die Fehlermeldung gibt also genau an was falsch ist

Tommy56

Schau Dir mal an, wie auf die Elemente eines Arrays zugegriffen wird.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

1udo1

Danke!!!!! Euch Beiden. Sowas erkennt der Anfänger nicht so schnell. Habe bisher mit arrays noch nichts am Hut gehabt. Toll, wenn man so konstruktive Hilfe bekommt. Danke!

Go Up