even voorstellen en een vraag m.b.t. millis toepassen

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 3
Geregistreerd: 09 Dec 2019, 20:04
Woonplaats: Ermelo

even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor sander_TD » 09 Dec 2019, 20:37

hallo allemaal!

mijn naam is sander en ben sinds kort begonnen met arduino. nu nog hobbymatig maar wil dit gaan toepassen op mijn werk.
ik ben werkzaam in technische dienst bij de julianatoren. echt een droombaan voor mij. ik ben elke dag bezig met het onderhouden en vernieuwen van attracties.
ik heb al door laten schemeren dat ik aan het proberen ben arduino onder de knie te krijgen. en mij is toegezegd dat als mij dat lukt ik het in het park mag toe gaan passen. dit geeft mij nog meer een drive om door te zetten ook als het tegen zit (waar ik nu al last van heb helaas, maar ik hoop dat jullie kunnen helpen).

ik heb animatronics altijd heel gaaf en interessant gevonden en ben er achter gekomen dat ik arduino kan gebruiken om zelf animatronics te maken.
het mechanische gedeelte is voor mij heel simpel alleen loop een beetje vast met het programmeren.

ik heb al een bewegende vogel gemaakt met servo's en de FOR loop met delay's. dit is heel leuk maar heeft niet het gewenste effect (geen perfecte timing, geen vloeiende bewegingen en geen "overlappende" bewegingen).

nu heb ik al aardig wat topics gelezen wat betreft MILLIS, alleen vind ik dit best wel lastig.

mijn vraag is of jullie mij kunnen vertellen of ik millis kan toepassen waar ik het voor wil gebruiken, en HOE ik het moet toepassen. het moet een bewegende pop worden die als het treintje van het spookhuis langskomt, zegt: welkom, treed binnen, en tegelijkertijd met zijn armen in vloeiende bewegingen naar de poort van het spookhuis wijst. (hopelijk snappen jullie het, haha). hij wordt getriggerd als het treintje langs een sensor komt en moet stoppen als hij zijn beweging af heeft gemaakt, en zal ook niks doen totdat de sensor weer getriggerd wordt. het bewegen en praten zal ongeveer 10-15 seconden duren. en hoe kan ik de bewegingscyclus opnieuw laten beginnen, aangezien je millis niet kan resetten naar 0 zeg maar.

excuses als het een langdradig verhaal is geworden maar ik hoop dat het een beetje duidelijk is en dat jullie mij hiermee kunnen helpen/ondersteunen tijdens mijn project.

alvast heel erg bedankt,

groetjes, sander

Advertisement

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

Re: even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor shooter » 10 Dec 2019, 13:18

je hebt helemaal gelijk, als je delay een makkelijke weg vind en met millis twijfelt hoe die te gebruiken.
Millis is niets anders dan een long unsigned integer die elke milliseconde 1 bijtelt, ongeacht wat je ook doet.
Je kunt dus dat getal opslaan in een variabele opslaan, als je dan bijvoorbeeld (millis()-variabele)>wachttijd dan kun je dus na wachttijd ergens naar toe springen om een actie te doen, en hoef je niet te wachten maar kun je gelijk iets anders doen.
dat staat allemaal in les 2 blink without delay.
je kunt dan op de milliseconde verschillende dingen doen, waardoor het lijkt of alles tegelijk gebeurd.

In jouw geval kun je dus een hele sequentie op de milliseconde timen en laten aflopen.
je kunt er bijvorbeeld voor zorgen dat de vleugels langzaam van de ene stand naar de andere gaan door er telkens een klein beetje bij te tellen.
als je dus een start krijgt moet je die starttijd (in millis) opslaan en daar mee verder rekenen,
je slaat de millis op in huidigmil=millis(); en dan kun je dus huidigmil-starttijd>wachttijd dan heb je al een if statement waar je iets mee kunt.
in je loop staan er dan een aantal van die if statements als tijdschakelaars onder elkaar en daar knoop je dus functies dat er iets moet gebeurren.
denk er ook aan dat je alles weer in de beginpositie zet.
er gaan 6 miljoen instructie per seconde of soms meer dus het kan heel snel.
Het is heel normaal als je wat leert dat het even tegenzit door onvoldoende kennis hoe verder te gaan hoor,
paul deelen
shooter@home.nl

