Modifications

Sauter à la navigation Sauter à la recherche
2 192 octets ajoutés ,  15 janvier 2018 à 10:49
Ligne 84 : Ligne 84 :     
=== NeoPixel sous 5.0V ===
 
=== NeoPixel sous 5.0V ===
Il est également possible d'alimenter les NeoPixels en 5V, ce qui permet d'obtenir des couleurs vives et stable en toutes circonstances.
+
Il est également possible d'alimenter les NeoPixels en 5V, ce qui permet d'obtenir des couleurs vives et stables en toutes circonstances.
    
Dans ce cas de figure, il faut aussi que le signal soit en 5V. Pour ce faire, un [http://df.mchobby.be/datasheet/74AHC125.pdf Level Shifter 74AHCT125] (pdf) est utiliser pour convertir le signal de 3.3v -> 5v.
 
Dans ce cas de figure, il faut aussi que le signal soit en 5V. Pour ce faire, un [http://df.mchobby.be/datasheet/74AHC125.pdf Level Shifter 74AHCT125] (pdf) est utiliser pour convertir le signal de 3.3v -> 5v.
Ligne 91 : Ligne 91 :     
[[Fichier:FEATHER-MICROPYTHON-NEOPIXEL-11.jpg|480px]]
 
[[Fichier:FEATHER-MICROPYTHON-NEOPIXEL-11.jpg|480px]]
 +
 +
== Sources ==
 +
Les sources et exemples sont disponibles sur GitHub.
 +
 +
Voir les liens suivants
 +
* La [https://github.com/mchobby/esp8266-upy/tree/master/neopixel section neopixel] du GitHub ESP8266-uPy
 +
* Le [https://github.com/mchobby/esp8266-upy GitHub ESP8266-uPy]
    
== Code d'exemple ==
 
== Code d'exemple ==
Ligne 126 : Ligne 133 :  
np[7] = (153, 255, 153) # vert pastel
 
np[7] = (153, 255, 153) # vert pastel
   −
# Envoyer l'info au NeoPixels
+
# Envoyer l'info aux NeoPixels
 
np.write()
 
np.write()
   Ligne 145 : Ligne 152 :  
np.fill( (0,0,0) )
 
np.fill( (0,0,0) )
 
np.write()
 
np.write()
 +
</syntaxhighlight>
 +
 +
== Effets Lumineux ==
 +
Le GitHub contient également un fichier nommé [https://github.com/mchobby/esp8266-upy/blob/master/neopixel/fxdemo.py fxdemo.py]. Ce dernier reprend différentes fonctions d'animation NéoPixel que vous pourriez utiliser dans vos propres projets.
 +
 +
Il est possible de tester ces effets en faisant un {{fname|import fxdemo}} depuis une session REPL.
 +
 +
A titre d'exemple, voici les différents appels de fonctions permettant de tester les effets lumineux.
 +
 +
<syntaxhighlight lang="python">
 +
# theater_chase sample
 +
theater_chase( np, (127,0,0) ) # red
 +
theater_chase( np, (127,127,127) ) # white
 +
theater_chase( np, (0,0,127) ) # blue
 +
clear( np )
 +
sleep( 1 )
 +
 +
# Wipe in color
 +
np.fill( (190, 0, 0) ) # fill in red
 +
np.write()
 +
wipe( np, (0,180,0), pause=0.150 ) # wipe in green
 +
wipe( np, (0,0,255), pause=0.150 ) # wipe in blue
 +
wipe( np, (0,0,0),  pause=0.150 ) # wipe in black
 +
sleep( 1 )
 +
 +
# Moving_rainbow
 +
for i in range( 4 ):
 +
moving_rainbow( np )
 +
clear( np )
 +
sleep( 1 )
 +
 +
# Fade In And Out
 +
fade_inout( np, (255,  0,  0) ) # Red
 +
fade_inout( np, (0  , 255,  0) ) # Green
 +
fade_inout( np, (0  ,  0, 255) ) # Blue
 +
clear( np )
 +
sleep( 1 )
 +
 +
# moving_wheel
 +
moving_wheel( np )
 +
clear( np )
 +
sleep( 1 )
 +
 +
# cycle_wheel
 +
for i in range(2):
 +
cycle_wheel( np )
 +
clear( np )
 +
sleep( 1 )
 +
 +
# Candle Effect
 +
candle( np )
 +
clear( np )
 +
sleep( 1 )
 +
 +
# Larson Scanner (K2000)
 +
#  execute 3 iterations
 +
posdir = None
 +
for i in range( 3 ):
 +
posdir = larson_scanner( np, posdir )
 +
clear( np )
 +
sleep( 1 )
 
</syntaxhighlight>
 
</syntaxhighlight>
    
== Ressouces ==
 
== Ressouces ==
 +
* [https://github.com/mchobby/esp8266-upy/blob/master/neopixel/ Le GitHub ESP8266-uPy/NeoPixel] avec code d'exemple et schéma de montage.
 
* [http://docs.micropython.org/en/v1.8.2/esp8266/esp8266/tutorial/neopixel.html Référence officielle NeoPixel sous ESP8266]
 
* [http://docs.micropython.org/en/v1.8.2/esp8266/esp8266/tutorial/neopixel.html Référence officielle NeoPixel sous ESP8266]
 
* Le [[NeoPixel-UserGuide|tutoriel NeoPixel pour Arduino]] contenant de nombreuses '''informations et recommandations'''.
 
* Le [[NeoPixel-UserGuide|tutoriel NeoPixel pour Arduino]] contenant de nombreuses '''informations et recommandations'''.
Ligne 154 : Ligne 223 :  
La couleur bleue est difficile à produire sous 3.3V.
 
La couleur bleue est difficile à produire sous 3.3V.
   −
Par conséquent, `np.write( (0,0,255) )` ne produit pas vraiment de couleur.  
+
Par conséquent, {{fname|np.write( (0,0,255) )}} ne produit pas vraiment de couleur.  
    
C'est parce que le Forward Voltage d'une LED bleue est d'environ 2.8V (typiquement 3.2V). Avec une source d'alimentation de 3.3V, le tension est un peu faible pour activer une led bleue. Nous sommes à la limite pour pouvoir produire du Bleu.  
 
C'est parce que le Forward Voltage d'une LED bleue est d'environ 2.8V (typiquement 3.2V). Avec une source d'alimentation de 3.3V, le tension est un peu faible pour activer une led bleue. Nous sommes à la limite pour pouvoir produire du Bleu.  
   −
Il est parfois plus efficace de produire un bleu en mi-brillances avec `np.write( (0,0,128) )` ou bleu en quart-de-brillance avec `np.write( (0,0,64) )`
+
Il est parfois plus efficace de produire un bleu en mi-brillances avec {{fname|np.write( (0,0,128) )}} ou bleu en quart-de-brillance avec {{fname|np.write( (0,0,64) )}}
    
=== Limite du régulateur de tension ===
 
=== Limite du régulateur de tension ===
   −
De même, nous avons remarqué que le régulateur de tension d'un ESP8266 ne produit pas vraiment assez de courant pour l'ESP8266 + le contrôler de 8 LEDs NeoPixels. Par conséquent l'utilisation d'une alimentation externe 3.3v pour alimenter les NeoPixels est le bienvenue.  
+
De même, nous avons remarqué que le régulateur de tension d'un ESP8266 ne produit pas vraiment assez de courant pour l'ESP8266 + le contrôler de 8 LEDs NeoPixels.
 +
 
 +
Placer les 8 LEDs en blanc pur {{fname|(255,255,255)}} consomme quand même 250mA sous 5v! Par conséquent, l'utilisation d'une alimentation externe 3.3v pour alimenter les NeoPixels est le bienvenue. Si vous avez un 74AHCT125 sous ma main, vous pouvez même opter pour une alimentation NeoPixel sous 5V :-)
   −
Ne pas oublier d'avoir une masse commune (référentiel de tension) entre l'alimentation NeoPixel et l'ESP8266.
+
{{ambox|text=Ne pas oublier d'avoir une masse commune (référentiel de tension) entre l'alimentation NeoPixel et l'ESP8266.}}
    
A noter que si le régulateur de tension peine à founir le courant nécessaire alors sa tension chutera un peu (de 3.3v à 3.1v), ce qui aura pour effet de produire un effet de scintillement sur les LEDs.
 
A noter que si le régulateur de tension peine à founir le courant nécessaire alors sa tension chutera un peu (de 3.3v à 3.1v), ce qui aura pour effet de produire un effet de scintillement sur les LEDs.
Ligne 170 : Ligne 241 :  
=== Utiliser le régulateur de l'ESP8266 ===
 
=== Utiliser le régulateur de l'ESP8266 ===
   −
Le régulateur de la plateforme ESP8266 sera néanmoins suffisant pour commander quelques NeoPixels. Dans ce cas, il est préférable de:
+
Le régulateur 3.3V de la plateforme ESP8266 sera néanmoins suffisant pour commander quelques NeoPixels. Dans ce cas, il est préférable de:
 
* ne pas êtres pas trop exigeant sur la qualité des couleurs (utiliser des couleurs en mi-brillance)
 
* ne pas êtres pas trop exigeant sur la qualité des couleurs (utiliser des couleurs en mi-brillance)
 
* s'attendre à des scintillements lors d'un charge plus importante en courant (lorsque l'on affiche du blanc ou des couleurs vive).
 
* s'attendre à des scintillements lors d'un charge plus importante en courant (lorsque l'on affiche du blanc ou des couleurs vive).
Ligne 178 : Ligne 249 :  
* Le {{pl|407|NeoPixel Stick}} utilisé dans ce tutoriel.
 
* Le {{pl|407|NeoPixel Stick}} utilisé dans ce tutoriel.
 
* La {{cl|55|la gamme NeoPixel}} disponible chez MC Hobby
 
* La {{cl|55|la gamme NeoPixel}} disponible chez MC Hobby
 +
* Un {{pl|1041|74AHCT125}} Level Shifter
    
<hr />
 
<hr />
29 917

modifications

Menu de navigation