Introduction

Dans ce cours on va voir comment lire la valeur d’un bouton poussoir sur la beaglebone black.

Beaglebone Black

La Beaglebone Black est une carte développée par Beaglebone. Elle fonctionne avec un processeur ARM Cortex A8.

La BeagleBoard est une carte électronique de type ordinateur à carte unique de faible puissance. Il s’agit d’un matériel libre produit par Texas Instruments en collaboration avec Digi-Key.

Cette carte BeagleBone est un ordinateur monocarte qui peut être utilisé comme un ordinateur autonome ou peut être intégré dans un système.

Circuit électronique

Voici le schéma électrique du bouton poussoir sur la carte beaglebone black. On a mit une résistance de pull up pour éviter les états indeterminés et forcer le signal à 0 quand vous n’appuyez pas sur le bouton :

Comment choisir la pin sur lequel brancher le bouton poussoir ?

Nous avons branché notre bouton poussoir sur une des GPIO (la “P8_17”) de la Beaglebone Black. Néanmoins vous souhaitez peut-être le brancher sur une autre pins. Pour cela on a il vous suffit de choisir une des GPIOS ci dessous :

Librairie GPIO

Pour pouvoir contrôler les entrées/sorties de la carte Beaglebone black , nous allons avoir besoin d’installer la librairie d’adafruit.  Pour cela on vous propose deux solutions, avec “pip” ou “git” :

Installation avec pip

La première étape est d’installer pip :

sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y

On installe ensuite la librairie d’Adafruit : 

sudo pip install Adafruit_BBIO

Voici une ligne de commande qui vous permet de savoir si votre librairie est bien installée : 

sudo python -c "import Adafruit_BBIO.GPIO as GPIO; print GPIO"

Voici le résultat que vous devriez obtenir en ayant tapé la commande : 

#Vous devriez avoir ce message 
<module 'Adafruit_BBIO.GPIO' from '/usr/local/lib/python2.7/dist-packages/Adafruit_BBIO/GPIO.so'>

Installation avec git

Avec git vous pouvez directement copier le projet depuis github :

git clone https://github.com/adafruit/adafruit-beaglebone-io-python.git

Une fois le projet téléchargé, on va rentrer dans le dossier :

cd adafruit-beaglebone-io-python

Puis on installe le fichier “setup.py” :

sudo python setup.py install

Une fois la librairie installée, on va supprimer notre dossier afin de garder de la place dans notre système. On sort donc du dossier :

cd ..

Une fois la librairie installée, on va supprimer notre dossier afin de garder de la place dans notre système. On sort donc du dossier :

sudo rm -rf adafruit-beaglebone-io-python

Lecture bouton poussoir

On va maintenant voir comment lire la valeur d’un bouton poussoir. 

Pour cela on va d’abord créer un fichier python et l’ouvrir :

nano bouton.py

Il faut ensuite copier ce programme dans votre programme :

import Adafruit_BBIO.GPIO as GPIO

bouton_poussoir ="P8_17" # Déclaration du bouton poussoir

GPIO.setup(bouton_poussoir,GPIO.IN) # Bouton pousoir comme une entrée

while (1) : # Boucle infinie 
    print((GPIO.input(bouton_poussoir))) # On affiche la valeur du bouton poussoir

Comme vous pouvez voir, nous avons fait une boucle infini pour que la lecture du bouton poussoir soit lu en continu.

Vous pouvez changer la pin “P8_17” par celle où vous avez placé votre bouton poussoir.

Une fois sauvegardé et fermé votre programme, la dernière chose qu’il à faire c’est de lancer celui-ci  :

python bouton.py

Une fois lancée vous devriez  voir une série de 0 ou de 1 selon si vous appuyez sur le bouton poussoir ou non :

0 #Bouton non appuye
0
0
0
0
1
1 # Bouton appuye
1
1