vendredi 23 octobre 2015

Application sur Microprocesseur (Raspberry Pi's GPIO)


Application sur Microprocesseur (Raspberry Pi's GPIO) 







 On va essayer de se communiquer avec la Raspberry en touchant leurs entrées sorties ou autrement dit GPIO.       
GPIO c’est (General Purpose Input Output), parmi les avantages de notre  Raspberry l’inclusion d’une collection de connecteurs qui jouent l’interface entrée sortie avec le monde externe, ils sont des entrées sorties supplémentaires accessibles directement a la carte mère.
Le nombre de ces pattes se diffère de modèle à autre.

Il faut bien mettre en compte que les GPIO ne possèdent aucune protection. Il ne faut donc pas oublier d'utiliser des buffers ou des optocoupleurs si nous avons des doutes avec le montage.
Les modèles A et B possédaient un port GPIO à 26 points. Les modèles A+, B+ et B2 possèdent un port GPIO à 40 points, correspondant aux 26 points des modèles A/B plus 14 points supplémentaires. Un circuit conçu pour les versions A/B est donc compatible A+/B+/B2.
Concernant les modèles A et B, il y a eu plusieurs révisions. Le câblage du GPIO a été modifié entre ces différentes versions. Le GPIO des versions A et B que nous verrons ici correspond à la dernière révision, qui est également la plus répandue.
Les entrées-sorties sont de type CMOS, et fonctionnent donc en +3.3V. N'essayez surtout pas de brancher des circuits TTL (+5V) sur les entrées-sorties, sans adaptation. Vous risqueriez de détruire votre Raspberry Pi.


 
 L'ensemble de ces fonctionnalités peuvent être activées une à une selon nos besoins.
Il faut bien mettre en compte que il existe deux numérotations pour les GPIO expliquée au dessous:
Les GPIO.BOARD cette option elle nécessite l’utilisation de numérotation déjà imprimé sur la carte électronique. 
The GPIO.BCM  cette option elle annule la numérotation antécédente et elle va s’adresser avec les pins lisibles directement sur le pus ou Broadcom SOC channel .
 
Il est bien recommandé d’utiliser la première numérotation que le deuxième surtout en travaillant dans un projet qui inclut plus que la Raspberry seule.  

Sur la graphe suivante la numérotation BCM elle est celle la colorée en vert.




Comme il est indiqué sur la graphe de GPIO antécédente il existe plusieurs protocoles qu’on a connu avec des autres cartes électroniques déjà utilisée tels que le protocole I2C, UART,…. .
Ces protocoles seront pas automatiquement activées on aura besoin de les activés manuellement avant de les utilisées. Alors il faut réaliser les étapes suivantes avant :   
  • Ouvrons un terminal, depuis une interface graphique, et/ou lancons la commande suivante :

sudo raspi-config
  • Cela lance l'interface de configuration du Raspberry Pi, sélectionnons « Advanced Options » puis validons :


  • Sur le nouvel écran, sélectionnons « I2C » par exemple puis validons :

  • Répondons « Yes » à toutes les questions qui suivent.
  • Rebootons notre machine en tapant

sudo reboot
  • Testons que l'I2C est active avec la commande suivante :

lsmod | grep i2c_
Le même principe avec les restes de protocoles au but d’activer le protocole qu’on va utilisée selon la tache.
Aujourd’hui nous allons voir comment utiliser les entrées/sorties (GPIO) du Raspberry-pi pour interfacer du matériel extérieur (Diode LED). Pour ceci on va utiliser le langage de programmation Python dont nous allons faire la découverte avec un premier programme.
Découvrons Python d’abord:
Python en définition est un langage de programmation si simple. Le grand avantage de ce langage est qu’il sera interprété et non compilé.
 Ceci signifie qu’il n’y a pas besoin de compilateur pour commencer à programmer. Un simple éditeur de texte est capable de tout réalisée et puis exécuté directement en ligne de commande avec la console. Le Raspberry-pi elle est prête  par défaut de tout ce dont nous avons besoin pour programmer en Python.
Alors notre premier programme qu’on va réaliser c’est programmer une diode LED de façon a l’allumer puis l’éteindre.
Pour ceci il faut suivre les étapes suivantes :
·         Aller au répertoire  /home/pi  et créer une répertoire qu’on la nomme Travaux_pratiques et dedans un fichier texte nommé LED.py
·         Ecrire le programme si dessous dedans ( # s’écrit pour les commentaries)
Import RPi.GPIO as GPIO
#
appel au piblioteque GPIO
import time
# appel au timer
GPIO.setmode(GPIO.BOARD)
#l’utilisation de numérotation inclut sur la carte
GPIO.setup(12,GPIO.OUT)
#déclaration de port 12 comme etant sortie
GPIO.output(12,GPIO.HIGH)
# enclenchement en niveau haut de port 12
time.sleep(0.5)

·         On compte de gauche à droite. La broche 1 pour l’alimentation 3.3V, broche 2 correspond à l’alimentation 5V. La masse se trouve sur la broche 6. Les GPIO sont représentées avec les pastilles vertes. Dans notre code nous avons utilisé les broches 12 corresponde aux GPIO 16.
Prenons une diode LED, (éventuellement une résistance de 270 ohms) et quelques fils. Puis réaliser le câblage suivant sur une petite platine de test:




·         Maintenant après avoir tout verifier il nous reste qu’exécuter le programme et pour ceci il faut revenir au Terminal et taper
cd /home/pi/Travaux_Pratiques pour aller dans le répertoire qui contient votre programme
sudo python LED.py pour executer le programme

·         Et voila c’est tout on a réalisé notre objectif.

Si on cherche à éteindre la diode LED il suffit de changer HIGH par LOW.



Aucun commentaire:

Enregistrer un commentaire