VarSpeedServo

Arduino specifieke Software
Berichten: 5
Geregistreerd: 09 Sep 2019, 09:24

VarSpeedServo

Berichtdoor JanKoelewijn1 » 09 Sep 2019, 20:25

Dag allemaal,

het leek me leuk om een spoorbomen te bedienen met een servo en een Arduino.
in eerste instantie met een IR afstandsbediening.
Tot zover lukt het allemaal, alles reageert en ik kan de beweging instellen.

Nu ben ik zover dat ik de snelheid wil instellen en ik dacht dat te doen m.b.v. VarSpeedServo. De betreffende bestanden in de library gezet en de volgende regel opgenomen in de sketch:

#include <VarSpeedServo.h>

dan ziet de sketch er dus als volgt uit:

Code: Alles selecteren

#include <IRremote.h>
#include <Servo.h>
#include <VarSpeedServo.h>


int IRpin = 11;  // pin for the IR sensor
IRrecv irrecv(IRpin);
decode_results results;
Servo myservo;
void setup()
{
 Serial.begin(9600);
 irrecv.enableIRIn(); // Start the receiver
 myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}
void loop()
{
 if (irrecv.decode(&results))
   {
     irrecv.resume();   // Receive the next value
   }
  if (results.value == 3373)  // change according to your IR remote button number
    {
      myservo.write(0);
      delay(15);
    }
    if (results.value == 3340)  // change according  to your IR remote button number
   
      myservo.write(90);
    delay(15);
    }     





Fout bij het compileren voor board Arduino/Genuine Uno


Wie kan mij een beetje op weg helpen?


Gr. Jan

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: VarSpeedServo

Berichtdoor Koepel » 09 Sep 2019, 21:22

Hallo, en welkom op dit forum.

Ik zie verschillende soorten "VarSpeedServo" libraries.
Welke heb je en vanwaar heb je die gedownload of heb je de Bibliotheek Beheer gebruikt ?

Elke bibliotheek heeft voorbeelden. Heb je die bekeken ?

Je zou ook de hele uitvoer van de compiler hier kunnen zetten. De compiler geeft meestal vrij goed aan wat het probleem is.

Jouw object "myservo" is van de class "Servo".
Dat kan niet de bedoeling zijn, waarschijnlijk is de class "VarSpeedServo" nodig.

Wil je een bestaande sketch uitbreiden met een langzame servo ? Dat doet geen enkele programmeur. Als je iets nieuws wilt toevoegen, dan is het beter om dat deel eerst apart te testen met een aparte sketch. Dan kun je zien of het überhaupt werkt. Pas daarna kun je het aan een bestaande sketch toevoegen.

Kijk ook eens naar het inspringen en de '{' en '}' haakjes. Ik geef er de voorkeur aan om iedere spatie, iedere komma, ieder inspringen, enzovoorts allemaal correct te doen. Dan kun je in één oogopslag de structuur van de code zien.

Berichten: 5
Geregistreerd: 09 Sep 2019, 09:24

Re: VarSpeedServo

Berichtdoor JanKoelewijn1 » 09 Sep 2019, 23:17

Dag Koepel,

Met de uitvoer van de compiler bedoel je datgene wat je met de knop Foutmelding kopiëren kopieert. Daar heb ik over gedacht maar het leek mij wel wat veel worden.

Hier komt dat hele verhaal, ;)
Arduino:1.8.9 (Mac OS X), Board:"Arduino/Genuino Uno"

