Modifications

Sauter à la navigation Sauter à la recherche
3 910 octets ajoutés ,  5 juin 2016 à 20:48
Ligne 10 : Ligne 10 :  
Pour cet exemple, vous aurez besoin d'un {{pl|737|WiPy}}, un {{pl|53|Breadboard}}, une {{cl|18|LED}} et une {{cl|33|résistance}} (nous allons calculer sa valeur un peu plus loin) et un câble micoUSB.}}
 
Pour cet exemple, vous aurez besoin d'un {{pl|737|WiPy}}, un {{pl|53|Breadboard}}, une {{cl|18|LED}} et une {{cl|33|résistance}} (nous allons calculer sa valeur un peu plus loin) et un câble micoUSB.}}
   −
=== Matériel nécessaire ===
+
== Matériel nécessaire ==
 
{{bloc-etroit|text=
 
{{bloc-etroit|text=
 
{{ARDX-composant-begin}}
 
{{ARDX-composant-begin}}
Ligne 38 : Ligne 38 :  
}}
 
}}
   −
=== Schéma ===
+
== Schéma ==
Voici le schéma correspondant à notre branchement
+
Voici le schéma correspondant à nos raccordement.
 +
 
 +
{{ambox-stop|text=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!}}
    
[[Fichier:WiPy-LED-schema.png]] [[Fichier:WiPy-LED-schema-part2.png]]
 
[[Fichier:WiPy-LED-schema.png]] [[Fichier:WiPy-LED-schema-part2.png]]
Ligne 45 : Ligne 47 :  
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".
 
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 ====
+
=== 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.  
 
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.  
   Ligne 52 : Ligne 54 :  
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).
 
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: La broche consomme du courant ====
+
=== 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).
 
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).
   −
[[Fichier:WiPy-LED-schema-part2.png|250px]]  
+
[[Fichier:WiPy-LED-schema-part2.png|250px]]
 +
 
 +
Si vous avez une carte d'extension WiPy alors cette LED est déjà branchée sur GP16
 +
 
 +
[[Fichier:WiPy-LED-Ext-Board.jpg|320px]]  
    
Ce type de montage est inconfortable pour les débutants car il implique '''une logique de fonctionnement inversée'''.
 
Ce type de montage est inconfortable pour les débutants car il implique '''une logique de fonctionnement inversée'''.
Ligne 61 : Ligne 67 :  
En effet:
 
En effet:
 
* '''la LED est éteinte si la broche GP16 est au niveau haut (3.3V)'''.<br /> 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 éteinte si la broche GP16 est au niveau haut (3.3V)'''.<br /> 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)'''.<br />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  
+
* '''la LED est allumé si la broche GP16 est au niveau bas (0V)'''.<br />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'':<br />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'':<br /><font color="red">NE PAS MONTER si vous utilisez la carte d'extension WiPy</font> car cette LED est déjà branchée.<br />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.
 +
 
 +
<small>''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.''</small>
 +
 
 +
{{FImage|WiPy-Hack-LED-01.jpg|800px}}
 +
 
 +
Notes:
 +
* {{underline|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''.
 +
<syntaxhighlight lang="python">
 +
# 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 )
 +
</syntaxhighlight>
 +
 
 +
=== 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)
 +
 
 +
<syntaxhighlight lang="python">
 +
# 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 )
 +
</syntaxhighlight>
   −
   
{{HACK-WIPY-TRAILER}}
 
{{HACK-WIPY-TRAILER}}
29 917

modifications

Menu de navigation