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 == |