In file included from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:4:0:
/Users/j.koelewijn/Documents/Arduino/libraries/VarSpeedServo/VarSpeedServo.h:96:16: error: redeclaration of '_timer1'
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ;
^
In file included from /private/var/folders/p_/xdqcsydn7tl5ps8f5qb3cdzh0000gn/T/AppTranslocation/FD347361-8CCB-45B8-90CD-7B1ED6F292B8/d/Arduino.app/Contents/Java/libraries/Servo/src/Servo.h:63:0,
from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:3:
/private/var/folders/p_/xdqcsydn7tl5ps8f5qb3cdzh0000gn/T/AppTranslocation/FD347361-8CCB-45B8-90CD-7B1ED6F292B8/d/Arduino.app/Contents/Java/libraries/Servo/src/avr/ServoTimers.h:57:16: note: previous declaration 'timer16_Sequence_t _timer1'
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t;
^
In file included from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:4:0:
/Users/j.koelewijn/Documents/Arduino/libraries/VarSpeedServo/VarSpeedServo.h:96:25: error: redeclaration of '_Nbr_16timers'
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ;
^
In file included from /private/var/folders/p_/xdqcsydn7tl5ps8f5qb3cdzh0000gn/T/AppTranslocation/FD347361-8CCB-45B8-90CD-7B1ED6F292B8/d/Arduino.app/Contents/Java/libraries/Servo/src/Servo.h:63:0,
from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:3:
/private/var/folders/p_/xdqcsydn7tl5ps8f5qb3cdzh0000gn/T/AppTranslocation/FD347361-8CCB-45B8-90CD-7B1ED6F292B8/d/Arduino.app/Contents/Java/libraries/Servo/src/avr/ServoTimers.h:57:25: note: previous declaration 'timer16_Sequence_t _Nbr_16timers'
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t;
^
In file included from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:4:0:
/Users/j.koelewijn/Documents/Arduino/libraries/VarSpeedServo/VarSpeedServo.h:96:41: error: conflicting declaration 'typedef enum timer16_Sequence_t timer16_Sequence_t'
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ;
^
In file included from /private/var/folders/p_/xdqcsydn7tl5ps8f5qb3cdzh0000gn/T/AppTranslocation/FD347361-8CCB-45B8-90CD-7B1ED6F292B8/d/Arduino.app/Contents/Java/libraries/Servo/src/Servo.h:63:0,
from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:3:
/private/var/folders/p_/xdqcsydn7tl5ps8f5qb3cdzh0000gn/T/AppTranslocation/FD347361-8CCB-45B8-90CD-7B1ED6F292B8/d/Arduino.app/Contents/Java/libraries/Servo/src/avr/ServoTimers.h:57:41: note: previous declaration as 'typedef enum timer16_Sequence_t timer16_Sequence_t'
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t;
^
In file included from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:4:0:
/Users/j.koelewijn/Documents/Arduino/libraries/VarSpeedServo/VarSpeedServo.h:114:3: error: conflicting declaration 'typedef struct ServoPin_t ServoPin_t'
} ServoPin_t ;
^
In file included from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:3:0:
/private/var/folders/p_/xdqcsydn7tl5ps8f5qb3cdzh0000gn/T/AppTranslocation/FD347361-8CCB-45B8-90CD-7B1ED6F292B8/d/Arduino.app/Contents/Java/libraries/Servo/src/Servo.h:95:3: note: previous declaration as 'typedef struct ServoPin_t ServoPin_t'
} ServoPin_t ;
^
In file included from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:4:0:
/Users/j.koelewijn/Documents/Arduino/libraries/VarSpeedServo/VarSpeedServo.h:121:3: error: conflicting declaration 'typedef struct servo_t servo_t'
} servo_t;
^
In file included from /Users/j.koelewijn/Documents/Arduino/bediening_servo_met_afstandsbediening_9sep19_JK/bediening_servo_met_afstandsbediening_9sep19_JK.ino:3:0:
/private/var/folders/p_/xdqcsydn7tl5ps8f5qb3cdzh0000gn/T/AppTranslocation/FD347361-8CCB-45B8-90CD-7B1ED6F292B8/d/Arduino.app/Contents/Java/libraries/Servo/src/Servo.h:100:3: note: previous declaration as 'typedef struct servo_t servo_t'
} servo_t;
^
exit status 1
Fout bij het compileren voor board Arduino/Genuino Uno

