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 -
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 (…) -
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 permettant (…) -
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 (…) -
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 (…) -
Mise en œuvre d’un servo-moteur
10 novembre 2013, par Jean-LucL’Arduino c’est à la fois une carte équipée d’un microcontrôleur et un environnement logiciel qui fournit à l’utilisateur des fonctions pour manipuler le matériel de manière plus simple que s’il devait mettre en œuvre le micro-contrôleur à partir de rien.
L’Arduino se programme en langage C et quelques fois en C++. Le C est un langage de programmation très populaire, notamment sur les systèmes embarqués, c’est à dire les systèmes informatiques intégrés dans un procédé dans le but de le (…) -
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 (…) -
Réglage des butées des servomoteurs
1er décembre 2013, par Jean-LucNous voici enfin à l’avant dernière étape de développement de notre système. Dans « Sélection d’un servomoteur pour le réglage des butées », nous avons vu la mise en œuvre d’un codeur pour désigner le servomoteur à régler, dans « Clavier de réglage des butées », nous avons vu l’ajout d’un second clavier analogique destiné à permettre le réglage des butées et, comme nous avions déjà un clavier analogique, la généralisation de la gestion de ce type de clavier par le biais d’une classe C++. (…)
-
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 (…) -
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 à dire (…)