Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Raspberry Pi GPIO : controle d'une LED en Python ou avec Scratch

28 Janvier 2017 , Rédigé par cnickelfr Publié dans #Raspberry PI

Tout d'abord quelques mots sur les LEDs.

  • Le courant ne passe que dans un seul sens dans une LED. L'anode (connecteur long de la LED) doit être du côte du pôle + de la pile.
  • La tension minimale pour emmètre de la lumière est d'environ 2V.
  • Les LED courantes supportent au maximum un courant de 20mA. Il faut généralement associer un résistance sinon le courant est trop fort et détruit la diode
  • Pour calculer la valeur de la résistance à appliquer il faut utiliser la loi d'Ohm : U=RI. Par exemple :
    • avec une pile de 9V. R=U/I donc R=9/0,02 soit R=450 Ohm. Il faut au minimum une résistance de 450 Ohm
    • avec une pile de 1.5V , R=1.5/0.02 , une résistance de 75 Ohm suffit.
    • avec une alim de 3.5V (RasPI GPIO) : R=3,5/0,02, une résistance de 175 Ohm convient.
    • avec une alim de 5V : R=5/0.02, il faut au moins 250 Ohm

Voyons maintenant quelques infos sur le GPIO:

 Il y a 40 pins sur un raspberry PI3.

  • On peut les noter en fonction de leur position physique). Dans ce cas le pin1 correspond au pin en haut à gauche du GPIO (si on place le PI avec la prise d'alimentation en haut à gauche), le pin2 est juste a coté le pin3 sous le pin1 le 4 sous le 2 et ainsi de suite...
  • On peut aussi les noter en fonction de leur rôle (numérotation BCM) dans ce cas il faut avoir un schéma indiquant les positions.
Le montage :
  • Pin + : pin 11 (ou pin 17 si numérotation en BCM)
  • Pin ground : GND pin 9
  • Une résistance 330Ohms
  • Une diode
Contrôle en python
  • Pour pouvoir accéder au GPIO en python : sudo python
  • Importer la library pour le GPIO : import RPi.GPIO as GPIO
  • Pour utiliser les pins phyisiques : GPIO.setmode(GPIO.BOARD)
  • Pour indiquer quel pin est une sortie : GPIO.setup(11,GPIO.OUT)
  • Pour mettre le pin ON : GPIO.output(11,True)
    ou : GPIO.output(11,1)
  • Pour mettre le pin OFF : GPIO.output(11,False)
    ou : GPIO.output(11,0)
  • Pour faire un reset du GPIO a la fin du programme : GPIO.cleanup()

On peut mettre tout ça dans un script python (sudo nano monscript.py). Ne pas oublier sudo python pour pouvoir accéder au GPIO :

#script blink.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
diode=17
GPIO.setup(diode,GPIO.OUT)

while(True):
        GPIO.output(diode,True)
        time.sleep(0.1)
        GPIO.output(diode,False)
        time.sleep(0.1
)

Contrôler le GPIO avec Python

Un article détailllé en français

Avec Scratch

Copie d'écran avec scrot -cd 10 /home/pi/myscreen.png

Contrôler le GPIO avec scratch

Un article détaillé en français

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article