motor tip vraagje

Arduino shields
Berichten: 18
Geregistreerd: 27 Nov 2017, 11:00

motor tip vraagje

Berichtdoor djdeeno » 22 Nov 2018, 18:49

Hallo,

Ik had even een klein vraagje, is er een code die ervoor zorgt dat er in een loop van arduino eenmaal een opdracht geeft?
zo heb een motor draaien die perfect werkt met de tip120, als code gebruik ik :
analogWrite(tip, 80);

dat werkt perfect, echter moet de motor eerst een beetje opgang komen, liefste zou hij eerst een waarde van 120 moeten krijgen en vervolgens 80 aanhouden met een tussenpoos van +/- 20 sec. Het zou er dan zou uit kunnen zien

analogWrite(tip, 120);
delay(200);
analogWrite(tip, 80);
en na de laatste regel gewoon 80 aanblijven houden.

Omdat het in een loop zit, herhaalt hij dit proces begrijpelijke wijze, echter kan dit met een code zo gemaakt worden dat hij 120 opstarten (eenmalig) en daarna 80 aan blijft houden?

Alvast bedankt

Advertisement

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

Re: motor tip vraagje

Berichtdoor Gij Kieken » 22 Nov 2018, 20:22

Hey djdeeno
Steek het gewoon in de setup() ipv de loop() dan wordt het maar één keer uitgevoerd bij opstarten of Reset

Berichten: 18
Geregistreerd: 27 Nov 2017, 11:00

Re: motor tip vraagje

Berichtdoor djdeeno » 22 Nov 2018, 20:34

Dat gaat niet, de motor mag pas draaien op het moment als er een knop word ingedrukt.
dan pas mag de motor gaan draaien, er zit ook een stopknop op maar allleen als hij gaat draaien heeft hij even wat meer power nodig om om gang te komen

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

Re: motor tip vraagje

Berichtdoor Koepel » 22 Nov 2018, 21:59

De motor kan dus in verschillende soorten toestanden zijn (uit, normaal, meer_power).
Je kunt dat doen door er vol voor te gaan met millis() en een finite-state-machine en alle toeters en bellen aanzetten: https://youtu.be/-mVSTO-PKSM?t=16.
Maar misschien is er een eenvoudige oplossing.

Zijn het echt drie toestanden ? Of wil je een bepaalde curve voor de motor ?

Je hebt het over 20 seconden, en je laat een delay zien van 200 milliseconden. Hoe lang duurt het ? En wil je tijdens de "meer_power" ook op de stop-knop kunnen drukken ?

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

Re: motor tip vraagje

Berichtdoor shooter » 23 Nov 2018, 01:22

in setup zet stop = true;

maak twee functies:
starten:
starten van de motor dus met analogWrite(.. 120)
zet dan ook een tijd vast met starttijd= millis();
starter=true;
stop=false;
normalloop:
starter=false;
analogWrite (..,80);

ga in je hoofdloop
if (stop=true&& startknop) {starter();}
if (starter && millis()-starttijd > 20000){normaalloop();}

ik overigens express geen code geschreven dat kun je zelf denk ik
paul deelen
shooter@home.nl

Terug naar Shields

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 8 gasten