Doel:€250.00
Donaties:€130.00

Per saldo:€-120.00

Steun ons nu!

Laatst bijgewerkt
op 24-04-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Al mijn goede ideeën... door bask185
Vandaag om 00:19:14
Gewoon wat busfoto's door GerardvV
24 april 2024, 23:43:57
19 Toen door Benelux795
24 april 2024, 23:18:16
Bouw van postrijtuig P 7911-7920 (plan C) van FRIE door MathynK
24 april 2024, 23:15:58
Onlangs gespot - gefotografeerd, de foto's door T.Spat
24 april 2024, 22:56:09
Mijn eerste H0-modeltreinbaan in aanbouw door Frank 123
24 april 2024, 22:51:27
2nd Dutch US Convention, DRU Ulft NL 6/7 april 2024 door D_Loc
24 april 2024, 22:43:55
Ijzeren Rijn: militair transport door Hans van de Burgt
24 april 2024, 22:41:05
Der QuadratSchädel (Bemo br 624/634) door T.Spat
24 april 2024, 22:37:28
Ice 3 (22784) front/ sluit schakeld niet door Bram.A
24 april 2024, 22:25:19
Aachenau West door wob
24 april 2024, 21:54:19
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door defender
24 april 2024, 21:51:02
Bouwtekeningen Hembrug en/of Strausbrug door Erik01
24 april 2024, 21:31:41
NS 8400 van Werps door Ivo tB
24 april 2024, 21:23:44
US diorama in H0 door Wim Vink
24 april 2024, 21:20:03
Ronald en Wanda's "Southern Comfort" swamp layout! door Ronald Halma
24 april 2024, 21:14:47
Cranicher Altbahn door Arjen52
24 april 2024, 20:40:00
Station Roodeschool door Huup
24 april 2024, 20:27:09
Bruikbare etsplaten voor NS4000 en NS4700 tenders, en NS slijptrein? door Rob Moerkerken
24 april 2024, 19:39:37
BR 44 1263 UK Mit Borsig versuchs Wannentender 2'2'T 34. door Modellbahnwagen
24 april 2024, 19:19:03
Modelbaan schaal H0 niet geheel sluiten in pc prog door Klaas Zondervan
24 april 2024, 19:16:52
Ton bouwt goederenwagens door puntenglijder
24 april 2024, 19:13:00
2e leven van een buitendienst gestelde Gesloten goederenwagen. door Simplex
24 april 2024, 18:52:50
Update: baan in de tropen door Joost O
24 april 2024, 17:12:34
heeft iemand ideeën voor een baan van 120CM bij 240CM? door AlbertG
24 april 2024, 17:01:18
Frans/Belgisch H0e baantje door NS264
24 april 2024, 16:37:54
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
24 april 2024, 16:21:21
Seinen van AliExpress: hoe aansluiten? door freekvo
24 april 2024, 16:17:38
GSS Jubileumbaantje (0e / 0n30) door spoorijzer
24 april 2024, 15:41:27
Märklin Hamo mP 3000 voorzien van nieuwe motor door ronaldvd2000
24 april 2024, 15:22:42
  

Auteur Topic: Arduino sketch voor aansturen servo  (gelezen 6663 keer)

Hans Mol

  • Offline Offline
  • Berichten: 257
    • Echaztalbahn 2.0
Arduino sketch voor aansturen servo
« Gepost op: 27 juli 2017, 21:30:32 »
Beste mensen,

Allereerst wil beginnen met de mededeling dat ik echt een beginner ben met Arduino. Heb al wel heel veel tutorials gevolgd maar daarmee ben je nog geen deskundige.

Wat ik wil doen is een servo de opdracht geven om na het indrukken van een button 180 graden te draaien en te wachten tot de volgende druk op de button waarna de servo weer 180 graden terugdraait.

Nu ben ik op zoek naar een sketch hiervoor maar kan deze nergens op het internet vinden. Heeft iemand deze functie al werkend middels een Arduino?
Zo ja zou iemand die skegtch willen delen?
Alvast bedankt!

