Modifications

Sauter à la navigation Sauter à la recherche
1 418 octets ajoutés ,  16 octobre 2017 à 02:24
Ligne 4 : Ligne 4 :  
{{bloc-etroit|text=Nous vous avons montré comment brancher le MCP23017... nous n'allons pas vous laisser là avec le circuit et un "bonne chance".
 
{{bloc-etroit|text=Nous vous avons montré comment brancher le MCP23017... nous n'allons pas vous laisser là avec le circuit et un "bonne chance".
   −
Nous allons maintenant nous pencher sur la bibliothèque pour le MCP23008 et MCP23017 disponible sur le [https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code dépôt GitHub Python pour Raspberry produit par d'AdaFruit]. Le plus facile, c'est d'utiliser [http://wiki.mchobby.be/index.php?title=Pi-WebIde WebIDE], l'environnement super pratique d'AdaFruit, qui pointe déjà automatiquement sur le dépôt GitHub d'AdaFruit.
+
Nous allons maintenant nous pencher sur la bibliothèque pour le MCP23008 et MCP23017 disponible sur le [https://github.com/adafruit/Adafruit_Python_GPIO dépôt GitHub Python pour Raspberry produit par d'AdaFruit]. Le plus facile, c'est d'utiliser [http://wiki.mchobby.be/index.php?title=Pi-WebIde WebIDE], l'environnement super pratique d'AdaFruit, qui pointe déjà automatiquement sur le dépôt GitHub d'AdaFruit.
    
Une fois que vous avez ouvert WebIDE dans votre Navigateur, vous pouvez simplement cliquer sur les répertoires et noms suivants dans la barre de navigation à gauche:
 
Une fois que vous avez ouvert WebIDE dans votre Navigateur, vous pouvez simplement cliquer sur les répertoires et noms suivants dans la barre de navigation à gauche:
Ligne 16 : Ligne 16 :  
{{ADFImage|Rasp-Hack-MCP230XX-Librairie-01.jpg}}
 
{{ADFImage|Rasp-Hack-MCP230XX-Librairie-01.jpg}}
   −
Si vous ne disposez de WebIDE, vous pouvez [https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code télécharger toute la bibliothèque directement depuis le dépôt GitHub d'AdaFruit]  
+
Si vous ne disposez de WebIDE, vous pouvez [https://github.com/adafruit/Adafruit_Python_GPIO télécharger toute la bibliothèque directement depuis le dépôt GitHub d'AdaFruit]  
    
Le fichier Adafruit_MCP230xx.py contient à la fois:
 
Le fichier Adafruit_MCP230xx.py contient à la fois:
Ligne 44 : Ligne 44 :  
Une fois dans l'éditeur nano, encodez le code suivant:
 
Une fois dans l'éditeur nano, encodez le code suivant:
   −
<nowiki>#!/usr/bin/python
+
<syntaxhighlight lang="python">
 +
#!/usr/bin/python
 
# -*- encoding: utf8 -*-
 
# -*- encoding: utf8 -*-
 
from Adafruit_MCP230xx import *
 
from Adafruit_MCP230xx import *
Ligne 71 : Ligne 72 :  
while (True):
 
while (True):
 
   mcp.output(0, 1) # Mettre la broche 0 à l'état HAUT/High
 
   mcp.output(0, 1) # Mettre la broche 0 à l'état HAUT/High
   time.sleep(1);
+
   time.sleep(1)
 
   mcp.output(0, 0) # Mettre la broche 0 à l'état BAS/Low
 
   mcp.output(0, 0) # Mettre la broche 0 à l'état BAS/Low
   time.sleep(1);</nowiki>  
+
   time.sleep(1)
 +
</syntaxhighlight>
    
Sauvez le code et quitter nano
 
Sauvez le code et quitter nano
Ligne 88 : Ligne 90 :       −
== xxxx ==
+
== Error accessing 0x20 ==
Lors de nos tests, nous vous obtenez le message d'erreur suivant:
+
Lors de nos tests, avons obtenu le message d'erreur suivant:
  <nowiki></nowiki>
+
  <nowiki>Error accessing 0x20:check your I2C address
 +
Error accessing 0x20:check your I2C address
 +
Error accessing 0x20:check your I2C address
 +
Error accessing 0x20:check your I2C address
 +
Error accessing 0x20:check your I2C address
 +
Error accessing 0x20:check your I2C address</nowiki>
   −
Ce dernier se produit lorsque la bibliothèque n'est pas capable de détecter la version du Pi... mais c'est très facile à résoudre.
+
Ce dernier se produit lorsque la bibliothèque n'est pas capable de détecter correctement la révision de votre Pi... mais c'est un problème très facile à contourner.
   −
Lorsque la bibliothèque ne sait pas détecter la révision du pi  
+
Lorsque la bibliothèque ne sait pas détecter la révision du pi, elle utilise le Bus I2C sur la broche numéro 0 (correspondant au Raspberry-Pi 256Mb). Le hic, c'est que la majorité des Raspberry actuels sont des modèles 51Mb Modèle B Révision 2 utilisant le Bus I2C sur la broche numéro 1.
   −
{{traduction}}
+
Par conséquent, essayer d'adresser le périphérique I2C à l'adresse 0X20 sur la mauvaise broche du bus I2C ne peut que produire une erreur.
 +
 
 +
=== Fixons le bus à utiliser ===
 +
Pour résoudre le problème, il suffit simplement de fixer la broche du bus I2C.
 +
 
 +
Editez le fichier Adafruit_I2C.py avec la commande
 +
 
 +
nano Adafruit_I2C
 +
 
 +
et modifiez le paramètre '''busnum''' de la ligne suivante
 +
 
 +
  def __init__(self, address, busnum=-1, debug=False):
 +
 
 +
pour la fixer de la valeur -1 (auto-détection) à '''la valeur 1''' (valeur correspondant au Raspberry 512Mb modèle B rev 2)
 +
 
 +
  def __init__(self, address, busnum=1, debug=False):
 +
 
 +
Voila, il ne reste qu'à sauver et retester votre programme ''mcp23017_test.py''
    
== Créer une instance de Adafruit_MCP230xx ==
 
== Créer une instance de Adafruit_MCP230xx ==
Ligne 190 : Ligne 214 :     
== Exemple en vidéo ==
 
== Exemple en vidéo ==
 +
Voici la vidéo correspondant au programme de test ''mcp23017_test.py''.
 +
 +
{{#Widget:Iframe
 +
|url=https://www.youtube.com/embed/TCdfEBJeh_A
 +
|width=420
 +
|height=315
 +
|border=0
 +
}}
 +
 
Dans l'exemple suivant, le code d'exemple essaye de basculer la broche GPIO aussi vite que possible... et si vous y branchez un oscilloscope vous devriez voir quelque-chose comme ce qui suit:  
 
Dans l'exemple suivant, le code d'exemple essaye de basculer la broche GPIO aussi vite que possible... et si vous y branchez un oscilloscope vous devriez voir quelque-chose comme ce qui suit:  
    
{{#Widget:Iframe
 
{{#Widget:Iframe
|url=http://www.youtube.com/embed/zBuMJ-R40N0
+
|url=https://www.youtube.com/embed/zBuMJ-R40N0
 
|width=420
 
|width=420
 
|height=315
 
|height=315
29 917

modifications

Menu de navigation