Modifications

Sauter à la navigation Sauter à la recherche
1 730 octets ajoutés ,  14 avril 2013 à 20:20
Ligne 61 : Ligne 61 :  
Le programme MasterRegisterWriter.py établit une connexion avec l'esclave 0x04 (donc notre Arduino programmé avec SlaveListerner) et envoi une série de message.
 
Le programme MasterRegisterWriter.py établit une connexion avec l'esclave 0x04 (donc notre Arduino programmé avec SlaveListerner) et envoi une série de message.
   −
Le programme MasterRegisterWriter.py effectue les opérations d'envoi dans l'ordre suivant:
+
Le programme MasterRegisterWriter.py effectue les opérations suivant:
* xxx
+
* Demander le NO de version
* xxx
+
* Activer la LED pin 13
* xxx
+
* Demander une opération d'addition
 +
* Effectuer une centaine d'opération d'addition
 +
* désactiver la LED pin 13
    
=== Le programme ===
 
=== Le programme ===
Ligne 87 : Ligne 89 :  
# www.adafruit.com
 
# www.adafruit.com
   −
xxx</nowiki>
+
import time
 +
from Adafruit_I2C import Adafruit_I2C
 +
 
 +
i2c = Adafruit_I2C( 0x04 )
 +
 
 +
 
 +
# --- Demander le NO de version ---
 +
# Ecriture de la valeur 0x01 dans le registre 0
 +
i2c.write8( 0, 0x01 );
 +
time.sleep( 0.020 );
 +
print( i2c.readU8( 0x00 ) );
 +
 
 +
# 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 )
 +
 
 +
# --- Activer LED pin 13 ---
 +
i2c.write8( 0x01, 1 ); # Placer 1 (HIGH) dans registre 1
 +
time.sleep( 0.020 );
 +
i2c.write8( 0x00, 0x03 ); # ecriture instruction 0x03 dans registre d'execution
 +
time.sleep( 0.100 );
 +
 
 +
# --- Demander une operation d'addition ---
 +
# Ecriture de l'operant/valeur 25 dans le registre 1
 +
i2c.write8( 0x01, 25 );
 +
time.sleep( 0.020 );
 +
# Ecriture de l'operant/valeur 8 dans le registre 2
 +
i2c.write8( 0x02, 8 );
 +
time.sleep( 0.020 );
 +
# demander l'opération d'addition en écrivant la valeur 0x02 dans
 +
# le registre d'exécution 0
 +
i2c.write8( 0x00, 0x02 );
 +
time.sleep(0.100);
 +
print( i2c.readU8( 0x00 ) );
 +
 
 +
# --- Stress Test ---
 +
for i in range(100):
 +
        i2c.write8( 0x01, 25 );
 +
        time.sleep( 0.020 );
 +
        i2c.write8( 0x02, i );
 +
        time.sleep( 0.020 );
 +
        i2c.write8( 0x00, 0x02 ); # exec Addition
 +
        time.sleep( 0.020 );
 +
        print( "25 + " + str(i) + "=" + str(i2c.readU8( 0x00 )) );
 +
        time.sleep( 0.020 );
 +
 
 +
# --- Desactiver LED pin 13 ---
 +
i2c.write8( 0x01, 0 ); # Placer 0 (LOW) dans registre 1
 +
time.sleep( 0.020 );
 +
i2c.write8( 0x00, 0x03 ); # ecriture instruction 0x03 dans registre execution
 +
time.sleep( 0.100 );</nowiki>
    
== Executer le programme ==
 
== Executer le programme ==
   −
{{ambox-stop|text=Les résultats de ce programme sont principalement visible dans la session terminale de votre Raspberry Pi. Le programme Arduino est cependant susceptible d'envoyer quelques informations sur le "Moniteur Série" d'Arduino IDE.<br />N'oubliez donc pas de charger SlaverRegister sur votre Arduino et de démarrer le moniteur série.}}
+
{{ambox-stop|text=Les résultats de ce programme sont principalement visible dans la session terminal de votre Raspberry Pi. Le programme Arduino est cependant susceptible d'envoyer quelques informations sur le "Moniteur Série" d'Arduino IDE.<br />N'oubliez donc pas de charger SlaverRegister sur votre Arduino et de démarrer le moniteur série.}}
    
Le programme s'exécute simplement comme suit:
 
Le programme s'exécute simplement comme suit:
29 917

modifications

Menu de navigation