Passerelle.infini: la course du soleil : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(tfuytf)
 
(6 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Fichier:Tasses-ombres-IMG 1581.png|400px]]
+
[[Fichier:Tasses-ombres-IMG 1581.png|100px]]
  
 
==quoi==
 
==quoi==
[[Fichier:Ciel-passerelle-IMG 1585.png|600px]]
+
[[Fichier:Tasses-ombres-IMG 1581.png|300px]]  [[Fichier:Ciel-passerelle-IMG 1585.png|300px]]
  
 
==pourquoi==
 
==pourquoi==
 +
==pour qui==
 +
[[Fichier:Croquis-IMG 1587 2.png|300px]]
  
[[Fichier:Croquis|vignette]]
+
[[Fichier:Passerelle.infiniSoleil.JPG|300px]]
==pour qui==
 
[[Fichier:Croquis-IMG 1587 2.png|400px]]
 
  
==tfuytf==
+
==Code pour allumer un ruban de leds==
 
<syntaxhighlight lang="C++">
 
<syntaxhighlight lang="C++">
////////////////////////////////
+
/////////////////////////////////
// Programme d'apprentissage  //
+
//     La Course du soleil    //
//     de la maitrise        //
+
/////////////////////////////////
//     des rubans de led      //
+
// La Course du soleil  est une installation qui mime la course du soleil dans dans le ciel,
////////////////////////////////
+
// générant des ombres d'objets sur un plateau.
// basé sur le programme
+
// Il a été réalisée dans le cadre du hackathon "Passerelle.infini" les 24 & 25 février 2022
 +
// Le hackathon "Passerelle.infini" est organisé par le Centre d'Art Passerelle, Les petits débrouillards
 +
// Avec la participation de Tyfenn Leluc - designeuse et Thibault Beugin formateur
 +
// basé sur le programme
 
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
 
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
 
// Released under the GPLv3 license to match the rest of the
 
// Released under the GPLv3 license to match the rest of the
Ligne 36 : Ligne 39 :
 
                               |      +---+      |                     
 
                               |      +---+      |                     
 
                               |_______|USB|_______|     
 
                               |_______|USB|_______|     
Matériel :
+
Matériel :
 
- des fils dupont.
 
- des fils dupont.
 
- un ruban de led
 
- un ruban de led
Ligne 53 : Ligne 56 :
 
         ___|_  _|
 
         ___|_  _|
 
         |___| |_|
 
         |___| |_|
Les petits Débrouillards - Antony Le Goïc-Auffret décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
+
Les petits Débrouillards - Antony Le Goïc-Auffret décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
 
*/
 
*/
  
 
#include <Adafruit_NeoPixel.h>
 
#include <Adafruit_NeoPixel.h>
  
#define broche        5 // broche GPIO du D1 mini sur laquelle est connecté le ruban
+
#define broche        5 // D1 c'est la broche GPIO 5 du Wemos D1 mini sur laquelle est connectée le ruban
  
 
// Nombre de led du ruban ?
 
// Nombre de led du ruban ?
 
#define nbpixels 20  
 
#define nbpixels 20  
  
// Lors de la configuration de la bibliothèque NeoPixel,  
+
// Lors de la configuration de la bibliothèque NeoPixel,  
 
// nous lui indiquons combien de pixels,
 
// nous lui indiquons combien de pixels,
 
// et quelle broche utiliser pour envoyer des signaux.
 
// et quelle broche utiliser pour envoyer des signaux.
Ligne 69 : Ligne 72 :
 
// pour configurer le ruban :
 
// pour configurer le ruban :
 
// nomDuRuban (nombreDePixels, NumeroDeLaBroche, typeDeRuban)
 
// nomDuRuban (nombreDePixels, NumeroDeLaBroche, typeDeRuban)
// Les différents types de ruban :
+
// Les différents types de ruban :
//  NEO_KHZ800  800 KHz bitstream (la plupart des produits Neopixel ou références de LED w/WS2812)
+
//  NEO_KHZ800  800 KHz bitstream (la plupart des produits Neopixel ou références de LED w/WS2812)
 
//  NEO_KHZ400  400 KHz (classic 'v1' (pas v2) FLORA pixels, drivers WS2811)
 
//  NEO_KHZ400  400 KHz (classic 'v1' (pas v2) FLORA pixels, drivers WS2811)
//  NEO_GRB    Pixels cablés pour GRB bitstream (la plupart des produits Neopixel)
+
//  NEO_GRB    Pixels cablés pour GRB bitstream (la plupart des produits Neopixel)
//  NEO_RGB    Pixels cablés pour RGB bitstream (v1 FLORA pixels, pas les v2)
+
//  NEO_RGB    Pixels cablés pour RGB bitstream (v1 FLORA pixels, pas les v2)
//  NEO_RGBW    Pixels cablés pour RGBW bitstream (produits NeoPixel RGBW)
+
//  NEO_RGBW    Pixels cablés pour RGBW bitstream (produits NeoPixel RGBW)
  