Hans
« Laatst bewerkt op: 27 juli 2017, 21:49:18 door Hans Mol »

MOVisser

  • Offline Offline
  • Berichten: 6172
    • Modelbouw in't algemeen. 3D printen etc..
Re: Arduino sketch voor aansturen servo
« Reactie #1 Gepost op: 27 juli 2017, 22:21:25 »
Heeft je vraag te maken met het laten draaien van poppetjes op het perron?  (Mijn)Artikel uit het laatste blad van De Modelbouwer?
Over servo's staat veel in de encyclopedie. En er is een apart draadje over de Arduino en de programmeertaal Mardec (zie onder digitaal).

Ronald Visser     
« Laatst bewerkt op: 27 juli 2017, 22:26:43 door MOVisser »
Je kunt me vinden op diverse treinenbeurzen. Houten 18 mei sta ik er weer. Ook met N-schaal.

HansQ

  • Offline Offline
  • Berichten: 2032
  • Daar waar de rook is, is de kortsluiting...
Re: Arduino sketch voor aansturen servo
« Reactie #2 Gepost op: 27 juli 2017, 22:24:12 »
Ehhh.... dit is niet echt moeilijk... 10 of 20 regels code. Vooral gedoe met contact dender van de knop...
Wat wil je? Dat iemand het precies voorkauwt en je het resultaat stuurt of dat iemand je het voordoet?
Het eerste is met testen een uurtje werk, voor het tweede is het wel zo handig om samen te zitten.
Als je het wilt begrijpen en er wat van leren is de tweede methode wel de manier...
HansQ, RailClub Utrecht
spoor N modulebouw, electronica, Selectrix

Hans Mol

  • Offline Offline
  • Berichten: 257
    • Echaztalbahn 2.0
Re: Arduino sketch voor aansturen servo
« Reactie #3 Gepost op: 27 juli 2017, 22:26:46 »
Nee, ik wil gewoon een  servo gebruiken voor het openen en dichtdoen van loodsdeuren middels een push button aangestuurd door een Arduino Uno. :)

En ja HansQ. Ik ben op zoek naar een pasklare oplossing. Vandaar mijn zoektocht naar een sketch ;)

Fritsprt

  • Offline Offline
  • Berichten: 2615
Re: Arduino sketch voor aansturen servo
« Reactie #4 Gepost op: 27 juli 2017, 22:37:47 »
Gewoon gaan spelen met de Arduino. Er staan standaard voorbeeld programma's in om een servo te bewegen. Ook zijn er voorbeeld programma's om een knopje iets te laten doen. Deze met elkaar combineren en in het begin gaat het misschien fout maar uiteindelijk zal je je zelfgemaakte/aangepaste programma aan het draaien hebben.

Succes,
Frits
Groet Frits

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 2083
    • El Carrilet
Re: Arduino sketch voor aansturen servo
« Reactie #5 Gepost op: 27 juli 2017, 22:44:53 »
Citaat van: MOVisser
... Arduino en de programmeertaal Mardec
'Mardec' is geen programmeertaal voor de Arduino.

Citaat van: Hans Mol
...  ik wil gewoon een  servo gebruiken voor het openen en dichtdoen van loodsdeuren middels een push button aangestuurd door een Arduino Uno.
Hoe hard is die eis? Je kunt ook iets eenvoudigs maken met een motortje, twee microschakelaars en een schuif- of tuimelschakelaar, of een servo met een 555.
« Laatst bewerkt op: 27 juli 2017, 22:59:14 door 72sonett »
El Carrilet
"te dom om te poepen"
MH

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduino sketch voor aansturen servo
« Reactie #6 Gepost op: 27 juli 2017, 22:56:09 »
Je zou er de adServo sketch voor kunnen pakken als je gewoon iets wilt hebben dat werkt :)

In de basis allemaal niet zo lastig.Maar inderdaad state change detection, ontdenderen enz. En ik denk niet dat je die 180 graden draai in TGV snelheid wilt doorlopen ;D Als je daar niet iets voor maakt zal de servo gewoon proberen zo snel mogelijk de nieuwe positie te bereiken.