Dit rapport zou meer informatie bevatten met
"Uitgebreide uitvoer weergeven tijden compilatie"
optie aan in Bestand -> Voorkeuren.



Gr. Jan

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: VarSpeedServo

Berichtdoor Koepel » 10 Sep 2019, 07:07

Dat is inderdaad de uitvoer van de compiler, dat het veel is dat geeft niet.

Soms is een nieuwe library een uitbreiding op de meegeleverde Arduino libraries.
Soms is een nieuwe library een vervanging van een meegeleverde Arduino library.

De VarSpeedServo is blijkbaar een vervanging van de Arduino "Servo" library. Je kunt ze dus niet beiden tegelijk gebruiken.
Zie verder mijn tips in mijn vorige post. Begin eens met een servo motor en een voorbeeld dat bij de VarSpeedServo library zit (die voorbeelden zitten in het menu, zodra je een nieuwe library hebt toegevoegd).

Berichten: 5
Geregistreerd: 09 Sep 2019, 09:24

Re: VarSpeedServo

Berichtdoor JanKoelewijn1 » 10 Sep 2019, 08:29

Ga ik doen, bedankt!

Gr. Jan

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: VarSpeedServo

Berichtdoor shooter » 10 Sep 2019, 09:53

zo even een voorbeeldje gepakt.
je moet dus servo zelf weghalen want dat wordt al opgheroepen bij varspeedservo
nu kun je dus ook de snelheid regelen.
zorg ook voor een pauze voordat de bomen dichtgaan, dus eerst de lampen dan de bel en dan pas de bomen.

je moet dus twee waardes opgeven bij je write 1 voor de stand en 2 de snelheid in microseconden (niet druk om maken doet je arduino zelf.


[code2=]#include <VarSpeedServo.h>

// create servo object to control a servo
VarSpeedServo myservo1;
VarSpeedServo myservo2;

void setup() {

// initialize serial:
//Serial.begin(9600);

myservo1.attach(9);
myservo2.attach(8);
}

void loop() {

int LEF = 0;
int RIG = 180;

int SPEED1 = 160;
int SPEED2 = 100;

for(int i = 0; i < 4; i++) {

myservo1.write(LEF, SPEED1);
myservo2.write(LEF, SPEED2);
myservo1.wait();
myservo2.wait();

myservo1.write(RIG, SPEED1);
myservo1.wait();

myservo1.write(LEF, SPEED1);
myservo2.write(RIG, SPEED2);
myservo1.wait();
myservo2.wait();

myservo1.write(RIG, SPEED1);
myservo1.wait();

}

///*
delay(3000);
myservo1.detach();
myservo2.detach();
// */
}[/code2]
paul deelen
shooter@home.nl

Berichten: 5
Geregistreerd: 09 Sep 2019, 09:24

Re: VarSpeedServo

Berichtdoor JanKoelewijn1 » 10 Sep 2019, 23:37

Dag Shooter, bedankt voor je reactie.
Kan het zijn dat jij een andere bibliotheek van VarSpeedServo hebt dan ik?
Ik krijg de volgende melding:

no matching function for call to 'VarSpeedServo::write(int&, int&)'


Gr. Jan

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: VarSpeedServo

Berichtdoor Koepel » 10 Sep 2019, 23:56

Kun je de eerste drie zinnen nog eens lezen van de eerste reactie op je vraag.

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: VarSpeedServo

Berichtdoor shooter » 11 Sep 2019, 09:46

ja dat kan zeker, waar je de library vandaan hebt, staan vaak examples bij , probeer die maar eens.
ja en haal eerst maar eens include servo weg.en vervang die voor je varspeedservo, want die roept zelf wel servo aan.
paul deelen
shooter@home.nl

Berichten: 5
Geregistreerd: 09 Sep 2019, 09:24

Re: VarSpeedServo

Berichtdoor JanKoelewijn1 » 11 Sep 2019, 23:51

Inmiddels een voorbeeld gedownload en dat werkt goed.

Gr. Jan

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 14 gasten