Différences entre les pages « Fabrication de pluie dans un bocal » et « Item:Ruban de Led - WS2812B »

 
 
Ligne 1 : Ligne 1 :
{{Tuto Details
+
{{Item
|Main_Picture=Fabrication_de_pluie_dans_un_bocal_IMG_20200407_132020_HDR.jpg
+
|Main_Picture=Item-Ruban_de_Led_-_WS2812B_Item-Ruban_de_leds_rubandeLED.jpg
|Licences=Attribution (CC-BY)
+
|Description=Ruban de LED constitué d’une succession de LED RGB adressables, c’est à dire que l’on peut définir la luminosité et la couleur de chaque LED indépendamment
|Description=Et si on fabriquait de la pluie dans un bocal ? Alors c'est parti !
+
|Categories=Matériel
|Disciplines scientifiques=Earth Sciences
+
|Cost=4,10
|Difficulty=Easy
+
|Currency=EUR ()
|Duration=10
+
|ItemLongDescription=Il existe plusieurs modèles de ruban : couleur unique, non-adressable, 5 ou 12V, etc. Faites attention au modèle que vous voulez utiliser. Le modèle utilisé ici est le WS2812B RGB. Avec ce modèle on peut illuminer un ruban, led après led  pour créer une “animation” par exemple. Il existe également des rubans plus ou moins étanches pour être installés à l'extérieur.
|Duration-type=minute(s)
+
 
|Tags=pluie, bocal
+
 
}}
+
Attention à l'alimentation  électrique, une LED RGB 5050 (5mm de côté) consomme jusqu'à 60mA (20 mA par couleur). Elle doit être alimentée en 5V.  Si on l'utilise avec Arduino, l'intensité maximale disponible pour la sortie 5V est de 500 mA en cas d'alimentation par le port USB seul, sinon c'est en fonction de l'alimentation utilisée.
{{Introduction}}
+
 
{{Materials
+
<br />
|ItemList={{ItemList
+
 
|Item=Bocal en verre
+
=Bibliothèque : =
}}{{ItemList
+
Pour utiliser facilement ce ruban, nous vous conseillons d'utiliser la bibliothèque FastLED/Fastled (cela dépend du modèle de ruban, la référence n'étant pas toujours spécifiée, ici WS2812B ; présente dans le gestionnaire de bibliothèques Arduino)
|Item=Assiette
+
plus d'infos pour [[Importer des bibliothèques dans l'interface Arduino]]{{#annotatedImageLight:Fichier:Item-Ruban de Led - WS2812B Image fastLED.png|0=450px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=bibliothèque FastLED|align=center|src=https://www.wikidebrouillard.org/images/2/2d/Item-Ruban_de_Led_-_WS2812B_Image_fastLED.png|href=./Fichier:Item-Ruban de Led - WS2812B Image fastLED.png|resource=./Fichier:Item-Ruban de Led - WS2812B Image fastLED.png|caption=bibliothèque FastLED|size=450px}}
}}{{ItemList
+
 
|Item=Glaçon
+
 
}}{{ItemList
+
 
|Item=Bouilloire
+
lien de téléchargement : https://github.com/FastLED/FastLED
}}{{ItemList
+
 
|Item=Eau
+
<br />
}}
+
 
|Tuto_Attachments={{Tuto Attachments
+
=Brochage=
|Attachment=Fabrication_de_pluie_dans_un_bocal_IMG_20200407_131823_HDR.jpg
+
Lorsque le ruban est grand, '''Le code minimalLe code minimalLe code minimal''' plusieurs mètres (plusieurs dizaine de leds), il consomme beaucoup de courant. Il faut donc ne alimentation externe.  
}}
+
 
}}
+
On met un condensateur de 1000uF pour protéger les composants, ainsi qu'une résistance de 1kohm pour protéger le ruban.
{{Tuto Step
+
 
|Step_Title=Faire chauffer l'eau
+
Une led RGB peut consommer jusqu'à 60mA.
|Step_Content=Fais chauffer de l'eau dans une bouilloire.
+
 
 +
Ainsi un ruban de 60 leds à plein régime consommera : 60 mA X 60 = 3600 mA soit près 3,6 Ampères (c'est à dire plus que ce que fournit un chargeur de téléphone). A titre indicatif, un port USB 2 d'ordinateur portable donne jusqu'à 500mA. 
 +
 
 +
Souvent les bibliothèques n'allument pas les leds à fond, mais les font clignoter très vite (sur le principe de la persistance rétinienne), ce qui économise du courant.
  
{{Warning|Attention la manipulation d'eau bouillante nécessite la présence d'un adulte.}}<br />
+
Pour un ruban de 30 leds, ça marche sans résistance, ni condensateur ! Branchez directement sur sur le D3, +5V, GND. {{#annotatedImageLight:Fichier:Item-Ruban de Led - WS2812B RubanLed bb.jpg|0=359px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Item-Ruban de Led - WS2812B RubanLed bb.jpg|align=center|src=https://www.wikidebrouillard.org/images/1/1a/Item-Ruban_de_Led_-_WS2812B_RubanLed_bb.jpg|href=./Fichier:Item-Ruban de Led - WS2812B RubanLed bb.jpg|resource=./Fichier:Item-Ruban de Led - WS2812B RubanLed bb.jpg|caption=|size=359px}}<br />
}}
 
{{Tuto Step
 
|Step_Title=Remplir le bocal en verre
 
|Step_Content=Remplis le bocal d'eau très chaude environ d'un tiers.
 
}}
 
{{Tuto Step
 
|Step_Title=Remplir l'assiette avec des glaçons
 
|Step_Content=Remplis à présent l'assiette avec des glaçons.
 
}}
 
{{Tuto Step
 
|Step_Title=Placer l'assiette sur le bocal
 
|Step_Content=Enfin, place l'assiette contenant les glaçons sur le bocal qui contient l'eau très chaude.
 
|Step_Picture_00=Fabrication_de_pluie_dans_un_bocal_IMG_20200407_131921_HDR.jpg
 
}}
 
{{Notes
 
|Observations=Dans un premier temps on peut apercevoir des gouttes d'eau ruisseler le long des parois du bocal. Plus tard on peut apercevoir des gouttes d'eau se former sous l'assiette. Lorsque ces gouttes d'eau deviennent trop grosses et trop lourdes, elles tombent dans le bocal.
 
  
  
Nous venons d'assister à la formation de pluie.
+
=Le code minimal=
|Explanations=L'eau chaude de notre bocal, correspond à l'eau qui dans la nature est chauffée par le soleil, en effet lorsque la température s'élève suffisamment l'eau ainsi chauffée s''''évapore''' : elle passe de l'état liquide à gazeux.
+
{| class="wikitable" cellspacing="0" border="0"
|Deepen=La vapeur d'eau, plus légère, s'élève dans les airs jusqu'à atteindre une zone plus froide. L'eau y refroidit au contact de cet air froid (dans notre expérience, l'air froid est représenté par l'assiette pleine de glaçons) et forme de minuscules gouttelettes en suspension dans l'atmosphère, elle se '''condense''', formant ainsi les nuages. Lorsque les gouttes en suspension deviennent trop lourdes, l'eau tombe, on dit qu'elle '''précipite''', c'est ce que l'on appelle la pluie.
+
| height="17" bgcolor="#999999" align="left" |
|Objectives=Le but de cette expérience est de comprendre de manière simplifiée le fonctionnement du cycle naturel de l'eau (passage de l'eau sous forme gazeuse à l'eau sous sa forme liquide).
+
| valign="middle" bgcolor="#999999" align="center" |
 +
| bgcolor="#999999" align="center" |WS2812B
 +
|-
 +
| rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center" |Avant le Setup
 +
| valign="middle" bgcolor="#999999" align="center" |Importation de la bibliothèque
 +
| valign="middle" align="left" |#include <FastLED.>
 +
|-
 +
| valign="middle" bgcolor="#999999" align="center" |Création de l’objet
 +
| valign="middle" align="left" |#define NUM_LEDS * (* indique le nombre de Led à allumer), #define DATA-PIN 3 (borne de la carte sur laquelle est branchée le ruban de Led, CRGBleds [NUM_LEDS];
 +
|-
 +
| valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup
 +
| valign="middle" bgcolor="#999999" align="center" |Démarrage de l’objet
 +
| valign="middle" align="left" |FastLED.addLeds<WS2812B, DATA_PIN, RGB>leds, NUM_LEDS);
 +
|-
 +
| valign="middle" height="41" bgcolor="#999999" align="center" |Dans le Loop
 +
| valign="middle" bgcolor="#999999" align="center" |Utilisation
 +
| valign="middle" align="left" |FastLED.show() ;
 +
|}et voici un exemple :
 +
{| class="wikitable"
 +
| class="diff-deletedline" |:<s class="diffchange diffchange-inline"><nowiki><syntaxhighlight lang="arduino"></nowiki></s>
 +
| class="diff-marker" | +
 +
| class="diff-addedline" |<nowiki>|}et voici un exemple :</nowiki>
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">#include <FastLED.h></s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |
 +
| class="diff-context" |
 +
| class="diff-marker" |
 +
| class="diff-context" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// How many leds in your strip?</s>
 +
| class="diff-marker" | +
 +
| class="diff-addedline" |<nowiki><br /></nowiki>
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">#define NUM_LEDS 1</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// For led chips like WS2812, which have a data line, ground, and power, you just</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// Clock pin only needed for SPI based chipsets when not using hardware SPI</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">#define DATA_PIN D3</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// Define the array of leds</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">CRGB leds[NUM_LEDS];</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">void setup() {</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// Uncomment/edit one of the following lines for your leds arrangement.</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// ## Clockless types ##</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); // GRB ordering is assumed</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">}</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">void loop() {</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// Turn the LED on, then pause</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">leds[0] = CRGB::Red;</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">FastLED.show();</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">delay(500);</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">// Now turn the LED off, then pause</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">leds[0] = CRGB::Black;</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">FastLED.show();</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">delay(500);</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline">}</s>
 +
| colspan="2" |
 +
|-
 +
| class="diff-marker" |−
 +
| class="diff-deletedline" |<s class="diffchange diffchange-inline"><nowiki></syntaxhighlight></nowiki></s><nowiki><br /></nowiki>
 +
|}
 +
<br />
 
}}
 
}}
 
{{Tuto Status
 
{{Tuto Status
|Complete=Published
+
|Complete=Draft
 
}}
 
}}

Version du 15 décembre 2020 à 09:50


Item-Ruban de Led - WS2812B Item-Ruban de leds rubandeLED.jpg

Ruban de Led - WS2812B

Ruban de LED constitué d’une succession de LED RGB adressables, c’est à dire que l’on peut définir la luminosité et la couleur de chaque LED indépendamment

4,10EUR (€)


Description longue

Il existe plusieurs modèles de ruban : couleur unique, non-adressable, 5 ou 12V, etc. Faites attention au modèle que vous voulez utiliser. Le modèle utilisé ici est le WS2812B RGB. Avec ce modèle on peut illuminer un ruban, led après led pour créer une “animation” par exemple. Il existe également des rubans plus ou moins étanches pour être installés à l'extérieur.


Attention à l'alimentation électrique, une LED RGB 5050 (5mm de côté) consomme jusqu'à 60mA (20 mA par couleur). Elle doit être alimentée en 5V. Si on l'utilise avec Arduino, l'intensité maximale disponible pour la sortie 5V est de 500 mA en cas d'alimentation par le port USB seul, sinon c'est en fonction de l'alimentation utilisée.


Bibliothèque :

Pour utiliser facilement ce ruban, nous vous conseillons d'utiliser la bibliothèque FastLED/Fastled (cela dépend du modèle de ruban, la référence n'étant pas toujours spécifiée, ici WS2812B ; présente dans le gestionnaire de bibliothèques Arduino)

plus d'infos pour Importer des bibliothèques dans l'interface Arduino
bibliothèque FastLED


lien de téléchargement : https://github.com/FastLED/FastLED


Brochage

Lorsque le ruban est grand, Le code minimalLe code minimalLe code minimal plusieurs mètres (plusieurs dizaine de leds), il consomme beaucoup de courant. Il faut donc ne alimentation externe.

On met un condensateur de 1000uF pour protéger les composants, ainsi qu'une résistance de 1kohm pour protéger le ruban.

Une led RGB peut consommer jusqu'à 60mA.

Ainsi un ruban de 60 leds à plein régime consommera : 60 mA X 60 = 3600 mA soit près 3,6 Ampères (c'est à dire plus que ce que fournit un chargeur de téléphone). A titre indicatif, un port USB 2 d'ordinateur portable donne jusqu'à 500mA.

Souvent les bibliothèques n'allument pas les leds à fond, mais les font clignoter très vite (sur le principe de la persistance rétinienne), ce qui économise du courant.

Pour un ruban de 30 leds, ça marche sans résistance, ni condensateur ! Branchez directement sur sur le D3, +5V, GND.
Item-Ruban de Led - WS2812B RubanLed bb.jpg


Le code minimal

WS2812B
Avant le Setup Importation de la bibliothèque #include <FastLED.>
Création de l’objet #define NUM_LEDS * (* indique le nombre de Led à allumer), #define DATA-PIN 3 (borne de la carte sur laquelle est branchée le ruban de Led, CRGBleds [NUM_LEDS];
Dans le Setup Démarrage de l’objet FastLED.addLeds<WS2812B, DATA_PIN, RGB>leds, NUM_LEDS);
Dans le Loop Utilisation FastLED.show() ;
et voici un exemple :
:<syntaxhighlight lang="arduino"> + </td></tr></table>et voici un exemple :

Commentaires

Draft