Modifications

Sauter à la navigation Sauter à la recherche
2 222 octets ajoutés ,  14 avril 2013 à 19:55
Ligne 87 : Ligne 87 :  
# 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 ) );
 +
# --- 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 ==
30 894

modifications

Menu de navigation