Dans « Commande du servo-moteur par bouton poussoir », nous avons vu comment connecter un bouton poussoir à une entrée analogique. Dans celui-ci nous allons voir comment en connecter plusieurs et lire lequel est enfoncé.
Cette idée de connecter plusieurs poussoirs sur une entrée analogique n’est pas nouvelle. Une Application Note de Freescale existe et l’idée m’a été soufflée par Marc-Henri que je remercie au passage.
Marc-Henri vient de publier un article sur son blog qui décrit (...)
Accueil > Mots-clés > Themes > Arduino
Arduino
Articles
-
Plusieurs boutons poussoir sur une entrée analogique
16 novembre 2013, par Jean-Luc -
Sélection d’un servomoteur pour le réglage des butées
23 novembre 2013, par Jean-LucLe réglage des butées est un point important. En effet, chaque servo moteur va avoir un neutre un peu différent de ses congénères. Il en va de même pour les positions extrêmes. De plus, chaque installation d’aiguille est un peu différente des autres.
Il est donc essentiel de pouvoir, servomoteur par servomoteur, régler les deux positions extrêmes.
Le matériel
Afin de sélectionner l’un des servomoteurs pour régler, au moyen de deux poussoirs, sa position extrême actuelle nous avons (...) -
Témoins de positions : le Charlieplexing
2 décembre 2013, par Jean-LucLa dernière fonction à mettre en œuvre est la gestion des témoins de position. 16 LED sont nécessaires et il nous reste 6 broches. La broche numérique 13 ayant déjà une LED soudée sur la carte de l’Arduino n’est pas très commode à utiliser. Il nous reste donc en réalité 5 broches. Comment faire ?
Il existe une technique connue sous le nom de Charliplexing [1] qui permet de multiplexer des LED sur des entrées/sorties numériques. Examinons tout d’abord le cas de deux LED connectées à 2 (...) -
Commande du servo-moteur par bouton poussoir
11 novembre 2013, par Jean-LucNous allons maintenant ajouter un bouton poussoir pour commander le mouvement du servo-moteur. Cet article fait suite à « Mise en œuvre d’un servo-moteur ».
Le système fonctionnera de la manière suivante : Lorsque le servo-moteur est dans une des positions extrêmes, une pression sur le poussoir donnera au servo-moteur une vitesse lui permettant de gagner l’autre position extrême. Lorsque le servo-moteur est en mouvement, une pression sur le bouton inversera la vitesse.
Mise en œuvre du (...) -
L’algorithme de rotation du pont tournant
1er janvier 2014, par Jean-LucAprès avoir présenté le matériel nécessaire au pilotage du moteur pas-à-pas par µPas et le choix de la DRV8824 de Pololu pour sa meilleure résolution et la fluidité de mouvement qui en résulte, il est temps de se pencher sur l’algorithme qui permet de décider du sens de rotation et de la décomposition du mouvement en phase d’accélération, en régime permanent et en phase de décélération.
Calcul du sens de rotation pour le plus court chemin
Le pont est bien évidemment orienté. C’est à (...) -
Clavier de réglage des butées
30 novembre 2013, par Jean-LucEssayant de ne pas faire de trop gros articles indigestes, je saucissonne un peu plus les sujets. Voici le 2e sur le réglage des butées. Il porte sur la transformation du programme que nous avions écrit pour le clavier analogique afin que le même programme puisse servir pour le clavier de réglage et en fait pour n’importe quel clavier analogique. En informatique on appelle ça la généricité. Poussoirs de réglage de la position
Les poussoirs de réglage de la position sont mis en œuvre avec (...) -
Un zeste de C++
23 novembre 2013, par Jean-LucComme nous l’avons détaillé dans l’article précédent « 8 poussoirs et 8 servos, enfin ! », le passage d’un servomoteur à 8 servomoteurs, nous à contraint à rassembler les variables permettant de décrire l’état d’un servomoteur dans une struct afin de créer un tableau de 8 éléments de ce type.
struct DescripteurServo Servo objetServo ; int vitesse ; int angle ; int pin ; byte etatServo ; ; struct DescripteurServo servoMoteur[8] ;
Malheureusement, le programme (...) -
Témoins de positions : la mise en œuvre
3 décembre 2013, par Jean-LucNous avons vu la technique du Charlieplexing dans « Témoins de positions : le Charlieplexing », nous allons maintenant l’appliquer à un système à 5 broches de pilotage et 16 LED puis l’intégrer dans notre application. Charlieplexing des 16 LED témoins [1]
Le schéma pour allumer 16 LED est le suivant.
On peut noter que le schéma est incomplet. En effet, avec 5 broches, il est possible de piloter 20 LED. Ici les couples de broches 0-3 et 1-4 sont manquants et nous n’allons donc pas les (...) -
Amélioration et mémorisation des réglages
2 décembre 2013, par Jean-LucComme indiqué dans la vidéo au bas de l’article « Réglage des butées des servomoteurs », un problème lié à l’inertie mécanique subsiste. Nous avons aussi le problème de la non mémorisation des réglages. Nous allons voir comment régler ces deux problèmes.
Prise en compte de l’inertie mécanique
Quand la consigne de position, via la durée de l’état haut de la PWM, est envoyé au servomoteur, celui-ci met quelques instants à appliquer cette consigne. Or, le programme actuel coupe la PWM est (...) -
8 poussoirs et 8 servos, enfin !
17 novembre 2013, par Jean-LucDans « Commande du servo-moteur par bouton poussoir », nous avons vu comment commander un servo-moteur avec un poussoir. Dans « Plusieurs boutons poussoir sur une entrée analogique », nous avons vu comment connecter 8 poussoirs sur une entrée analogique et détecter lequel est pressé. Il reste maintenant à mettre en œuvre les 8 servos.
Les variables pour manipuler les 8 servos
Si vous vous rappelez, plusieurs variables étaient employées pour notre servo : l’objet de type Servo (...)