Go Down

Topic: 2 servo's met led en drukknop (Read 5164 times) previous topic - next topic

wes1371

ik heb sinds kort een arduino uno rev 3 en nu wil ik daarmee 2 servo's aansturen d.m.v. een drukknop.
wat ik wil laten gebeuren is dat als je de drukknop indrukt dat eerst de ene servo 90 graden draait en daarna die andere 90 graden en dat tijdens het draaien van die servo's een ledje brandt(dat door brandt totdat je opnieuw drukt) en dat je dit dan door nog een druk op de knop kan terugdraaien. ik kom er alleen
niet uit wat er bij void loop in de code moet staan zodat als je zeg maar de servo's allebei op 90 graden hebt staan en je de arduino uitzet, dat hij als je 'm dan opnieuw opstart niet nog eens 90 graden laat draaien, maar dat hij als je dan op de knop drukt hij dan weer teruggaat naar 0 graden. bijgevoegd is een screenshot van wat ik al heb aan code.

Jantje

volgens mij kan deze code zelfs niet compileren.
Ik raad je aan de sample programa's eens door te nemen.
Met vriendelijke groet
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

MAS3

Mee eens.
Gewoon de samples eens laden, bekijken en zien wat ze precies doen.
Bedenk wat je allemaal voor stapjes kunt maken en dat je je Arduino alles moet vertellen wat ie moet doen.
Dus maak steeds kleinere stapjes totdat je op code uitkomt.
Maar dat is wel erg lastig als dit je eerste experiment is.
Bedenk (bekijk) ook wat aanzetten en uitzetten betekent en wat er op die momenten allemaal gebeurt.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

wes1371

bedankt voor de snelle reactie's.
ik ga nog maar eens de samples doorlopen
met vriendelijke groet,
wesley

Jantje

Zeker naar de servo voorbeelden kijken en naar de blink without delay.
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

nicoverduin

#5
May 16, 2013, 07:10 pm Last Edit: May 16, 2013, 07:35 pm by nicoverduin Reason: 1
Gewoon ff een flowchartje maken waarbij je het proces uittekent. om ervoor te zorgen dat je na het aanzetten met dezelfde stand verder gaat, moet je de richting oid bewaren in EEPROM. Die kan je dan weer lezen bij het opstarten en verdergaan alsof hij nooit is uitgeweest.
zie voorbeeld over EEPROM.

Dus zoiets:
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

wes1371

bedankt.

maar kan ik als ik een schakelaar plaats die de servopositie detecteert en deze code dat met EEPROM omzeilen want ik weet niet hoe dat werkt

nicoverduin

Kan wel, maar knap ingewikkeld. als je bij de Arduino ff bij de voorbeelden kijk dan zie dat het een appeltje eitje is met de EEPROM. EEPROM.read() en EEPROM.write().
Bij de lees geef je alleen het adres op (0 - 255) en bij de schijf het adres en de waarde. Je moet er wel energie in steken. In NL hebben ook zo'n wereld wonder op gitaarnet die ook altijd erg snel thuis wil zijn. Met als resultaat dat er steeds minder mensen bereid zijn om te helpen. 
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

nicoverduin

En je moet opletten op zgn. "dender van je schakelaars. Äls je een schakelaar omgooit of indrukt. Dan trillen de contacten na. Je hebt dus kans op een foutieve lezing van de knoppen.
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

MAS3

Appeltje eitje is als je al wat ervaring hebt misschien waar.
Ik vraag me af hoeveel ervaring er aanwezig is gezien de eerste posting.
Je kunt dit soort zaken wel opzoeken op de Arduino site (klik).

Het schakelaartje is een lastig verhaal.
Want als je opstart, ga je de servo ook opstarten en dat betekent dat die naar een vooringestelde waarde zal gaan, die niet per se is wat jij wil.
Maak maar eens een sketch die alleen de servo activeert maar m niet aanstuurt.
Zet de servo voorzichtig met de hand in een bepaalde stand, en schakel dan de spanning in en zie wat er gebeurt.
Probeer dat maar eens een paar keer achter elkaar, en houd er rekening mee dat je de servo niet met de hand kunt verdraaien (zonder m kapot te maken) als er spanning aanwezig is.
Dat is een van de dingen die ik in mijn laatste regel van mijn vorige antwoord bedoelde.

Contactdender hoeft niet op te treden, maar kan wel en daarom moet je daar rekening mee houden.
In het Engels heet het begrip dender bouncing, en rekening ermee houden heet debouncing.
Dat is dus iets waar je op kunt zoeken.

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Go Up