mini-projet : Clignotement LED  [RESOLU]

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

Répondre
spedy34
Messages : 21
Enregistré le : jeu. 24 mars 2016 19:30

mini-projet : Clignotement LED

Message par spedy34 » mer. 15 nov. 2017 22:30

Bonjour, j'ai pour projet de faire clignoter 3 LED avec une seconde de pause entre chaque LED.
Mon problème c'est que la première LED s'allume bien, la seconde ne s'allume jamais, et la troisième s'allume bien. Alors, pourquoi ma deuxième LED ne s'allume pas ?

J'utilise 3 LED, une Verte, Rouge et Jaune,
3 Résistances de 100 ohm chacune.

Voici ce que j'ai effectué :
- Changement de la résistance
- Changement de la LED
- Changement de GPIO
- Changement du câble

Mon code a l'air correct, puisque lorsqu'il passe par la deuxième LED (la rouge qui ne s'allume pas) il effectue bien le print dans la console.
Voici mon code :

Code : Tout sélectionner

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import RPi.GPIO as GPIO
import time

# Déclaration des variables, LED verte sur le port GPIO 17, Rouge sur 21 et Jaune sur 22
ledVert=17
ledRouge=21
ledJaune=22

# Initialisation des GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(ledVert, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(ledRouge, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(ledJaune, GPIO.OUT, initial=GPIO.LOW)

# Début de la boucle infinie

while True:
        try:

 # Allume LED verte

                GPIO.output(ledVert,GPIO.HIGH)
                print ("Allume: Vert")
                time.sleep(1)
# Attends 1 seconde, puis éteint la LED verte

                GPIO.output(ledVert,GPIO.LOW)

# Allume la LED rouge

                GPIO.output(ledRouge,GPIO.HIGH)
                print ("Allume: Rouge")
                time.sleep(1)

# Attends 1 seconde, puis éteint la LED rouge

                GPIO.output(ledRouge,GPIO.LOW)

# Allume la LED jaune
                
                GPIO.output(ledJaune,GPIO.HIGH)
                print ("Allume: Jaune")
                time.sleep(1)

# Attends 1 seconde, puis éteint la LED jaune

                GPIO.output(ledJaune,GPIO.LOW)

# Si il y a interruption par le clavier, on passe les GPIO à l'état 0 et on affiche EXIT.
                
        except KeyboardInterrupt:
                GPIO.cleanup()
                print ("EXIT !")
Je sèche... Pourquoi la led du millieu ne s'active pas ?

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: mini-projet : Clignotement LED

Message par guillaume9344 » jeu. 16 nov. 2017 07:23

Bonjour, 100homs c'est trop faible pour protéger le gpio et la led: (5v-1.5v)/100=45ma une led support en general 20ma max et le gpio du pi 1Il est fort possible d'avoir cramé la led et j’espère que le gpio a tenu mais je suis peu confiant........changez les resistances pour des 500homs .
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

jelopo
Raspinaute
Messages : 307
Enregistré le : mer. 11 oct. 2017 10:23

Re: mini-projet : Clignotement LED

Message par jelopo » jeu. 16 nov. 2017 08:32

Bonjour,

@guillaume9344, tout à coup j'ai un doute c'est pas 3,3V en sortie des GPIO ?
du coup ça ferait plutôt autour de18mA.

Ceci dit, il est toujours possible de mettre en manuel la résistance et le led sur la pin 1 GPIO (3,3v permanent) pour visualiser si celle ci fonctionne toujours ou pas.

A+

spedy34
Messages : 21
Enregistré le : jeu. 24 mars 2016 19:30

Re: mini-projet : Clignotement LED

Message par spedy34 » jeu. 16 nov. 2017 10:49

Bonjour merci pour vos réponse, non le GPIO n'est pas grillé il fonctionne quand je change les fils de place, les GPIO peuvent fournir au maximum du 3.3V oui.

La LED s'allume bien quand je la place sur la pin 1 GPIO en 3.3V permanent ! :)

PS : J'ai beau changer l'ordre d'allumage de mes LED dans mon code, il n'y a que la rouge qui ne s'allume pas.

EDIT : Après test à nouveau, je me rends compte que c'est bel et bien mon port GPIO 21 qui est grillé... Mais pourquoi ? Est-ce vraiment à cause de mes résistance si faible ? :(

jelopo
Raspinaute
Messages : 307
Enregistré le : mer. 11 oct. 2017 10:23

Re: mini-projet : Clignotement LED  [RESOLU]

Message par jelopo » jeu. 16 nov. 2017 11:25

Bonjour,
GPIO 21, est bien sur la broche 40 ?
Vérirife le brochage ici http://deusyss.developpez.com/tutoriels ... nEtLeGpio/

EDIT: le GPIO21 peut être utilisé par le SPI. C'est possible qu'il y ait conflit entre ton programme et le SPI?
Aller faire un tour dans "raspi-config" pour visualiser la conf SPI, même lien http que ci-dessus.
voir "II-D-4. Activation du SPI"

A+

spedy34
Messages : 21
Enregistré le : jeu. 24 mars 2016 19:30

Re: mini-projet : Clignotement LED

Message par spedy34 » jeu. 16 nov. 2017 11:39

jelopo a écrit :Bonjour,
GPIO 21, est bien sur la broche 40 ?
Vérirife le brochage ici http://deusyss.developpez.com/tutoriels ... nEtLeGpio/

EDIT: le GPIO21 peut être utilisé par le SPI. C'est possible qu'il y ait conflit entre ton programme et le SPI?
Aller faire un tour dans "raspi-config" pour visualiser la conf SPI, même lien http que ci-dessus.
voir "II-D-4. Activation du SPI"

A+
Wow merci pour votre réponse ! En fait je regardais un mauvais shéma depuis le début, je pensais que mon GPIO 21 était attribué à ma pin 13 !
Alors qu'en fait, la pin 13 c'est le GPIO 27 ! Et il fonctionne bel et bien quand je modifie mon code :)

