Hack-wipy-led
Ce que nous faisons
Les LEDs (diode émettant de la lumière) sont utilisées dans toutes sortes de montages intelligents, raison pour laquelle nous les avons inclus dans ce kit. Nous allons commencer avec quelque-chose de très simple en allumant et éteignant une LED. Nous allons aussi apprendre les deux façon de monter une LED. produisant ainsi un plaisant effet de clignotement.
Faire clignoter une LED c'est comme créer un programme "Bonjour le monde" (l'équivalent du célèbre "Hello World" en anglais). C'est une chouette façon de débuter votre voyage dans le monde du matériel embarqué.
Pour commencer, attrapez les éléments listés ci-dessous et raccordez le tout comme indiqué. Une fois le circuit monté, vous devez charger le programme sur la carte WiPy.
Pour cet exemple, vous aurez besoin d'un WiPy, un Breadboard, une LED et une résistance (nous allons calculer sa valeur un peu plus loin) et un câble micoUSB.
Matériel nécessaire
Résistance de 1.2 KOhms (brun-rouge-rouge)
x2
LED (ou DEL)
x2
Schéma
Voici le schéma correspondant à nos raccordement.
Si vous utilisez la carte d'extension WiPy alors le montage de la LED sur GP16 est déjà réalisé. Vous ne devez donc pas brancher la LED sur GP16! |
Nous vous présentons ci-dessus deux façons de monter une LED, le schéma de gauche est un montage "current source", tandis que le montage de droite (en vert) est un montage "current sink".
Current Source: broche en source de courant
Il est possible de monter une LED de sorte que la broche GP15 fournisse le courant nécessaire au fonctionnement de la LED. La broche GP15 est "une source" de courant.
Dans ce type de montage, la LED s'allume lorsque la broche est au niveau (3.3v) et la LED s'éteind lorsque la broche est au niveau bas (0v).
Current Sink: broche en consommateur de courant
Il est également possible de réaliser un montage consommateur de courant dit "current sink". C'est généralement le type de montage recommandé avec les microcontroleur car il est plus facile de consommer du courant (to sink en anglais) que d'en fournir (to source en anglais).
Si vous avez une carte d'extension WiPy alors cette LED est déjà branchée sur GP16
Ce type de montage est inconfortable pour les débutants car il implique une logique de fonctionnement inversée.
En effet:
- la LED est éteinte si la broche GP16 est au niveau haut (3.3V).
En effet, dans ce cas, les deux côtés de la LED sont au niveau haut (à +3.3v) et aucun courant ne peut circuler dans la LED. Elle est donc éteinte. - la LED est allumé si la broche GP16 est au niveau bas (0V).
Dans ce cas, le côté (+) de la LED est à 3.3V et le côté (-) de la LED est placé à 0V par la broche GP16. Il y a donc une différence de potentiel et le courant peut circuler dans la LED... qui s'allume
Brancher
Connectez tous les éléments ensembles comme présenté sur l'image. Les LEDs sont connectées sur les broches GP15 et GP16 du WiPy.
- La 1iere LED est utilisée en current source:
La broche positive (la PLUS longue broche) est connectée sur GP15' par l'intermédiaire d'une résistance de 1.2K Ohms (Brun Rouge Rouge). La broche négative de la LED (la MOINS longue) est connecté sur la masse (gnd/ground). - La 2iere LED est utilisée en current sink:
NE PAS MONTER si vous utilisez la carte d'extension WiPy car cette LED est déjà branchée.
La broche positive (la PLUS longue broche) est connectée sur le 3.3v. La broche négative de la LED (la MOINS longue) est connecté sur une résistance de 1.2K Ohms (Brun Rouge Rouge). L'autre côté de la résistance est branché sur la broche GP16.
Notez l'astuce mnémotechnique, le (+) PLUS de la LED est la broche la PLUS longue et le (-) MOINS de la LED est la broche la MOINS longue.
Made with - réalisé avec - Fritzing fritzing.org
Notes:
- Seul le sens de raccordement des LED est important.
- Le code couleur des résistances sur le schéma n'est pas correct!. Utilisez des résistances de 1.2KOhms (brun-rouge-rouge)
Programme
LED sur GP16
Pour rappel, la LED sur GP16 est commandée en logique inversée car elle est montée en current sink.
# Cet exemple controle une LED branchés sur GP16 via une résistance de 1.2 KOhms
#
# Si vous possédez le carte d'extension WiPy, une LED est déjà branchée sur cette
# broche, il n'est donc pas nécessaire de réaliser le montage vous même.
#
# Ou acheter un WiPy et une carte d'extension
# http://shop.mchobby.be/product.php?id_product=736
# http://shop.mchobby.be/product.php?id_product=737
# http://shop.mchobby.be/category.php?id_category=68
#
# Voyez le tutoriel
# http://wiki.mchobby.be/index.php?title=Hack-wipy-led
#
# Auteur: Meurisse D. pour shop.mchoby.be
# Licence: CC-BY-SA
#
from machine import Pin
import time
# broche en sortie
p16 = Pin( 'GP16', mode=Pin.OUT )
# broche au niveau bas.
# La LED s allume
p16.value(0)
# broche au niveau haut.
# La LED s eteint
p16.value(1)
# broche au niveau bas.
# La LED s'allume
p16.value(0)
# Changer l'état de la LED 10 fois
for i in range( 10 ):
# Inverse l'etat de la broche
p16.toggle()
# attend 1 seconde
time.delay( 1 )
# eteindre la LED
p16.value( 1 )
LED sur GP15
La LED branchée sur GP15 fonctionne en logique normale car c'est la broche qui fourni le courant nécessaire au fonctionnement de la LED (current source)
# Cet exemple controle une LED branchés sur GP15 via une résistance de 1.2 KOhms
#
# Ou acheter un WiPy et une carte d'extension
# http://shop.mchobby.be/product.php?id_product=736
# http://shop.mchobby.be/product.php?id_product=737
# http://shop.mchobby.be/category.php?id_category=68
#
# Voyez le tutoriel
# http://wiki.mchobby.be/index.php?title=Hack-wipy-led
#
# Auteur: Meurisse D. pour shop.mchoby.be
# Licence: CC-BY-SA
#
from machine import Pin
import time
# broche en sortie
p15 = Pin( 'GP15', mode=Pin.OUT )
# broche au niveau haut.
# La LED est allumée
p15.value(1)
# broche au niveau bas.
# La LED s'éteind
p15.value(0)
# Changer l'état de la LED 10 fois
for i in range( 10 ):
# Inverse l'etat de la broche
p15.toggle()
# attend 1 seconde
time.delay( 1 )
# eteindre la LED
p15.value( 0 )