Modèle:MicroPython-Hack-1LED-core

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche

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 la LED de façon répétée, 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 PyBoard.

Pour cet exemple, vous aurez besoin d'un Micro Python Pyboard, 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-R1K.png

Résistance de 1 KOhms (brun-noir-rouge)
x1

PYBX-LED-verte.png

LED (ou DEL)
x1

 

Schéma

Voici le schéma correspondant à notre branchement

MicroPython-1LED-schema.png

Brancher

Connectez tous les éléments ensembles comme présenté sur l'image. La LED est connectée sur la broche X5 du PyBoard. La broche positive (la PLUS longue broche) est connectée sur X5' par l'intermédiaire d'une résistance de 1K Ohms (Brun Noir Rouge) . La broche négative de la LED (la MOINS longue) est connecté sur la masse (gnd/ground).

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.

MicroPython-Hack-LED-01.jpg
Made with - réalisé avec - Fritzing fritzing.org

Vous pourriez également placer la résistance entre la masse et la broche (-) de la LED. Cela n'a pas vraiment d'importance. Seul le sens de raccordement de la LED est important.

Le programme

Voici une version du programme pour commander cette LED externe.

p = pyb.Pin( 'X5', pyb.Pin.OUT_PP )
while True:
  p.high()
  pyb.delay(500)
  p.low()
  pyb.delay(500)

La première ligne pyb.Pin( 'X5', pyb.Pin.OUT_PP ) déclare la broche X5 comme sortie et mémorise la référence dans la variable p.

p représente donc la broche X5 tout en configurant celle-ci comme une sortie OUT (de type PP: Push Pull).

Ensuite, la ligne p.high() active la sortie (et allume donc la LED).

La ligne p.low() désactive la sortie, ce qui a pour conséquence d'éteindre la LED qui y est branchée.

Valeur de la résistance

Mais qu'elle résistance faut il mettre en place?

Voici comment nous allons la trouver:

Conformément à la loi d'Ohm : Tension = Courant x Résistance

Par conséquent, pour calculer la résistance, la formule devient

Résistance = Tension / Courant

Dans notre cas, la tension de sortie du Core est de 3.3V. Ces 3.3V est distribuée entre la résistance et la LED. 3.3V = Urésistance + Uled. Comme la chute de tension dans une LED est d'environ 2.0V (Uled). la chute de tension aux bornes de la résistance est donc de 3.3V - Uled.

La tension sur la résistance est donc de:

Urésistance = 3.3V - 2.0V = 1.3V

Le courant nécessaire pour allumer une LED varie entre 2mA et 20mA. Plus le courant est important et plus la LED sera lumineuse.

Il est généralement souhaitable de limiter le courant qui passe dans la LED (à sa limite la plus basse) pour prolonger sa durée de vie.

Nous allons choisir de contrôler cette LED avec un courant de 5mA (soit 0.005 Ampère). Et comme le courant qui traverse la LED traverse également la résistance...

Revenons à notre loi d'Ohms

Résistance = Tension / Courant = Urésistance / Irésitance

Résistance = 1.3V / 5mA = 1.3 / 0.005 = 260 Ohms

Note:
Etant donné qu'il y a une grande variation de valeur pour les chutes de tension dans LEDs (le forward voltage drop) dépendant du type, de la taille, couleur, fabriquant, etc. Vous pourriez utiliser successivement des valeurs entre 220 Ohms et 1K Ohms.

Dans l'image nous utilisons une résistance de 1K Ohms (Brun Noir Rouge)