Je voudrais savoir comment positionner un moteur pas à pas en fonction de sa position précédente avec un boutton par position et avec une prise d'origine (position 0 avec capteur fin de course)
Par exemple (ci-joint une photo) :
-au debut l'aiguille est en position 0.
-si j'appuie sur le boutton 1 > l'aiguille va en position 1
-ensuite j'appuie sur le boutton 3 > l'aiguille va en position 3 (sans passer par l'origine)
-ensuite j'appuie sur le boutton 2 > l'aiguille va en position 2 (toujours sans passer par l'origine)
etc.
Donc pour faire ca il faut bien que le moteur se souvienne de sa position précédente non?
ca se traduit comment en code?
PS : Je débute, je sais faire du copier/coller de tuto mais faire un programme à ma sauce c'est autre chose.
bonjour,
tu réponds à ta propre question.
position départ = fin de course
position 1 => avancer de X pas
position 2 => avancer de X pas
position 3 => avancer de X pas
simplement en mettant une variable position par exemple.
position =0
si appuie bouton 1=> avancer de X pas
position = 1
si appuie bouton 2=> avancer de X pas
position = 2
etc....
EDIT :
si tu disais exactement ce que tu veux faire
car vu ton dessin, un servo moteur pourrait le faire facilement
position 0 = 0
position 1 = 10 degréq
position 2 = 30 degrés
etc...
après lorsque tu appuie sur un des boutons, il a déjà la variable en mémoire, plus la peine de se taper des calculs.
myservo.write(0)
myservo.write(10)
myservo.write(30)
Je veux donner plusieurs positions aux lames d'un abat jour voire les mettre en mouvement de façon coordonnées.
Pour ce qui est du moteur j'y ai bien réfléchi et je reste sur le moteur pas à pas (28BYJ48), pourquoi?
Je veux un moteur qui tourne en continu (nombre de tour max : environ 10 tours) avec un positionnement précis.
Ce qui me dérange dans le servo moteur ou dans le motoréducteur est que je ne pourrais les contrôler qu'en terme de temps ce qui nécessite trop de temps de tests empiriques pour un résultat que je trouverait trop approximatif.
J'aurai bien garder un servo pour son rapport couple/vitesse et son positionnement angulaire en lui changeant de potentiomètre (potentiomètre 10 tours si ca existe ou encore 1 tour en l'engrenant sur un roue denté de rapport 1/10 mais ca fait trop de boulot et d'encombrement.
Je veux un moteur qui tourne en continu (nombre de tour max : envriron 10 tours) avec un positionnement précis.
Ce qui me dérange dans le servo moteur ou dans le motoréducteur est que je ne pourrai les controler qu'en terme de temps ce qui nécessite trop de temps de tests empiriques pour un résultat que je trouverait trop approximatif.
non un servomoteur se pilote en angle et non en temps
on lui dit de se mettre à la position 30 dégrés, il va y aller, pas besoin d'avoir une notion de temps.
tu aurais le même soucis avec un PAP, ou il va falloir déterminer le nb de pas a faire pour arriver à telle position.