Image

Une dernière question, désolé je ne suis pas très fort en électronique, la formule c'est bien U=R*I , donc pour connaitre la résistance c'est R=U/I ? Pourquoi on fait (3.3-1.5)/100 ce que je veux dire c'est d'où sort le 1.5V ?

jelopo
Raspinaute
Messages : 307
Enregistré le : mer. 11 oct. 2017 10:23

Re: mini-projet : Clignotement LED

Message par jelopo » jeu. 16 nov. 2017 12:34

Bonjour,

La tension en sortie du port GPIO est la somme de la tension aux bornes de led + celle de la résistance.
1,5v, c'est à peu près la différence de potentiel d'une led en fonctionnement normal. Donc, il reste 3,3-1,5V dans la résistance.
CQFD :)

A+

dyox
Raspinaute
Messages : 969
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: mini-projet : Clignotement LED

Message par dyox » jeu. 16 nov. 2017 12:36

Bonjour,

Voici un lien très pratique pour la compréhension : http://www.sonelec-musique.com/electron ... m_led.html
Le 1.5V c'est la tension nominale d'une led rouge, qui est d'ailleurs de 1.6V. La tension change aussi suivant la couleur.

Je rajouterai cette précision aussi : le courant maxi sur l’ensemble des GPIO est de 50mA et individuellement de 16mA.

spedy34
Messages : 21
Enregistré le : jeu. 24 mars 2016 19:30

Re: mini-projet : Clignotement LED

Message par spedy34 » jeu. 16 nov. 2017 12:53

Je vous remercie beaucoup pour toutes vos précisions ! :)

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: mini-projet : Clignotement LED

Message par guillaume9344 » jeu. 16 nov. 2017 18:59

Bonsoir un peut tard , il est vrais que j'ai fait une légère erreurs avec le 3.3v (je travail en ce moment sur des µc qui sortent du 5v... :?
mais les résistances sont quand même un peut fortes je pense , il n'est pas très bon d’être trop prés des limites.
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

Répondre

Retourner vers « Python »