Berichten: 3
Geregistreerd: 09 Dec 2019, 20:04
Woonplaats: Ermelo

Re: even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor sander_TD » 03 Jan 2020, 20:34

excuses voor de late reactie maar heb persoonlijk een beetje tegenslag.

shooter bedankt voor je uitleg. samen met jouw uitleg en 100 andere pagina's snap ik millis() enigzins. alleen zit ik nog met 1 ding.
alles wat ik heb gevonden m.b.t. millis() zijn allemaal repetative events i.p.v. de single timed events.

wat ik wil is als zodra er een input signaal is dat er bijv. op 1 sec servo1 40 graden draait, vervolgens op 1,5 sec servo2 90 graden, op 2,5 sec servo1 20 graden terugdraait enzovoorts ZONDER dat dit elke zoveel sec herhaalt wordt. dus niet dat servo1 elke seconden 40 graden draait, servo2 elke 1,5 seconden 90 graden draait enzo.

is dit mogelijk? en zo ja hoe? ik vraag niet of iemand mijn code voor me wil schrijven maar een voorbeeld zou welkom zijn.

alvast bedankt!

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor Gij Kieken » 03 Jan 2020, 21:05

Een goede starter is hier je schets tonen wat je tot dusver hebt.

Berichten: 3
Geregistreerd: 09 Dec 2019, 20:04
Woonplaats: Ermelo

Re: even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor sander_TD » 03 Jan 2020, 21:18

Gij Kieken schreef:Een goede starter is hier je schets tonen wat je tot dusver hebt.


deze heb ik helaas nog niet *shame*

dit komt omdat ik nog niet de theorie heb om een schets te maken hoe ik het wil zoals het moet werken.

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

Re: even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor Koepel » 03 Jan 2020, 22:18

Met millis() kun je een tabel aflopen en die dingen uitvoeren.
Als je dat met millis() doet dan kun je op die manier meerdere dingen tegelijk doen.

Er zijn projecten met animatronics: https://create.arduino.cc/projecthub/projects/tags/animatronic.
Ik heb ze niet allemaal bekeken, maar die lopen één handeling af met de bewegingen achter elkaar en delays.

Kun een een Youtube filmpje vinden die zo iets doet ?
Het mooiste zou een library op Github zijn, waarbij je meerdere servo motoren tegelijk kunt bedienen en ook de snelheid kunt instellen. Dat is goed te doen met een Arduino maar ik kan zo iets nog niet vinden.

Als je wilt spelen met millis(), dan heb ik een paar voorbeelden: https://github.com/Koepel/Fun_with_millis.

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

Re: even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor Koepel » 04 Jan 2020, 00:53

Mijn advies zou zijn om met deze library te beginnen: https://github.com/Locoduino/SlowMotionServo.

Er zijn andere libraries die interrupts gebruiken, en daardoor niet met alle boards compatible zijn. Die SlowMotionServo library gebruikt de Servo functies van Arduino. Het is niet gemakkelijk in het gebruik maar het heeft de mogelijkheid om een bepaalde snelheidscurve voor de beweging er in te programmeren.

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

Re: even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor shooter » 04 Jan 2020, 12:37

zelfs god is niet perfect, dus gewoon een opzet maken en dan vooral een schema erin wat je wanneer wilt laten gebeuren.
en je hebt gelijk als je zegt dat het zich herhaalt in de voorbeelden, maar als je de starttijd maar een keer wijzigt, of bijhoudt dat je al een actie hebt gedaan met vlaggen dan gaat dat vanzelf
je kunt ook met een status programma gaan werken, maar dat is nog een beetje boven je kennis, dat werkt met switch case, zoek maar eens op.
en we zijn allemaal zo eenvoudig begonnen hoor.
paul deelen
shooter@home.nl

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

Re: even voorstellen en een vraag m.b.t. millis toepassen

Berichtdoor shooter » 06 Jan 2020, 15:00

kijk eens op arduino.cc en dan bij Will Cogley’s tester controls 16 servos simultaneously, staat nu gelijk op de home pagina,
het gaat mij om het idee om een universele interface te maken voor je modellen.
is erg handig als je meerdere hebt.
paul deelen
shooter@home.nl

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 10 gasten