Cours:ArduinoChenillard : Différence entre versions
m |
|||
Ligne 30 : | Ligne 30 : | ||
<source lang=c> | <source lang=c> | ||
− | char patteLeds[8] = {13, 12, 11, ... } // se référer à | + | char patteLeds[8] = {13, 12, 11, ... } // se référer à la page ShieldInfo |
+ | |||
void allumeLeds(char val) | void allumeLeds(char val) | ||
{ | { | ||
− | + | char i; | |
+ | char etat; | ||
+ | |||
+ | for (i=0;i<8;i++) // il y a 8 leds | ||
+ | { | ||
+ | etat = ????? // cette valeur dépend de val, mais aussi de i, cf plus bas | ||
+ | digitalWrite( ??? , etat); | ||
+ | } | ||
} | } | ||
</source> | </source> |
Version du 13 septembre 2013 à 10:20
L'objectif de ce Tp est de commander les différentes Leds de notre carte ShieldInfo, dont vous pouvez trouver le détail sur ce lien.
Il ne faut pas perdre de vue les points suivants :
- les leds s'allument lorsqu'un niveau logique haut est présent sur la sortie associée
- digitalWrite(s,v) permet d'attribuer une valeur (v) sur la sortie (s), comme précisé sur cette page
- il faut aussi préciser quelles sont les sorties
Ex 1: Gestion des leds
Nous avons à disposition 8 leds, avec 2 états différents pour chacune. Nous utiliserons donc une variable de type char, ainsi chaque bit correspondra à l'état d'une led. Par exemple si val=B11001111, le tableau suivant résume l'état des leds :
val | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
etat led |
Vous allez devoir écrire une fonction, dont le prototype est donné ci après, qui prendra en paramètre une valeur de type char, et allumera en conséquence les leds.
void allumeLeds(char val);
Pour ce faire, nous utiliserons la structure de programme suivante, que vous devez compléter :
char patteLeds[8] = {13, 12, 11, ... } // se référer à la page ShieldInfo
void allumeLeds(char val)
{
char i;
char etat;
for (i=0;i<8;i++) // il y a 8 leds
{
etat = ????? // cette valeur dépend de val, mais aussi de i, cf plus bas
digitalWrite( ??? , etat);
}
}