Faire clignoter une LED sur un raspberry pi

Avoir un raspberry pi c’est bien… Le faire fonctionner c’est mieux ! 😀

Comme première prise en main, je vous propose un petit montage simple permettant de faire clignoter une LED avec le Raspberry pi.

Avant de commencer, quelques petites précautions s’imposent… Je ne veux pas cramer mon raspberry ! :p Un petit tour sur les spécifications du GPIO nous apprend que :

  • Les broches du GPIO délivrent un courant de 3,3V
  • Une broche ne peut pas délivrer plus de 16 mA (intensité réglable programmatiquement entre 2 mA et 16 mA par pas de 2 mA)
  • La broche P1 (3,3V) ne délivre pas plus de 50 mA
  • De manière générale, la somme des intensités utilisés des broches du GPIO ne doit pas dépasser 50 mA.
  • Il est possible d’utiliser la broche P2 (5V), mais dans ce cas, il faut que l’alimentation du raspberry délivre au moins 700 mA + la consommation du circuit branché sur la broche

Toute ces informations sont décrites sur ce lien : http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electrical-specifications

Comme une broche du raspberry ne pourra pas délivrer plus de 16 mA, il est possible de brancher en directe une LED sur la broche… Mais je ne le conseil pas ! Il est toujours préférable de placer une résistance pour limiter l’intensité. Dans ce cas, il suffit d’utiliser une résistance de 3.3V / 0.01 A = 330 ohms. La diode sera alimentée par un courant de 10 mA.

Maintenant, je vais vous proposer un petit montage simple permettant d’utiliser moins d’1 mA sur une broche tout en pilotant l’allumage d’une diode. Pour ce faire, nous aurons besoin d’un transistor (2N2222 – un classique :p) et d’une résistance de plus.

Voici le schéma (les explications sont incluses dans le schéma) :

Schéma pour piloter une LED via une broche du GPIO

Schéma pour piloter une LED via une broche du GPIO

Une fois le schéma réalisé, il ne reste plus qu’à créer un petit programme pour faire clignoter la LED. Voici un exemple en python (La broche utilisée est la P11 nommée GPIO_17) :

import RPi.GPIO as GPIO
import time
# blinking function
def blink(pin):
        GPIO.output(pin,GPIO.HIGH)
        time.sleep(1)
        GPIO.output(pin,GPIO.LOW)
        time.sleep(1)
        return
# to use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BOARD)
# set up GPIO output channel
GPIO.setup(11, GPIO.OUT)
# blink GPIO17 50 times
for i in range(0,50):
        blink(11)
GPIO.cleanup()
Ce contenu a été publié dans Raspberry pi, avec comme mot(s)-clé(s) , , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.