Servomoteur avec bouton poussoir tinkercad
Les actionneurs sont des composants qui, sur la base d’une valeur numérique, peuvent modifier notre environnement, par exemple par des mouvements. Plus tard, nous verrons également comment produire des sons, mesurer des températures ou l’intensité de la lumière.
Un servomoteur est un dispositif similaire à un moteur qui a la capacité de se placer dans n’importe quelle position de sa plage de fonctionnement (dans notre cas de 0º à 180º, bien qu’il y ait 360º) et de rester dans cette position. Grâce à sa programmation, nous pouvons modifier à la fois sa vitesse et son angle. Une application simple à notre monde réel serait une barrière à un passage à niveau (parking, voie ferrée…), dans ce cas nous modifierions sa valeur de 0º à 90º > 90º à 0º pour lever > baisser la barrière.
Parfois, nous avons besoin de bibliothèques (programmes déjà réalisés par des tiers) qui nous fournissent des fonctionnalités ou simplifient la programmation. En bref, ce que font ces bibliothèques, c’est étendre l'”environnement” d’action de notre carte Arduino en fournissant des fonctionnalités supplémentaires, par exemple pour des actionneurs qui ne sont pas prédéfinis en standard.
Contrôler un servomoteur avec arduino plusieurs exemples
Nous allons configurer un circuit avec un servo comme dans la session précédente et nous utiliserons un des axes du joystick pour positionner un servo, et si nous appuyons sur le bouton, nous allumons une LED (nous ignorerons l’autre axe Y, bien que nous pourrions l’utiliser pour positionner un second servo).
Insistez sur le fait que nous avons défini l’entrée correspondant au bouton du joystick comme INPUT_PULLUP et non comme INPUT, car de cette façon nous n’avons pas besoin d’inclure une résistance, mais l’Arduino connecte un pullup en interne.
OK. Dans le monde réel, les choses ne sont jamais noires ou blanches, mais plutôt des nuances de gris (ou très souvent du chocolat), ce n’est donc pas une bonne idée d’envoyer les lectures directement à la commande du servo, ou à ce que nous déplaçons.
Je pense que vous trouverez que le mouvement est plus doux et plus uniforme, et que cela élimine pratiquement les convulsions du servo. Nous utilisons également cette méthode pour maintenir le servo verrouillé dans la position qui nous intéresse (même si nous lâchons la commande), ce qui serait impossible autrement.
Contrôler un servo avec des boutons arduino
Il semble que votre projet bénéficierait de l’utilisation d’interruptions matérielles, qui appellent de manière asynchrone des fonctions lorsque des événements (comme l’appui sur un bouton) se produisent (elles sont parfaites pour les contrôleurs et éliminent les frais généraux d’interrogation).
J’ai cette configuration où j’ai un Arduino Uno, un mini servomoteur, et un bouton. J’utilise un seul bouton pour commander le servomoteur afin qu’il passe à une position, puis j’appuie à nouveau dessus pour revenir en arrière. D’abord, il passe à 0 degré, puis si vous appuyez dessus, il passe à 180 degrés et ensuite vice versa. Le problème est que dans son état initial (qui est de 0 degré), le servomoteur fait du bruit. Comme si ça tournait ou quelque chose comme ça et ensuite ça chauffe.
Servocommande avec 2 boutons poussoirs
Il existe différents types de servomoteurs sur le marché, la principale différence entre eux étant le couple. Il est bon d’être clair sur ce point afin de choisir le bon servomoteur. Il est préférable de choisir un servo avec un couple plus élevé que celui requis, car la consommation de courant est proportionnelle à la charge. En revanche, si nous soumettons un servomoteur à des charges supérieures à son couple, nous risquons d’endommager les parties mécaniques (engrenages) et électriques du servomoteur, et nous pouvons même générer du bruit dans l’alimentation.
La bibliothèque Servo supporte jusqu’à 12 moteurs sur la plupart des cartes Arduino et 48 sur l’Arduino Mega. Sur les cartes non-MEGA, l’utilisation de la bibliothèque désactive la fonctionnalité PWM sur les broches 9 et 10. Sur l’Arduino Mega, jusqu’à 12 servos peuvent être utilisés sans interférer avec la fonctionnalité PWM, mais l’utilisation de 12 à 23 moteurs désactivera le PWM sur les broches 11 et 12.
*L’alimentation du moteur peut être la même que celle de l’Arduino, à condition que l’alimentation supporte la puissance du servo et soit de 5V. L’USB 5V ne supporte qu’un seul servo SG90, plus de servos ou d’autres servos doivent utiliser une alimentation externe.