Led
Posted on 20 février 2016
in Composants

Le raccordement d’un led se fait de la façon suivante:
- Raccordement du pied le plus court sur le GND
- Le pied le plus long sur une resistance, elle même connectée à la broche GPIO.
Les plages de tension des led sont les suivantes
La tension en entrée est 5V, en appliquant: (Ui-Uled)/I=R

Pour me simplifier la vie, j’ai créé une class Led qui permet:
- Déclarer la led sur un port
- Faire allumer/étendre la led pendant x seconde
- Clignoter la led à une fréquence y pendant x seconde
Voici la class.
Class-Led.zip (104 téléchargements)
#!/usr/bin/env python
#
# Class Led
#
# hub.bosseur@gmail.com
# http://aubonsurf.free.fr
# V1.0
######################################
import RPi.GPIO as GPIO
import time
VERSION="1.0"
class Led:
# Usage
# declaration: maLed=Led(PinUtiliser, ModeDeNumerotation)
# blink une fois pendant x seconde blinkOne(x)
# blink N fois de Xsecondes-1, Ysesconde-0 pendant un cycle temps blinking(x,y,temps)
# Allumer : maLed.switchOn()
# Eteindre : maLed.switchOff()
# Déclaration des E/S
def __init__(self, pinBZ,typeBoard):
self.pin_BZ=pinBZ
print ("Declaration led sur PIN"+str(self.pin_BZ))
if typeBoard=='BCM':
GPIO.setmode(GPIO.BCM)
#print ("BCM")
else:
GPIO.setmode(GPIO.BOARD)
#print ("BOARD")
GPIO.setup(self.pin_BZ, GPIO.OUT,initial=GPIO.LOW)
#Fonction qui fait un beep de X seconde
#usage : moBuzzer.beep(temps)
# Exemple : moBuzzer.beep(2)
#
def blink(self,x):
#print("blink led "+str(x)+" secondes")
GPIO.output(self.pin_BZ, GPIO.HIGH)
time.sleep(x)
GPIO.output(self.pin_BZ, GPIO.LOW)
def blinking(self,x=1,y=1,temps=30):
debut = time.time()
test=True
while test:
GPIO.output(self.pin_BZ, GPIO.HIGH)
time.sleep(x)
GPIO.output(self.pin_BZ, GPIO.LOW)
time.sleep(x)
if (time.time()-debut)>temps:
test=False
def switchOn(self):
GPIO.output(self.pin_BZ, GPIO.HIGH)
def switchOff(self):
GPIO.output(self.pin_BZ, GPIO.LOW)
def version(self):
print (VERSION)
def clean(self):
GPIO.cleanup()
Le programme de test :
#!/usr/bin/env python
#
# test Class Led
#
# hub.bosseur@gmail.com
# http://aubonsurf.free.fr
######################################
import RPi.GPIO as GPIO
import led
#Declaration de la led sur le port GPIO 25
maLed=led.Led(25,"BCM")
#La version de la Class
print (maLed.version())
#Je fais clignoter la led, 5 secondes allumée
maLed.blink(5)
#Je fais clignoter pendant 30 secondes 1s haut, 2s bas
maLed.blinking(1,2,30)
#Je libère les GPIO avant de partir
maLed.clean()
Si les GPIO du Raspberry pi ne suffisent pas, sachez qu’il est possible d’en rajouter jusqu’à 16*7 (112) en utilisant un gpio expander I2C tel que le MCP23008 ou le MCP23017.