Arduino uno servo button lukt niet

Arduino specifieke Software
Berichten: 2
Geregistreerd: 04 Apr 2019, 15:33

Arduino uno servo button lukt niet

Berichtdoor geertamigo » 04 Apr 2019, 15:53

Dag mensen!
Ik ben nieuw op dit forum en nieuw met Arduino. Nu heb ik al flink wat zitten proberen maar ik krijg het niet voor elkaar.

Wat ik wil:
Als ik niets doe moet de servo op punt a staan (dus 0), en als ik een button indruk moet hij naar punt b gaan (180). Wanneer ik de button weer los laat moet hij weer terug naar punt a gaan.

Super simpel, maar mij lukt het niet! Via de voorbeelden van arduino kon ik trouwens alleen een sweep of potentiometer gebruiken, daar heb ik al gezocht.

Wie o wie kan deze simpele code voor mij maken? Alvast dank! Ik gebruik de UNO.

Advertisement

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

Re: Arduino uno servo button lukt niet

Berichtdoor Koepel » 04 Apr 2019, 22:13

cpp code
#include <Servo.h>

Servo myservo;

void setup()
{
pinMode( 4, INPUT_PULLUP);
myservo.attach( 9);
}

void loop()
{
int hoek = 0; // punt a

if( digitalRead( 4) == LOW)
{
hoek = 180; // punt b
}
myservo.write( hoek);
delay( 15);
}
Bijlagen
knop-servo.png
knop-servo.png (47.15 KiB) 6659 keer bekeken

Berichten: 2
Geregistreerd: 04 Apr 2019, 15:33

Re: Arduino uno servo button lukt niet

Berichtdoor geertamigo » 05 Apr 2019, 11:09

Dankjewel! Het werkt perfect! :D

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

Re: Arduino uno servo button lukt niet

Berichtdoor Koepel » 05 Apr 2019, 18:56

Nou, nou, nou, perfect zou ik het niet willen noemen.
Een servo motor kan een piekstroom vragen van 500mA of meer. Dat kan het Arduino board niet leveren. Het is beter om een extra aparte voeding voor de servo motor te gebruiken. Vergeet niet om de GND van die extra voeding met de GND van het Arduino board te verbinden.

Gebruikers-avatar
Berichten: 38
Geregistreerd: 11 Dec 2019, 20:47

Re: Arduino uno servo button lukt niet

Berichtdoor LeoHam » 14 Dec 2019, 18:30

Hallo Koepel,

Ik kwam dit draadje tegen en ga dit uittesten, maar wel met externe voeding.
Maar . . . . kan dto ook met twee drukknoppen?
Eén voor naar 180 ( ik dacht aan 80 graden ) en één voor naar 0 ?

MVG
Leo

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

Re: Arduino uno servo button lukt niet

Berichtdoor Koepel » 14 Dec 2019, 22:49

Dit is maar een heel klein programmaatje dat steeds de waarde opnieuw doet met myservo.write().

Het is natuurlijk netter om te kijken of een knop wordt ingedrukt en dan eenmalig de nieuwe waarde te zetten.
Dan is het nodig om te kijken naar het moment dat de knop wordt ingedrukt. Dat ene moment, daar gaat het om.

Daar is de State Change Detection voor: https://www.arduino.cc/en/Tutorial/StateChangeDetection.
En dat combineren met myservo.write(). Dus in plaats van het tellen, op die plaats de servo motor doen.

Dus de hele eenvoudige sketch wordt opeens een stuk groter. Tsja, zo gaan die dingen. Lukt dat ? Kun je een begin maken en dat laten zien ?

P.S.: Je had beter een nieuw onderwerp kunnen starten en een link naar dit onderwerp toevoegen.

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

Re: Arduino uno servo button lukt niet

Berichtdoor shooter » 14 Dec 2019, 23:44

ja tuurlijk kan dat leo, begin eens met schrijven en proberen.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 38
Geregistreerd: 11 Dec 2019, 20:47

Re: Arduino uno servo button lukt niet

Berichtdoor LeoHam » 17 Dec 2019, 17:51

Hallo "Koepel"

Dank voor de link, maar als beginner van deze materie denk ik dat met jouw link het voor mij toch nog wat te hoog gegrepen is.
Ik zie namelijk geen verband naar een servo en twee drukknoppen, maar dat kan zijn omdat ik nog te weinig kennis heb van de Arduino.
Maar ik blijf volhouden en ga aan de slag.


Hallo Paul,

Ik ga een poging wagen, maar hoop/reken wel op een beetje steun.

Ik kom erop terug.

MVG
Leo

Gebruikers-avatar
Berichten: 38
Geregistreerd: 11 Dec 2019, 20:47

Re: Arduino uno servo button lukt niet

Berichtdoor LeoHam » 17 Dec 2019, 18:50

Heren,

Ik ben aan de slag gegaan en ben uit gegaan van het eerste schetsje:


#include <Servo.h>

Servo myservo;

void setup()
{
pinMode( 4, INPUT_PULLUP); // Schakelaar 1
pinMode( 3, INPUT_PULLUP); // Schakelaar 2
myservo.attach( 9);
}

void loop()
{
int hoek = 80; // punt a

if( digitalRead( 4) == LOW)
{
delay; // Wachten op schakelaar 2
pinMode( 3, INPUT_PULLUP);
myservo.attach( 9);
}

void loop()
{
int hoek = 80; // punt a

if( digitalRead( 3) == LOW)
{
delay
}
myservo.write( hoek);
delay( 15);
}

Maar ik krijg natuurlijk een foutmelding. Ik had ook niet anders verwach.
Alleen hoe dit op te lossen, geen idee.
Op regel 24: " a function-definition is not allowed here before '{' token "

MVG
Leo

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

Re: Arduino uno servo button lukt niet

Berichtdoor shooter » 17 Dec 2019, 22:56

knippen en plakken is een moeilijke, lees je eigen programma eens er staat bijvoorbeeld in de loop (die er trouwens ook twee keer instaat wat ook niet mag, ook delay zonder () mag niet etc.
haal een cheatsheet van internet dan kun je die rustig ernaast leggen en kijken wat er kan.
paul deelen
shooter@home.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: ulemeweja en 20 gasten