Cours:Shieldinfo : Différence entre versions
m (→Principe d'utilisation) |
|||
(15 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | [[Fichier: | + | [[Fichier:Shiledinfo3d.jpg|vignette|upright=4|droite]] |
[[Cours:Arduinoshieldprof | Lien enseignants]] | [[Cours:Arduinoshieldprof | Lien enseignants]] | ||
Ligne 5 : | Ligne 5 : | ||
[[Cours:TPs_1103|{{Rouge|<big>'''Tps GEII S1 : M1103'''</big>}}]] | [[Cours:TPs_1103|{{Rouge|<big>'''Tps GEII S1 : M1103'''</big>}}]] | ||
+ | [[Cours:TPs_2103|{{Rouge|<big>'''Tps GEII S2 : M2103'''</big>}}]] | ||
Ligne 12 : | Ligne 13 : | ||
===description=== | ===description=== | ||
− | Le shield comporte 4 boutons, dont 2 possèdent une interruption spécifique | + | Le shield comporte 4 boutons, dont 2 possèdent une interruption spécifique. Chaque bouton est relié à une porte "non". Une fonction "trigger" sur les entrées permet de limiter les changements d'états impromptus (rebonds) lors du changement d'état des boutons. |
+ | |||
+ | Le tableau suivant donne les caractéristiques utiles : | ||
− | { | + | {{Cours:ShieldinfoTableauBps}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Principe d'utilisation=== | ===Principe d'utilisation=== | ||
Ligne 61 : | Ligne 53 : | ||
===Description=== | ===Description=== | ||
− | 6 leds connectées en "cathodes communes" sont présentes sur la carte. Attention, le commutateur permet de choisir entre les Leds et les afficheurs 7 segments. | + | 6 leds connectées en "cathodes communes" sont présentes sur la carte. Une led s'allume donc lorsqu'un niveau logique '1' est présent sur la sortie associée. |
+ | |||
+ | Attention, le commutateur permet de choisir entre les Leds et les afficheurs 7 segments. | ||
− | + | Leur position et couleur sont données dans le tableau suivant : | |
− | + | ||
− | + | {{Cours:ShieldinfoTableauLeds}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Principe d'utilisation=== | ===Principe d'utilisation=== | ||
Ligne 111 : | Ligne 94 : | ||
|- | |- | ||
! Segment | ! Segment | ||
− | || | + | || pt || g || f || e || d || c || b || a |
|- | |- | ||
|- | |- | ||
! Arduino Pin | ! Arduino Pin | ||
− | || | + | || 11 || 9 || 10 || 8 || 7 || 6 || 12 || 13 |
|- | |- | ||
! Port | ! Port | ||
− | || | + | || PB3 || PB1 || PB2 || PB0 || PD7 || PD6 || PB4 || PB5 |
|} | |} | ||
Ligne 167 : | Ligne 150 : | ||
Une sortie MLI non filtrée ou après un filtre passe bas de fréquence de coupure 50Hz est disponible sur la carte. Cette sortie est reliée sur l'arduino Pin 5 ou PD5. | Une sortie MLI non filtrée ou après un filtre passe bas de fréquence de coupure 50Hz est disponible sur la carte. Cette sortie est reliée sur l'arduino Pin 5 ou PD5. | ||
− | |||
− | |||
===Principe d'utilisation=== | ===Principe d'utilisation=== | ||
Ligne 201 : | Ligne 182 : | ||
| CTN, thermistance || A4 || PC4 | | CTN, thermistance || A4 || PC4 | ||
|- | |- | ||
− | | mesure de composant || A5 || PC5 | + | | mesure de composant (*) || A5 || PC5 |
|} | |} | ||
+ | |||
+ | (*) Mesure de composant : en plaçant un composant sur les barrettes adéquates, et en utilisant l'entrée analogique A5 ou PC5, il est possible d'identifier le composant inséré, la mesure effectuée étant un pont diviseur entre ce composant la sortie 5 et une résistance de 10 kΩ. | ||
===<span id="analogExp">Principe d'utilisation</span>=== | ===<span id="analogExp">Principe d'utilisation</span>=== | ||
Ligne 218 : | Ligne 201 : | ||
</source> | </source> | ||
− | ={{Rouge|Documents}}= | + | ={{Rouge|Documents pour la fabrication}}= |
+ | |||
+ | La première étape consiste à déposer de la pâte à braser sur chacune des pastilles des composants. | ||
+ | |||
+ | L'image ci dessous permet de repérer facilement la position des pastilles sur la carte. | ||
+ | |||
+ | [[Fichier:ComposantsTopShieldInfo.png]] | ||
+ | |||
+ | |||
+ | [[Fichier:Shiledinfo.jpg|cadre|droite]] | ||
[[Media:ArduinoBoard.brd]] | [[Media:ArduinoBoard.brd]] | ||
Ligne 224 : | Ligne 216 : | ||
[[Media:shieldinfo.sch]] | [[Media:shieldinfo.sch]] | ||
+ | |||
+ | [[Fichier:Shield.pdf]] |
Version actuelle datée du 20 novembre 2024 à 12:38
Sommaire
[masquer]Composition
Boutons
description
Le shield comporte 4 boutons, dont 2 possèdent une interruption spécifique. Chaque bouton est relié à une porte "non". Une fonction "trigger" sur les entrées permet de limiter les changements d'états impromptus (rebonds) lors du changement d'état des boutons.
Le tableau suivant donne les caractéristiques utiles :
Bouton | Position | Arduino Pin | Port | Interruption | Niveau logique si bouton appuyé |
---|---|---|---|---|---|
A | Bas Gauche | 2 | PD2 | int0 | 1 |
D | Haut Gauche | 3 | PD3 | int1 | 1 |
B | Bas Droite | A0 | PC0 | 0 | |
C | Haut Droite | A1 | PC1 | 0 |
Principe d'utilisation
const char bpPin[4]={2,3,A0,A1}; // Position physique des boutons
char bpEtat[4];
char bpAncien[4];
void setup()
{
char i;
for (i=0;i<4;i++) pinMode(bpPin[i],INPUT); // Déclaration des 4 entrées
}
void loop()
{
char i;
for (i=0;i<4;i++)
{
bpAncien[i]=bpEtat[i]; // Conservation des états précédents
bpEtat[i]=digitalRead(bpPin[i]); // Lecture des nouveaux états
}
if ((bpEtat[0]==0)&&(bpAncien[0]==1)) // En cas d'appui sur bp0
{
......
}
.....
}
Leds
Description
6 leds connectées en "cathodes communes" sont présentes sur la carte. Une led s'allume donc lorsqu'un niveau logique '1' est présent sur la sortie associée.
Attention, le commutateur permet de choisir entre les Leds et les afficheurs 7 segments.
Leur position et couleur sont données dans le tableau suivant :
Numéro | f5 | f4 | f3 | f2 | f1 | f0 | p1 | p0 |
---|---|---|---|---|---|---|---|---|
Couleur | r | o | v | r | o | v | v | r |
Arduino Pin | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 |
Port Arduino UNO | PB5 | PB4 | PB3 | PB2 | PB1 | PB0 | PD7 | PD6 |
Port Arduino LEONARDO | PC7 | PD6 | PB7 | PB6 | PB5 | PB4 | PE6 | PD7 |
Principe d'utilisation
void setup()
{
char i;
for (i=6;i<=13;i++) pinMode(i,OUTPUT); // Déclaration des 6 sorties
}
void loop()
{
char i;
for (i=6;i<=13;i++) digitalWrite(i,HIGH); // Les Leds s'allument
delay(500); // Attente pendant 500ms
for (i=6;i<=13;i++) digitalWrite(i,LOW); // Les Leds s'éteignent
delay(500); // Attente pendant 500ms
}
Afficheurs 7 segments
Description
Les 2 afficheurs ne peuvent pas être utilisés simultanément. L'état de la sortie mux (arduino port 4 ou PD4) permet de sélectionner l'un ou l'autre. En allumant successivement l'un puis l'autre rapidement, on a l'illusion qu'ils sont tous 2 allumés. Les segments des afficheurs sont câblés de façon analogue comme décrit ci dessous :
Segment | pt | g | f | e | d | c | b | a |
---|---|---|---|---|---|---|---|---|
Arduino Pin | 11 | 9 | 10 | 8 | 7 | 6 | 12 | 13 |
Port | PB3 | PB1 | PB2 | PB0 | PD7 | PD6 | PB4 | PB5 |
Principe d'utilisation
const char pinMux = 4;
const char pinAff[8]={13,12,6,7,8,10,9,11};
void setup()
{
char i;
for (i=0;i<8;i++) pinMode(pinAff[i],OUTPUT); // Déclaration des 8 sorties des afficheurs
pinMode(pinMux,OUTPUT); // + sortie de multiplexage (choix de l'afficheur)
}
void loop()
{
char i,c;
for (i=0;i<8;i++) digitalWrite(pinAff[i],HIGH); // Les segments s'allument
for (c=0;c<20;c++)
{
digitalWrite(pinMux,1); // sur l'afficheur 1
delay(10);
digitalWrite(pinMux,0); // puis sur l'afficheur 2
delay(10);
}
for (i=0;i<8;i++) digitalWrite(pinAff[i],LOW); // Les segments s'éteignent
for (c=0;c<20;c++)
{
digitalWrite(pinMux,1); // sur l'afficheur 1
delay(10);
digitalWrite(pinMux,0); // puis sur l'afficheur 2
delay(10);
}
}
MLI (ou PWM)
Description
Une sortie MLI non filtrée ou après un filtre passe bas de fréquence de coupure 50Hz est disponible sur la carte. Cette sortie est reliée sur l'arduino Pin 5 ou PD5.
Principe d'utilisation
const unsigned char mliPin=5;
void setup()
{
pinMode(mliPin,OUTPUT);
}
void loop()
{
analogWrite(mliPin,valeur); // valeur de mli entre 0 et 255
}
Entrées analogiques
Description
Capteur | Arduino Pin | Port |
---|---|---|
photo coupleur par réflexion | A2 | PC2 |
LDR, intensité lumineuse | A3 | PC3 |
CTN, thermistance | A4 | PC4 |
mesure de composant (*) | A5 | PC5 |
(*) Mesure de composant : en plaçant un composant sur les barrettes adéquates, et en utilisant l'entrée analogique A5 ou PC5, il est possible d'identifier le composant inséré, la mesure effectuée étant un pont diviseur entre ce composant la sortie 5 et une résistance de 10 kΩ.
Principe d'utilisation
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(analogRead(A3),DEC);
delay(500);
}
Documents pour la fabrication
La première étape consiste à déposer de la pâte à braser sur chacune des pastilles des composants.
L'image ci dessous permet de repérer facilement la position des pastilles sur la carte.