Timo

PS Heb ik het najaar hopelijk weer wat tijd op adServo weer eens van een update te voorzien :) Dan volgt hopelijk ook eindelijk het d-deel (digital) ::) ;D
Verzonden vanaf mijn desktop met Firefox

HansQ

  • Offline Offline
  • Berichten: 2032
  • Daar waar de rook is, is de kortsluiting...
Re: Arduino sketch voor aansturen servo
« Reactie #7 Gepost op: 27 juli 2017, 23:13:56 »
// Zoiets, nog niet getest met hardware:

#include <Servo.h>

Servo servo; // servo object, wordt op pin 3 gezet
int swtch;   // switch pin, word op pin 4 gezet
int led;     // onboard LED, zit altijd op pin 13
int hoek;    // de hoek voor de servo, 0 of 180 graden
int test1;   // eerst test van de switch pin toestand
int test2;   // tweede test van de switch pin toestand
int test3;   // derde test van de switch pin toestand
int dender;  // aantal msec delay voor contact dender
int pressed; // bijhouden of de schakelaar al is ingedrukt

//NB: Servo aansluiten op massa (bruin), +5V (rood) en pin 3 (oranje).
//    Switch aansluiten op massa en pin 4, met een pull-up van 1K of 10K naar +5V.

void setup() {
  servo.attach(3);
  swtch = 4;
  led = 13;
  hoek = 0;
  test1 = 1;
  test2 = 1;
  test3 = 1;
  dender = 10; // XX msec
  pressed = 0;
  pinMode(swtch, INPUT);
  pinMode(led, OUTPUT);
  digitalWrite(led, 0);
  servo.write(hoek);
}

void loop() {
  delay(10); // wacht XX msec om contact dender te vermijden
  test1 = digitalRead(swtch); // lees de switch toestand
  delay(10); // wacht XX msec om contact dender te vermijden
  test2 = digitalRead(swtch); // lees de switch toestand
  delay(10); // wacht XX msec om contact dender te vermijden
  test3 = digitalRead(swtch); // lees de switch toestand
 
  if ((test1 == 0) && (test2 == 0) && (test3 == 0)) { // switch is echt ingedrukt?
    if (pressed == 0) { // indien niet eerder ingdrukt
      pressed = 1; // nu dus wel
      if (hoek == 0) { // verander de hoek
        hoek = 180; // was 0, wordt 180
      }
      else {
        hoek = 0; // was 180, wordt 0
      }
    }
  }
  else { // switch is losgelaten
    pressed = 0; // switch niet langer ingedrukt.
  }
 
  servo.write(hoek); // updat de servo hoek
  if (hoek == 180) {
    digitalWrite(led, 1); // LED aan
  }
  else {
    digitalWrite(led, 0); // LED uit
  }   
}
« Laatst bewerkt op: 04 augustus 2017, 23:40:23 door Reinout van Rees. Reden: \'code\' tag toegevoegd voor de leesbaarheid »
HansQ, RailClub Utrecht
spoor N modulebouw, electronica, Selectrix

Edsko Hekman

  • Team Beurzen & PR / BNLS Forumbaan
  • BNLS trambaan-deelnemer
  • Offline Offline
  • Berichten: 8406
  • Nooit uitgeklust....
Re: Arduino sketch voor aansturen servo
« Reactie #8 Gepost op: 27 juli 2017, 23:57:05 »
Verrek, ik begrijp wat Hans geschreven heeft!  :o En ik heb al jaaaaren niet meer geprogrammeerd... Goh, dan zou zelfs ik met Arduino's kunnen spelen!

En nee, dat ga ik nu niet doen. Eerst Grasland afmaken...

Hans Mol

  • Offline Offline
  • Berichten: 257
    • Echaztalbahn 2.0
Re: Arduino sketch voor aansturen servo
« Reactie #9 Gepost op: 28 juli 2017, 07:25:39 »
Beste HansQ,

Dat heb je snel gedaan. Maar begrijp ik het goed dat in jouw sketch je de pushbutton wel vast moet houden totdat de servo zijn eindpunt bereikt heeft?
Misschien even ter ondersteuning. Bijgaand filmpje geeft aan wat ik wil bereiken

