Modifications

Sauter à la navigation Sauter à la recherche
2 300 octets ajoutés ,  18 novembre 2018 à 09:05
Ligne 1 : Ligne 1 : −
{{traduction}}
  −
   
== Introduction ==
 
== Introduction ==
 
MOD-RGB est une carte d'interface d'Olimex utilisant le port UEXT.
 
MOD-RGB est une carte d'interface d'Olimex utilisant le port UEXT.
Ligne 14 : Ligne 12 :  
* Cavalier pour alimenter la carte via UEXT
 
* Cavalier pour alimenter la carte via UEXT
 
* Connecteur UEXT
 
* Connecteur UEXT
 +
 +
=== Stabilité sous MicroPython ===
 +
{{ambox-stop|text=La communication I2C avec le module MOD-RGB peut présenter une instabilité sous MicroPython. [https://www.olimex.com/forum/index.php?topic=6721.0 Un ticket est ouvert sur les forums d'Olimex à ce sujet]. }}
    
== Matériel utilisé ==
 
== Matériel utilisé ==
Ligne 94 : Ligne 95 :  
Le script {{fname|stress.py}} permet de stresser le contrôleur en modifiant continuellement les couleurs.
 
Le script {{fname|stress.py}} permet de stresser le contrôleur en modifiant continuellement les couleurs.
   −
== Fonctionnalité du MOD-RGB ==
+
== Code ==
 +
=== BUS I2C ===
 +
La carte MOD-RGB utilise le bus I2C (adresse par défaut est 0x20) pour communiquer avec le MicroContrôleur.
 +
 
 +
Ce bus I2C est disponible sur le connecteur UEXT de notre ESP8266-EVB comme le montre le tableau suivant.
 +
 
 +
[[Fichier:ESP8266-DEV-12.jpg|480px]]
 +
 
 +
En adaptant le code (et les raccordements du bus I2C), vous pourriez tout aussi facilement faire fonctionner des cartes ESP8266 comme {{pl|67|Feather ESP8266 Huzza}} ou {{cl|121|Wemos D1}} ou même {{pl||MicroPython Pyboard}}.
 +
 
 +
=== Fonctionnalité du MOD-RGB ===
    
<syntaxhighlight lang="python"># Utilisation du MOD-RGB d'Olimex avec un ESP8266 sous MicroPython
 
<syntaxhighlight lang="python"># Utilisation du MOD-RGB d'Olimex avec un ESP8266 sous MicroPython
Ligne 125 : Ligne 136 :  
rgb.black()
 
rgb.black()
 
print( "That's the end folks")</syntaxhighlight>
 
print( "That's the end folks")</syntaxhighlight>
 +
 +
Le fichier d'exemple {{fname|textfx.py}} utilise la bibliothèque complémentaire {{fname|rgbfx.py}} pour proposer des animations lumineuses.
 +
 +
<syntaxhighlight lang="python"># Effet RGB avec MOD-RGB d'Olimex avec un ESP8266 sous MicroPython
 +
#
 +
# Shop: http://shop.mchobby.be/product.php?id_product=1410
 +
# Wiki: https://wiki.mchobby.be/index.php?title=MICROPYTHON-MOD-RGB
 +
 +
from machine import I2C, Pin
 +
from time import sleep_ms
 +
from modrgb import MODRGB
 +
import rgbfx
 +
 +
i2c = I2C( sda=Pin(2), scl=Pin(4) )
 +
rgb = MODRGB( i2c ) # adresse par défaut=0x20
 +
rgb.pwm( True )
 +
 +
# Couleur en rose
 +
rose = (255, 102, 204)
 +
rgb.set_rgb( rose )
 +
sleep_ms( 1000 )
 +
 +
# Effet de chandelle
 +
rgb.pwm( True )
 +
rgbfx.candle( rgb )
 +
rgb.pwm( False )
 +
sleep_ms( 1000 )
 +
 +
# Fade-in / Fade-out
 +
rgb.pwm( True )
 +
rgbfx.fade_inout( rgb, rose )
 +
rgb.pwm( False )
 +
sleep_ms( 1000 )
 +
 +
# Roue des couleurs cyclique
 +
rgb.pwm( True )
 +
rgbfx.cycle_wheel( rgb )
 +
rgb.pwm( False )
 +
sleep_ms( 1000 )
 +
 +
# Désactivé
 +
rgb.pwm( False )
 +
print( "That's the end folks")</syntaxhighlight>
 +
 +
== Changer l'adresse I2C de la carte MOD-RGB ==
 +
L'exemple suivant montre comment changer l'adresse courante de la carte MOD-RGB (0x20) vers 0x22.
 +
 +
ATTENTION: Il faut avoir le cavalier fermé pendant l'exécution de la commande {{fname|change_address()}} .
 +
 +
<syntaxhighlight lang="python"># Modifier l'adresse de MOD-RGB d'Olimex vers 0x22
 +
#
 +
# Shop: http://shop.mchobby.be/product.php?id_product=1410
 +
 +
from machine import I2C, Pin
 +
from modrgb import MODRGB
 +
 +
i2c = I2C( sda=Pin(2), scl=Pin(4) )
 +
brd = MODRGB( i2c, addr=0x20 )
 +
brd.change_address( 0x22 )</syntaxhighlight>
    
== Où acheter ==
 
== Où acheter ==
Ligne 131 : Ligne 201 :  
* {{pl|1412|UEXT Splitter}}
 
* {{pl|1412|UEXT Splitter}}
 
* {{pl|144|Câble console}}
 
* {{pl|144|Câble console}}
  −
https://github.com/mchobby/esp8266-upy/tree/master/modrgb
 
29 837

modifications

Menu de navigation