Modifications

Sauter à la navigation Sauter à la recherche
3 062 octets ajoutés ,  6 avril 2013 à 21:56
Ligne 18 : Ligne 18 :     
doit afficher une liste de fichiers où vous devez trouver '''Adafruit_I2C.py'''
 
doit afficher une liste de fichiers où vous devez trouver '''Adafruit_I2C.py'''
 +
 +
=== Préparation pour MasterWriter.py ===
 +
Le programme MasterWriter.py va importer le Adafruit_I2C.py, il est donc capital que ce fichier soit accessible depuis MasterWriter.py.
 +
 +
Il y a deux solutions possibles:
 +
# copier Adafruit_I2C.py dans le même répertoire que le programme MasterWriter.py (que nous allons créer).
 +
# créer un lien symbolique vers Adafruit_I2C.py depuis le répertoire où sera stocké notre programme  MasterWriter.py . 
 +
 +
La deuxième option est de loin la plus propre et évitera la prolifération des version de Adafruit_I2C sur votre Pi.
 +
 +
Le commandes suivantes permettent créer le répertoire de stockage pour MasterWriter.py , voici la marche à suivre:
 +
 +
<nowiki>cd ~
 +
mkdir ArdPi-I2C
 +
cd ArdPi-I2C
 +
mkdir Pi
 +
cd Pi
 +
mkdir MasterWriter
 +
cd MasterWriter</nowiki>
 +
 +
Voila, maintenant nous allons créer un lien symbolique vers la source Adafruit_I2C que vous avez déjà installé sur votre pi
 +
 +
<nowiki>cd ~/ArdPi-I2C/Pi/MasterWriter
 +
ln -s ../../../Adafruit-Raspberry-Pi-Python-Code/Adafruit_I2C/Adafruit_I2C.py </nowiki>
 +
 +
Ne reste plus qu'à créer notre programme MasterWriter.py à l'aide de la commande:
 +
 +
<nowiki>cd ~/ArdPi-I2C/Pi/MasterWriter
 +
nano MasterWriter.py</nano>
 +
 +
Vous pouvez alors taper le code du programme (voir ci-dessous).
 +
 +
Vous pouvez également utiliser la [[PI-Easy-Copy-Paste|méthode Pi-Copier/Pi-Coller]] pour copier/coller facilement le code dans '''MasterWriter.py'''
    
== Programme MasterWriter.py ==
 
== Programme MasterWriter.py ==
    +
<nowiki>#!/usr/bin/env python
 +
# -*- coding: latin-1 -*-
 +
 +
# === ArduPi-I2C ================================================
 +
# Communication entre Arduino et Raspberry Pi via le BUS I2C
 +
# ===============================================================
 +
# Tutoriel: http://mchobby.be/wiki/index.php?title=ArduPi-I2C
 +
 +
# Programme Master qui envoi des données données vers un Arduino
 +
# S'utilise avec le programme Arduino SlaveListerner.ino
 +
#
 +
# Ecrit par D. Meurisse pour MCHobby.be
 +
# www.mchobby.be - Vente de kit et composant Arduino et Raspberry Pi
 +
# Licence CC-BY-SA
 +
#
 +
# Basé sur Adafruit_I2C.py librairie Python écrite par AdaFruit Industries
 +
# www.adafruit.com
 +
 +
import time
 +
from Adafruit_I2C import Adafruit_I2C
 +
 +
i2c = Adafruit_I2C( 0x04 )
 +
 +
# Ecriture de deux bytes, le registre (ici à 0) et la valeur hexa 0x40
 +
i2c.write8( 0, 0x40 )
 +
 +
# Donner un delais au périphérique I2C pour qu'il soit prêt a recevoir
 +
# une nouvelle communication... sinon on recoit l'erreur
 +
#  Error accessing 0x04: Check your I2C address
 +
time.sleep( 0.100 )
 +
 +
# Ecriture d'une liste de bytes
 +
# d'abord le registre 0x35 (soit le caractère ascii 5)
 +
# Ensuite les caratères abc convertis en bytes à l'aide de la fonctino ord
 +
# Finalement la valeur 110
 +
i2c.writeList( 0x35, [ord('a'),ord('b'),ord('c'),110] )
 +
 +
time.sleep( 0.100 )
 +
 +
# Exemple plus élaboré
 +
# Le dernier caractère est destiné à recevoir un byte
 +
__liste = list()
 +
__texte = 'valeur= '
 +
for i in range( len(__texte) ):
 +
        __liste.append(ord(__texte[i]))
 +
 +
 +
for i in range(3):
 +
        __liste[len(__liste)-1] = i
 +
        i2c.writeList( 0x35, __liste )
 +
        time.sleep(0.100)</nowiki>
    
{{ArduPi-I2C-TRAILER}}
 
{{ArduPi-I2C-TRAILER}}
29 917

modifications

Menu de navigation