Cours:ChenillardShield
Vous allez fabriquer une carte d'extension arduino (appelée communément "shield") que vous programmerez par la suite pour réaliser un chenillard.
Sommaire
Fabrication de la carte
Cahier des charges
Cette carte aura pour contraintes de :
- permettre la programmation d'un chenillard sur 8 leds
- permettre de changer le sens de défilement
- proposer un moyen d’arrêter/démarrer le défilement
- permettre de changer la vitesse
Composants et position
Nous trouverons sur la carte les composants suivants, avec le numéro de patte (pin) arduino associée permettrant d'observer/modifier l'état du capteur/actionneur
| Composants | position arduino | Fonction |
|---|---|---|
| 8 leds | pattes 0 à 7 | affichage du chenillard |
| 1 résistance ajustable | A3 | modification de la vitesse |
| 1 bouton poussoir | A4 | start/stop |
| 1 interrupteur | A5 | changement du sens |
Programmation
Gestion des leds
Notion de port
En observant attentivement la figure ci-contre, on constate que les pattes utilisées pour commander les leds n'ont pas été choisies au hasard.
En effet, nous utilisons les pattes 0 à 7, qui correspondent pour le µcontrôleur au PORTD (PD0, PD1, PD2, ...).
Ainsi, il devient possible de modifier l'état de toutes ces sorties/leds, en une seule instruction :
void setup()
{
// déclarer toutes les pattes en sortie :
}
void loop()
{
//mettre toutes les sorties à '1'
PORTD = 0b11111111; // ou PORTD = 0xFF; ou encore PORTD = 255;
delay(200);
//mettre toutes les sorties à '0'
PORTD = 0b00000000; // ou PORTD = 0x00; ou encore PORTD = 0;
delay(200);
}
Utilisation
En vous inspirant du programme précédent, faire un programme affichant successivement ces 2 motifs pendant 0,5s.
Chenillard
Écrire le programme du chenillard
Il s'agit d'allumer une seule led et de faire en sorte qu'elle se "déplace" de droite à gauche :
|
Pour réaliser un chenillard simple, nous devons envoyer successivement les valeurs suivantes sur le port :
Remarque : Une solution élégante consiste à utiliser les opérateurs de décalage | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

