Modifications

Sauter à la navigation Sauter à la recherche
aucun résumé de modification
Ligne 2 : Ligne 2 :     
== Question - Réponse ==
 
== Question - Réponse ==
 +
=== Combien de pixels sur un Arduino Uno ===
 +
{{bloc-etroit|text=La façon de gérer les pixels nécessite l'usage d'une mémoire tampon (buffer) pour mémoriser tous les éléments du ruban/strip. Souvent, sur Arduino UNO il ne reste que 500 octets/bytes libre une fois tous les extras ajouter au projet.
 +
 +
500 bytes, c'est assez pour contrôler 150 pixels. Si vous désirez piloter un strip/ruban complet en utilisant des librairies complémentaires, vous pourriez avoir besoin d'un Mega (voir ce tuto sur la comparaison de la mémoire SRAM).}}
 +
 
===  Mon code servo sur Arduino arrête de fonctionner lorsqu'il est combiné avec NeoPixels! ===
 
===  Mon code servo sur Arduino arrête de fonctionner lorsqu'il est combiné avec NeoPixels! ===
 
{{bloc-etroit|text=Malheureusement, les bibliothèques NéoPixel et servo ne fonctionne pas très bien ensemble; La première ayant besoin de désactiver les interruptions de façon périodique et la deuxième en a absolument besoin pour fonctionner. Vous avez néanmoins quelques alternative:
 
{{bloc-etroit|text=Malheureusement, les bibliothèques NéoPixel et servo ne fonctionne pas très bien ensemble; La première ayant besoin de désactiver les interruptions de façon périodique et la deuxième en a absolument besoin pour fonctionner. Vous avez néanmoins quelques alternative:
Ligne 46 : Ligne 51 :  
Le WS2811 est une puce de pilotage séparé de la LED RGB. Le signal de donnée est similaire mais fonctionne à la moitié de la vitesse. Entre temps, le WS2812 (avec LED RGB intégrée) a été mis en vente, il n'empêche qu'il existe beaucoup de code et de projet autour du nom WS2811. C'est parfois "pour le WS2811" mais qui est en fait destiné au contrôleur plus récent, ou pour les deux types. La bibliothèque Adafruit_NeoPixel supporte les deux modèles.
 
Le WS2811 est une puce de pilotage séparé de la LED RGB. Le signal de donnée est similaire mais fonctionne à la moitié de la vitesse. Entre temps, le WS2812 (avec LED RGB intégrée) a été mis en vente, il n'empêche qu'il existe beaucoup de code et de projet autour du nom WS2811. C'est parfois "pour le WS2811" mais qui est en fait destiné au contrôleur plus récent, ou pour les deux types. La bibliothèque Adafruit_NeoPixel supporte les deux modèles.
   −
== Writing Your Own Library ==
+
== Ecrire votre propre bibliothèque ==
    
La [http://www.adafruit.com/datasheets/WS2812.pdf fiche technique du WS2812] explique le protocole de transmission des données. C'est un signal portant aussi le signal d'horloge — il n'y a qu'un seul fil, par de fils séparés pour le signal d'horloge et transport de données. Les bits "1" et "0" sont mentionnés en faisant varier le cycle utile d'une onde carrée à fréquence fixe.
 
La [http://www.adafruit.com/datasheets/WS2812.pdf fiche technique du WS2812] explique le protocole de transmission des données. C'est un signal portant aussi le signal d'horloge — il n'y a qu'un seul fil, par de fils séparés pour le signal d'horloge et transport de données. Les bits "1" et "0" sont mentionnés en faisant varier le cycle utile d'une onde carrée à fréquence fixe.
Ligne 68 : Ligne 73 :  
Vous pourriez avoir besoin de consulter les sources de la [https://github.com/adafruit/Adafruit_NeoPixel bibliothèque Arduino] pour vous faire une idée. Les parties critiques (celles où la gestion du temps est critique) sont écrit en langage d'assemblage AVR mais très largement documentté en pseudo-code C.  
 
Vous pourriez avoir besoin de consulter les sources de la [https://github.com/adafruit/Adafruit_NeoPixel bibliothèque Arduino] pour vous faire une idée. Les parties critiques (celles où la gestion du temps est critique) sont écrit en langage d'assemblage AVR mais très largement documentté en pseudo-code C.  
   −
=== My Microcontroller Isn’t Fast Enough to Do That ===
+
=== Mon microcontroleur n'est pas assez rapide pour cela ===
The WS2812 appears to be backwardly-compatible with the 400 KHz WS2811 signal. If you can precisely match the latter chip’s timing, either type will respond. '''The WS2811 protocol is not simply a half-speed WS2812'''. The duty cycle for the “0” and “1” bits is slightly different. From the [http://www.adafruit.com/datasheets/WS2811.pdf WS2811 datasheet]:
+
Apparemment, le WS2812 est rétro-compatble avec le signal 400 KHz du WS2811. Si vous pouvez atteindre le signal 400 Khz avec précision, les deux types devraient répondre. '''Le protocole WS2811 n'est pas simplement la moitié de la vitesse du WS2812'''. Le cycle utile des bits "0" et "1" diffèrent aussi légèrement. Voyez ce graphique extrait [http://www.adafruit.com/datasheets/WS2811.pdf de la fiche technique du WS2811]:
    
[[Fichier:NeoPixel-UserGuide-YourLib-10.png]]
 
[[Fichier:NeoPixel-UserGuide-YourLib-10.png]]
    
{{NeoPixel-UserGuide-TRAILER}}
 
{{NeoPixel-UserGuide-TRAILER}}
29 917

modifications

Menu de navigation