Hack-wipy-led

De MCHobby - Wiki
Aller à : navigation, rechercher

MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

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

PYBX-fils.png
PYBX-R1.2K.png

Résistance de 1.2 KOhms (brun-rouge-rouge)
x2

PYBX-LED-verte.png

LED (ou DEL)
x2

 

Schéma

Voici le schéma correspondant à nos raccordement.

WiPy-LED-schema.png WiPy-LED-schema-part2.png

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.

WiPy-LED-schema.png

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).

WiPy-LED-schema-part2.png

Si vous avez une carte d'extension WiPy alors cette LED est déjà branchée sur GP16

WiPy-LED-Ext-Board.jpg

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.

WiPy-Hack-LED-01.jpg
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 )

Modèle:HACK-WIPY-TRAILER