<a href="https://www.youtube.com/v/HQX-MEe5fe8" target="_blank" class="new_win">https://www.youtube.com/v/HQX-MEe5fe8</a>

Voor zover, en zeker HansQ een ieder bedankt voor de aangedragen suggesties.
Vandaag aan het werk. Ik ga het komende weekend weer eens lekker spelen met de Arduino en kijken of ik e.e.a. kan realiseren.

Groeten,

Hans

MOVisser

  • Offline Offline
  • Berichten: 6172
    • Modelbouw in't algemeen. 3D printen etc..
Re: Arduino sketch voor aansturen servo
« Reactie #10 Gepost op: 28 juli 2017, 09:34:46 »
Programmeertaal (decoder): weet ik, maar hoe leg je dat aan een ... (gebruiker) uit.

Ronald Visser
Je kunt me vinden op diverse treinenbeurzen. Houten 18 mei sta ik er weer. Ook met N-schaal.

HansQ

  • Offline Offline
  • Berichten: 2032
  • Daar waar de rook is, is de kortsluiting...
Re: Arduino sketch voor aansturen servo
« Reactie #11 Gepost op: 28 juli 2017, 10:29:00 »
Ik begrijp dat je dit wilt (bijvoorbeeld):

...hoek is initieel 0 graden.
1e keer knop drukken: hoek naar 180 graden.
2e keer knop drukken: hoek naar 0 graden.
3e keer knop drukken: hoek naar 180 graden.
4e keer knop drukken: hoek naar 0 graden.
5e keer knop drukken: hoek naar 180 graden.
6e keer knop drukken: hoek naar 0 graden.
...
HansQ, RailClub Utrecht
spoor N modulebouw, electronica, Selectrix

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 2083
    • El Carrilet
Re: Arduino sketch voor aansturen servo
« Reactie #12 Gepost op: 28 juli 2017, 10:30:11 »
Citaat van: Hans Mol
... begrijp ik het goed dat ... je de pushbutton wel vast moet houden totdat de servo zijn eindpunt bereikt heeft?
Nee, als je de knop kort indrukt (tenminste 30 msec) dan verandert de servo van stand 0° --> 180° of 180° ---> 0°.

Bij inschakelen draait de servo naar 0° (als die daar niet al stond).

De servo wordt wel constant aangestuurd, ook als de knop niet is ingedrukt, zou wat onrustig kunnen zijn. Er zou een extra loop ingebouwd kunnen worden waarbij de servo alleen wordt aangestuurd bij een verandering van de knopstand.

Als je de knop te lang ingedrukt houdt, draait de servo ook meteen weer terug, er zou nog een extra test (of  delay) in moeten om te kijken of de schakelaar al weer losgelaten is.

(Het filmpje is niet te zien... :-(  )
« Laatst bewerkt op: 28 juli 2017, 10:52:55 door 72sonett »
El Carrilet
"te dom om te poepen"
MH

Hans Mol

  • Offline Offline
  • Berichten: 257
    • Echaztalbahn 2.0
Re: Arduino sketch voor aansturen servo
« Reactie #13 Gepost op: 28 juli 2017, 10:36:24 »
Hoi HansQ,

Dat is idd de bedoeling en dan in een in te stellen snelheid. Dat is volgens mij met de delay functie in te stellen.

@72sonett.
Hierbij een link naar het filmpje.
https://youtu.be/HQX-MEe5fe8

HansQ

  • Offline Offline
  • Berichten: 2032
  • Daar waar de rook is, is de kortsluiting...
Re: Arduino sketch voor aansturen servo
« Reactie #14 Gepost op: 28 juli 2017, 10:39:32 »
Neen. Als je de snelheid waarmee de servo beweegt wilt beïnvloeden wordt het en stuk complexer.
Om dat toe te passen moet je de materie goed begrijpen en dat is lastig via dit medium...
HansQ, RailClub Utrecht
spoor N modulebouw, electronica, Selectrix