Les couleurs de câbles indiquent leur type.
Pour certains composants tu auras besoin de câbles spéciaux :
Pour ces composants tu peux lire les types d’entrées sorties sur le composant, sinon par couleur : noir avec noir (ou marron!), rouge avec rouge, etc.
On va connecter nos composants à notre shield Grove :
Pour brancher tes composants, tu peux utiliser les 3 ports entourés en bleu (P0/P14, P1/P15, P2/P16). Pour chaque port, tu as en réalité deux entrée/sorties ! Elles sont écrites en petit à côté du port.
Tu peux utiliser des pinces crocodiles avec les autres ports sur les côtés de la carte (GND, P8, P12, P13, 3V3, P0, P1, P2).
On ne va pas utiliser le port I2C.
Une “sortie” est un composant qui reçoit une information de la carte pour fonctionner : l’information “sort” de la carte et va vers le composant.
-> La LED est une sortie car c’est vous/la carte qui lui envoyez du courant pour qu’elle s’allume ou s’éteigne.
Un composant est “numérique” lorsque son état ne peut prendre que deux valeurs : 0 ou 1, allumé ou éteint, Vrai ou faux.
-> La LED est un composant digital car elle ne peut être que allumée ou éteinte
Une “entrée” est un composant qui envoie une information à la carte : l’information “entre” dans la carte.
-> Un bouton est une entrée car il capte une information extérieure et la fait entrer dans le système, par exemple pour ensuite allumer une LED.
Le bouton & ses blocs
Lorsque tu connectes le bouton poussoir avec un adaptateur, regarde bien le câble que tu connectes sur le composant. Si c’est le jaune ou le blanc cela ne correspondra pas à la même entrée/sortie sur ta carte !
(jaune/blanc = OUT / rouge = VCC / noir = GND)
Vérifier si le bouton connecté à P0 est appuyé :
'Digital' signifie numérique en anglais !
'pin0' correspond au Pin 0 ! N'oublie pas de le changer si tu as branché ton bouton sur un autre pin !
Le bouton & ses branchements
Un composant est “analogique ” lorsque son état peut prendre plusieurs valeurs : 0 à 100°, 1 à 255, … Les composants analogiques sont associés à des données qui varient : la température, la lumière, la vitesse, l’inclinaison, etc.
-> Le potentiomètre est analogique car en le tournant on envoie des valeurs plus ou moins grandes (entre 0 et 1024) à la carte.
-> Le capteur de lumière intégré au Micro:Bit est analogique car il envoie des valeurs plus ou moins grandes à la carte.
Le potentiomètre & ses blocs
Le potentiomètre prends des valeurs comprises entre 0 et 1024
Lire la valeur du potentiomètre connecté au pin 1 :
N'oublie pas de changer 'pin1' si tu as branché ton bouton sur un autre pin !
Le potentiomètre & ses branchements
Tu peux brancher un potentiomètre avec un câble Grove classique ! Tu as juste à le clipser à la broche P que tu souhaites !
Un composant est “analogique ” lorsque son état peut prendre plusieurs valeurs : 0 à 100°, 1 à 255, … Les composants analogiques sont associés à des données qui varient : la position d’un moteur, le sens d’un moteur…
-Un servomoteur “classique” ne peut faire qu’un demi-tour, c’est à dire tourner entre 0 et 180°.
Attention : évite les valeurs proches des extrêmes, qui ont tendance à faire grincer les servos, l’utiliser entre 20 et 160° 🙂
-un servomoteur "continu" peut faire plusieurs tours.
A 90 le servo est à l'arrêt, à 180 il tourne à fond dans un sens, à 0 il tourne à fond dans l'autre sens.
Si ton servo moteur ne tourne pas correctement, branche le câble USB sur le shield Grove au lieu du Micro:Bit ou utilise une PowerBank !
Programmer ton servomoteur /!\ Pour faire fonctionner les moteurs on a besoin de convertir l’angle en un signal PWM. Pour cela pour chacun des codes avec des moteurs on aura besoin de ce bout de code :# pour chaque pin on règle la fréquence pin0.set_analog_period(20) # fonction de conversion pour la fréquence ci-dessus def angle_to_analog(angle) : return 15 + angle*120//180
Définir l'angle de ton servomoteur classique connecté au pin 0 à 0 :
N'oublie pas de changer 'pin0' si tu as branché ton bouton sur un autre pin !
pin0.write_analog(angle_to_analog(0))
Faire tourner ton servomoteur continu connecté au pin 0 :
N'oublie pas de changer 'pin0' si tu as branché ton bouton sur un autre pin !
On le programme comme un servomoteur classique mais on ici va utiliser 3 valeurs :
pin0.write_analog(angle_to_analog(0))
pin0.write_analog(angle_to_analog(180))
pin0.write_analog(angle_to_analog(90))