Ce tutoriel porte sur un simple circuit de feux de circulation utilisant les broches GPIO programmables via Python. Dans le prochain tutoriel, nous allons étendre le circuit par quelques fonctions (dont une entrée).
Accessoires
Nous avons besoin de ce qui suit :
- Breadboard
- câble jumper
- LED rouge vert jaune
- Transistors (BC547)
- Résistances (470 Ω et 10k Ω)
- Câble régulier (par exemple pour le Jardin)
Préparation
Dans un premier temps, nous devons mettre à jour les progiciels et les chemins d’accès.
sudo apt-get update sudo apt-get upgrade
Pour que la bibliothèque fonctionne correctement par la suite, nous avons besoin de python-dev.
sudo apt-get install python-dev
Ensuite, nous chargeons la bibliothèque Python GPIO (la version la plus récente est disponible ici, peut-être une version d’adaptation : https://pypi.python.org/pypi/RPi.GPIO)
sudo wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.6.1.tar.gz
Décompresser maintenant
tar zxvf RPi.GPIO-*
puis passez à l’annuaire
cd RPi.GPIO-*
La bibliothèque peut maintenant être installée.
sudo python setup.py install
S’il s’agit d’erreurs, elles sont indiquées dans les commentaires. Heureusement, la plupart des erreurs sont assez bien décrites.
Installation
Le montage du premier circuit ressemble à ceci :
Remarque : chaque LED a un bout long et un bout court. Le plus long appartient au Positif (3,3V), le plus court au Négatif (GND). En tant que résistance en série, la LED obtient 470 Ω.
Un transistor fonctionne de telle manière que dès que la broche centrale est alimentée, la ligne est libérée de gauche à droite. Cependant, pour s’assurer que la puissance n’est pas trop élevée, nous allons commuter une résistance de 10k Ω.
Avant de connecter les câbles au Pi, vérifiez à nouveau le circuit.
Programmation
Une fois que tout est installé et connecté, nous avons besoin d’un script qui fait clignoter la LED. Nous créons un Script
sudo nano ampel_script1.py
avec le contenu suivant
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#Bibliotheken einbinden import RPi.GPIO as GPIO import time #GPIO Modus (BOARD / BCM) GPIO.setmode(GPIO.BOARD) #Richtung der GPIO-Pins festlegen (IN / OUT) GPIO.setup(26, GPIO.OUT) #unendliche Schleife while True: #Pin 26 HIGH Pegel GPIO.output(26, True) #eine halbe Sekunde warten time.sleep(0.5) #Pin 26 LOW Pegel GPIO.output(26, False) #eine halbe Sekunde warten time.sleep(0.5) |
Attention : Ici, c’est le numéro de l’épingle qui est important et non le numéro GPIO. Le numéro du pin est 26, alors que le pin GPIO est 07. Si le numéro GPIO doit être spécifié, la ligne 6 doit être lue :
GPIO.setmode(GPIO.BCM)
On sauvegarde et on quitte l’éditeur (CTRL + O, CTRL + X) et on exécute le script.
sudo python ampel_script1.py
Pour interrompre le script, appuyez sur CTRL + C.
Dans la deuxième partie, nous construisons les phases d’un feu de circulation.