Skip to main content

Bonjour et bienvenu(e),

Ce tutoriel sera consacré à l’utilisation basique des entrées grâce au langage Python. Si vous êtes un parfait débutant, sachez que nous allons tout vous expliquer de A à Z afin que vous puissiez être en mesure de gérer vous-mêmes les entrées de votre Raspberry Pi à la fin de ce tutoriel.
Pour commencer, il faut savoir qu’en comparaison avec l’Arduino, le Raspberry Pi ne possède pas d’entrées analogiques par défaut. Concrètement, cela signifie que notre contrôleur ne sera pas en mesure d’interpréter le signal émis par un potentiomètre. En effet, il existe deux types de signaux : analogiques et digitaux. Le premier délivre une tension variable interprétée par un contrôleur équipé d’entrées analogiques qui convertit cette tension en une variable comprise entre 0 et 1024. Le second type de signal, le signal digital est plus simple. Il est de type « tout ou rien » ce qui signifie qu’il ne peut prendre que deux valeur : 1= HAUT ou 0= BAS

Lorsque cette partie du tutoriel aura été comprise, vous serez beaucoup plus à l’aise avec les termes que nous emploierons plus tard.

Commençons dès maintenant l’utilisation des entrées digitales.

Connectons un bouton comme le montre le schéma suivant sur notre Raspberry Pi :

Montage_tuto1_entrées

 

Ce qu’il faut savoir :

La valeur de la résistance est égale à 10kohms

 

Voilà pour le branchement, nous utiliserons ce montage tout au long du tutoriel.

Avant de commencer la programmation, il faut signaler que chaque broche du Raspberry Pi a un « numéro » attitré. Là où cela devient plus complexe, c’est que dans notre script, nous avons deux « bases » disponibles. C’est-à-dire que chaque broche à deux nombres différents qui peuvent l’identifier. Ces deux « bases », on les appelle BCM pour BroadCom (le nom du processeur qui équipe le Raspberry Pi) ou BOARD (Board = Plaque en anglais). Pourquoi ces deux noms différents ? Parce que le premier prend en compte l’identifiant de la broche sur la puce BroadCom tandis que le second, BOARD, ne prend en compte que les broches qui sont disponibles sur le connecteur Raspberry Pi 26 broches.

 

Ainsi, la première chose à faire dans un programme est de définir la base de référence. Tout d’abord, il va falloir installer la bibliothèque Python qui contient un ensemble de fonction permettant le contrôle de notre Raspberry Pi. Théoriquement, cette librairie est présente par défaut. Vérifions en écrivant ceci dans la console de votre Raspberry Pi :

sudo python
import RPi.GPIO as GPIO

Vous avez une erreur ? C’est que la librairie n’est pas installée. Il va falloir faire ceci :

Commencez par écrire ceci dans la console du raspberry :

sudo wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.7.tar.gz

Ensuite, écrivez ceci :

sudo tar zxf RPi.GPIO-0.5.7.tar.gz

Puis :

cd RPi.GPIO-0.5.7

Et enfin :

sudo python setup.py install

Ensuite, vous pouvez retenter les deux commandes suivantes :

sudo Python
Import RPi.GPIO as GPIO

Qui devraient fonctionner cette fois-ci. Dans le cas inverse, laisser un post sur le forum ou en commentaire.

Bien, votre IDLE Python est prêt. Nous allons pouvoir commencer à coder. Voici votre premier script que nous avons commenté comme il se doit afin que vous le compreniez

#On importe la librairie RPi.GPIO qui va nous permettre de contrôler les GPIO du Raspberry Pi

#Attention : Notez qu’on importe cette librairie en la renommant GPIO

import RPi.GPIO as GPIO

#On importe la librairie time, inclue par défaut avec Python et qui va nous permettre

#de faire des pauses dans le programme

Import time

#On dit au programme qu’on utilisera les identifiants associés au mode « Board » GPIO.setmode(GPIO.BOARD)

#L’identifiant de notre GPIO est 25 en mode « BCM » et 22 en mode « BOARD »

#On déclare donc la broche 22 en entrée (GPIO.IN)

GPIO.setup(22, GPIO.IN)

#On lit l’état du GPIO 22 qu’on stocke dans A

A = GPIO.input(22)

#On affiche A

Print(A)

#On utilise la librairie Time pour faire une pause de 0,5 sec

Time.sleep(500)

 

Voilà votre premier programme. En fait, l’ensemble des programmes qui utiliseront les entrées d’une manière basique auront toujours cette même forme.

Pour exécuter ce programme, il suffit de l’enregistrer et d’appuyer sur F5. Ensuite, vous remarquerez que la valeur de la variable « A » change lorsque le bouton est appuyé ou relâché.

Merci d’avoir suivi ce tutoriel, n’hésitez pas à laisser vos commentaires et à partager sur les réseaux sociaux si vous avez aimé.

Ce tutoriel sera ajouté dans la catégorie « Tutoriels Raspberry Pi », n’hésitez pas à laisser vos avis !

Fabien Aubret

Co-fondateur SimpleDuino, Co-fondateur SimpleDomo. Ingénieur de l'Ecole Nationale Supérieure des Arts Et Métiers (ENSAM). Passionné d'électronique, d'informatique et des nouvelles technologies en général, j'ai à cœur de transmettre ce que d'autres ont pu m'apprendre.

4 Comments

  • menerlach dit :

    Après réinstallation de « RPi.GPIO-0.5.7.tar.gz » pour l’entrée

    Import RPi.GPIO as GPIO

    j’obtiens

    File «  », line 1
    Import RPi.GPIO as GPIO
    ^
    SyntaxError: invalid syntax

    Ce n’est pas tout à fait du chinois, parce que ça me rappelle vaguement le pré-windows 3.1, l’époque héroïque du DOS, mais presque… En tout cas ça n’a pas l’air de fonctionner.

    • menerlach dit :

      Bizarrement ce qui était entre guillemets () a disparu ainsi que les espaces qui permettait à ^ d’être en dessous du i de RPi.GPIO…

      • menerlach dit :

        Je vois que ça a encore disparu alors je détaille: inférieur stdin supérieur.
        Apparemment tout ce qui est encadré par inférieur-supérieur disparait…

        • Fabien Aubret dit :

          Bonjour,
          Vous pouvez essayer de réinstaller la librairie RPi.GPIO grâce au gestionnaire de paquets grâce à la commande suivante:
          sudo apt-get update
          puis
          sudo apt-get -y install python-rpi.gpio

          Si vous utilisez Python 3, vous devrez utiliser cette commande:
          sudo apt-get -y install python3-rpi.gpio

          Avez-vous tenté d’importer la librairie RPi.GPIO directement de la manière suivante:
          import RPi.GPIO
          en retirant donc le « as GPIO » ?
          J’observe sur votre message que vous avez utilisé une majuscule pour « import », la syntaxe exacte étant « import » sans majuscules.

          A bientôt

Laisser un commentaire

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