#define delai 30 // durée de la pause en millisecondes
+
#define delai 30 // durée de la pause en millisecondes
  
 
void setup() {
 
void setup() {
   pixels.begin();          // INITIALISE l'object ruban NeoPixel
+
   pixels.begin();          // INITIALISE l'objet ruban NeoPixel
   pixels.show();            // éteint tout les pixels aussi vite que possible.
+
   pixels.show();            // éteint tout les pixels aussi vite que possible.
   pixels.setBrightness(100); // met la luminosité à 1/5 (max = 255)
+
   pixels.setBrightness(100); // met la luminosité à 1/5 (max = 255)
 
}
 
}
  
 
void loop() {
 
void loop() {
   for(int i=0; i<nbpixels; i++) { // Les pixels sont numérotés de 0 à ...
+
   for(int i=0; i<nbpixels; i++) { // Les pixels sont numérotés de 0 à ...
     pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // on allume la couleur rouge à fond de la ième led  
+
     pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // on allume la couleur rouge à fond de la 2ième led  
     pixels.setPixelColor(i-1, pixels.Color(200, 0, 0)); // celle d'après est moins allumée
+
     pixels.setPixelColor(i-1, pixels.Color(200, 0, 0)); // celle d'après est moins allumée
 
     pixels.setPixelColor(i-2, pixels.Color(150, 0, 0)); // ainsi de suite
 
     pixels.setPixelColor(i-2, pixels.Color(150, 0, 0)); // ainsi de suite
 
     pixels.setPixelColor(i-3, pixels.Color(100, 0, 0));
 
     pixels.setPixelColor(i-3, pixels.Color(100, 0, 0));
 
     pixels.setPixelColor(i-4, pixels.Color(50, 0, 0));   
 
     pixels.setPixelColor(i-4, pixels.Color(50, 0, 0));   
 
     pixels.setPixelColor(i-5, pixels.Color(0, 255, 150));   
 
     pixels.setPixelColor(i-5, pixels.Color(0, 255, 150));   
     pixels.show();  // met à jour le ruban
+
     pixels.show();  // met à jour le ruban
 
     delay(delai);    // Pause
 
     delay(delai);    // Pause
 
   }
 
   }
  
   for(int i=nbpixels; i>-1; i--) { // Les pixels sont numérotés de 0 à ...
+
   for(int i=nbpixels; i>-1; i--) { // Les pixels sont numérotés de 0 à ...
 
     pixels.setPixelColor(i, pixels.Color(0, 0, 0));
 
     pixels.setPixelColor(i, pixels.Color(0, 0, 0));
 
     pixels.setPixelColor(i-1, pixels.Color(50, 0, 0));
 
     pixels.setPixelColor(i-1, pixels.Color(50, 0, 0));
Ligne 103 : Ligne 106 :
 
     pixels.setPixelColor(i-4, pixels.Color(200, 0, 0));   
 
     pixels.setPixelColor(i-4, pixels.Color(200, 0, 0));   
 
     pixels.setPixelColor(i-5, pixels.Color(0, 255, 0));  
 
     pixels.setPixelColor(i-5, pixels.Color(0, 255, 0));  
     // pour comprendre, quand i vaut 30, la led 25 est au max, la 26 un peu moins, jusque la numéro 29 qui est éteinte
+
     // pour comprendre, quand i vaut 30, la led 25 est au max, la 26 un peu moins, jusque la numéro 29 qui est éteinte
     // ce segment se déplace jusque i=0.  
+
     // ce segment se déplace jusque i=0.  
     pixels.show();  // met à jour le ruban
+
     pixels.show();  // met à jour le ruban
 
     delay(delai);    // Pause
 
     delay(delai);    // Pause
 
     }
 
     }
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
==Catégories==
 +
[[Catégorie:Passerelle.infini]]
 +
[[Catégorie:led]][[Catégorie:ruban de led]][[Catégorie:WS1812B]]

Version actuelle datée du 3 décembre 2023 à 11:21

Tasses-ombres-IMG 1581.png

quoi

Tasses-ombres-IMG 1581.png Ciel-passerelle-IMG 1585.png

pourquoi

pour qui

Croquis-IMG 1587 2.png

Passerelle.infiniSoleil.JPG

Code pour allumer un ruban de leds

/////////////////////////////////
//     La Course du soleil     //
/////////////////////////////////
// La Course du soleil  est une installation qui mime la course du soleil dans dans le ciel, 
// générant des ombres d'objets sur un plateau. 
// Il a été réalisée dans le cadre du hackathon "Passerelle.infini" les 24 & 25 février 2022
// Le hackathon "Passerelle.infini" est organisé par le Centre d'Art Passerelle, Les petits débrouillards
// Avec la participation de Tyfenn Leluc - designeuse et Thibault Beugin formateur
// basé sur le programme
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// Released under the GPLv3 license to match the rest of the
// Adafruit NeoPixel library
/*
                               
                                     BROCHAGE                            
                                _________________                        
                               /     D1 mini     \                       
                              |[ ]RST        TX[ ]|                   
                              |[ ]A0  -GPIO  RX[ ]|                    
                              |[ ]D0-16    5-D1[X]| - data du ruban de led                    
                              |[ ]D5-14    4-D2[ ]|                     
                              |[ ]D6-12    0-D3[ ]|               
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN          
                              |[ ]D8-15     GND[X]| - masse du ruban         
                              |[ ]3V3 .      5V[X]| - Alim du ruban         
                              |       +---+       |                     
                              |_______|USB|_______|     
Matériel :
- des fils dupont.
- un ruban de led
- un D1 mini
- ...

Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)
*/
/*
   ___
 / ___ \
|_|   | |
     /_/ 
     _   ___   _ 
    |_| |___|_| |_
         ___|_   _|
        |___| |_|
Les petits Débrouillards - Antony Le Goïc-Auffret décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
*/

#include <Adafruit_NeoPixel.h>

#define broche        5 // D1 c'est la broche GPIO 5 du Wemos D1 mini sur laquelle est connectée le ruban

// Nombre de led du ruban ?
#define nbpixels 20 

// Lors de la configuration de la bibliothèque NeoPixel, 
// nous lui indiquons combien de pixels,
// et quelle broche utiliser pour envoyer des signaux.
Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);
// pour configurer le ruban :
// nomDuRuban (nombreDePixels, NumeroDeLaBroche, typeDeRuban)
// Les différents types de ruban :
//   NEO_KHZ800  800 KHz bitstream (la plupart des produits Neopixel ou références de LED w/WS2812)
//   NEO_KHZ400  400 KHz (classic 'v1' (pas v2) FLORA pixels, drivers WS2811)
//   NEO_GRB     Pixels cablés pour GRB bitstream (la plupart des produits Neopixel)
//   NEO_RGB     Pixels cablés pour RGB bitstream (v1 FLORA pixels, pas les v2)
//   NEO_RGBW    Pixels cablés pour RGBW bitstream (produits NeoPixel RGBW)

#define delai 30 // durée de la pause en millisecondes

void setup() {
  pixels.begin();           // INITIALISE l'objet ruban NeoPixel
  pixels.show();            // éteint tout les pixels aussi vite que possible.
  pixels.setBrightness(100); // met la luminosité à 1/5 (max = 255)
}

void loop() {
  for(int i=0; i<nbpixels; i++) { // Les pixels sont numérotés de 0 à ...
    pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // on allume la couleur rouge à fond de la 2ième led 
    pixels.setPixelColor(i-1, pixels.Color(200, 0, 0)); // celle d'après est moins allumée
    pixels.setPixelColor(i-2, pixels.Color(150, 0, 0)); // ainsi de suite
    pixels.setPixelColor(i-3, pixels.Color(100, 0, 0));
    pixels.setPixelColor(i-4, pixels.Color(50, 0, 0));  
    pixels.setPixelColor(i-5, pixels.Color(0, 255, 150));  
    pixels.show();   // met à jour le ruban
    delay(delai);    // Pause
  }

  for(int i=nbpixels; i>-1; i--) { // Les pixels sont numérotés de 0 à ...
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));
    pixels.setPixelColor(i-1, pixels.Color(50, 0, 0));
    pixels.setPixelColor(i-2, pixels.Color(100, 0, 0)); 
    pixels.setPixelColor(i-3, pixels.Color(150, 0, 0));
    pixels.setPixelColor(i-4, pixels.Color(200, 0, 0));  
    pixels.setPixelColor(i-5, pixels.Color(0, 255, 0)); 
    // pour comprendre, quand i vaut 30, la led 25 est au max, la 26 un peu moins, jusque la numéro 29 qui est éteinte
    // ce segment se déplace jusque i=0. 
    pixels.show();   // met à jour le ruban
    delay(delai);    // Pause
    }
}

Catégories