<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Perglaz</id>
		<title>Les Fabriques du Ponant - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Perglaz"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/Perglaz"/>
		<updated>2026-05-19T12:44:51Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19190</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19190"/>
				<updated>2022-01-18T17:00:33Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louanne &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
*Kam Kamgaing Dany Borel&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:RoueAvant.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere3.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueDessus.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cabine2.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x2&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* Haut parleur x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
*Moteur et leds &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Musique: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* &lt;br /&gt;
  Song of storms - Legend of Zelda &lt;br /&gt;
  Connect a piezo buzzer or speaker to pin 11 or select a new pin.&lt;br /&gt;
  More songs available at https://github.com/robsoncouto/arduino-songs                                            &lt;br /&gt;
                                              &lt;br /&gt;
                                              Robson Couto, 2019&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define NOTE_B0  31&lt;br /&gt;
#define NOTE_C1  33&lt;br /&gt;
#define NOTE_CS1 35&lt;br /&gt;
#define NOTE_D1  37&lt;br /&gt;
#define NOTE_DS1 39&lt;br /&gt;
#define NOTE_E1  41&lt;br /&gt;
#define NOTE_F1  44&lt;br /&gt;
#define NOTE_FS1 46&lt;br /&gt;
#define NOTE_G1  49&lt;br /&gt;
#define NOTE_GS1 52&lt;br /&gt;
#define NOTE_A1  55&lt;br /&gt;
#define NOTE_AS1 58&lt;br /&gt;
#define NOTE_B1  62&lt;br /&gt;
#define NOTE_C2  65&lt;br /&gt;
#define NOTE_CS2 69&lt;br /&gt;
#define NOTE_D2  73&lt;br /&gt;
#define NOTE_DS2 78&lt;br /&gt;
#define NOTE_E2  82&lt;br /&gt;
#define NOTE_F2  87&lt;br /&gt;
#define NOTE_FS2 93&lt;br /&gt;
#define NOTE_G2  98&lt;br /&gt;
#define NOTE_GS2 104&lt;br /&gt;
#define NOTE_A2  110&lt;br /&gt;
#define NOTE_AS2 117&lt;br /&gt;
#define NOTE_B2  123&lt;br /&gt;
#define NOTE_C3  131&lt;br /&gt;
#define NOTE_CS3 139&lt;br /&gt;
#define NOTE_D3  147&lt;br /&gt;
#define NOTE_DS3 156&lt;br /&gt;
#define NOTE_E3  165&lt;br /&gt;
#define NOTE_F3  175&lt;br /&gt;
#define NOTE_FS3 185&lt;br /&gt;
#define NOTE_G3  196&lt;br /&gt;
#define NOTE_GS3 208&lt;br /&gt;
#define NOTE_A3  220&lt;br /&gt;
#define NOTE_AS3 233&lt;br /&gt;
#define NOTE_B3  247&lt;br /&gt;
#define NOTE_C4  262&lt;br /&gt;
#define NOTE_CS4 277&lt;br /&gt;
#define NOTE_D4  294&lt;br /&gt;
#define NOTE_DS4 311&lt;br /&gt;
#define NOTE_E4  330&lt;br /&gt;
#define NOTE_F4  349&lt;br /&gt;
#define NOTE_FS4 370&lt;br /&gt;
#define NOTE_G4  392&lt;br /&gt;
#define NOTE_GS4 415&lt;br /&gt;
#define NOTE_A4  440&lt;br /&gt;
#define NOTE_AS4 466&lt;br /&gt;
#define NOTE_B4  494&lt;br /&gt;
#define NOTE_C5  523&lt;br /&gt;
#define NOTE_CS5 554&lt;br /&gt;
#define NOTE_D5  587&lt;br /&gt;
#define NOTE_DS5 622&lt;br /&gt;
#define NOTE_E5  659&lt;br /&gt;
#define NOTE_F5  698&lt;br /&gt;
#define NOTE_FS5 740&lt;br /&gt;
#define NOTE_G5  784&lt;br /&gt;
#define NOTE_GS5 831&lt;br /&gt;
#define NOTE_A5  880&lt;br /&gt;
#define NOTE_AS5 932&lt;br /&gt;
#define NOTE_B5  988&lt;br /&gt;
#define NOTE_C6  1047&lt;br /&gt;
#define NOTE_CS6 1109&lt;br /&gt;
#define NOTE_D6  1175&lt;br /&gt;
#define NOTE_DS6 1245&lt;br /&gt;
#define NOTE_E6  1319&lt;br /&gt;
#define NOTE_F6  1397&lt;br /&gt;
#define NOTE_FS6 1480&lt;br /&gt;
#define NOTE_G6  1568&lt;br /&gt;
#define NOTE_GS6 1661&lt;br /&gt;
#define NOTE_A6  1760&lt;br /&gt;
#define NOTE_AS6 1865&lt;br /&gt;
#define NOTE_B6  1976&lt;br /&gt;
#define NOTE_C7  2093&lt;br /&gt;
#define NOTE_CS7 2217&lt;br /&gt;
#define NOTE_D7  2349&lt;br /&gt;
#define NOTE_DS7 2489&lt;br /&gt;
#define NOTE_E7  2637&lt;br /&gt;
#define NOTE_F7  2794&lt;br /&gt;
#define NOTE_FS7 2960&lt;br /&gt;
#define NOTE_G7  3136&lt;br /&gt;
#define NOTE_GS7 3322&lt;br /&gt;
#define NOTE_A7  3520&lt;br /&gt;
#define NOTE_AS7 3729&lt;br /&gt;
#define NOTE_B7  3951&lt;br /&gt;
#define NOTE_C8  4186&lt;br /&gt;
#define NOTE_CS8 4435&lt;br /&gt;
#define NOTE_D8  4699&lt;br /&gt;
#define NOTE_DS8 4978&lt;br /&gt;
#define REST      0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// change this to make the song slower or faster&lt;br /&gt;
int tempo = 150;//108 originalement&lt;br /&gt;
&lt;br /&gt;
// change this to whichever pin you want to use&lt;br /&gt;
int buzzer = D2;&lt;br /&gt;
&lt;br /&gt;
// notes of the moledy followed by the duration.&lt;br /&gt;
// a 4 means a quarter note, 8 an eighteenth , 16 sixteenth, so on&lt;br /&gt;
// !!negative numbers are used to represent dotted notes,&lt;br /&gt;
// so -4 means a dotted quarter note, that is, a quarter plus an eighteenth!!&lt;br /&gt;
int melody[] = {&lt;br /&gt;
  &lt;br /&gt;
  // Song of storms - The Legend of Zelda Ocarina of Time. &lt;br /&gt;
  // Score available at https://musescore.com/user/4957541/scores/1545401&lt;br /&gt;
  &lt;br /&gt;
  NOTE_D4,4, NOTE_A4,4, NOTE_A4,4,&lt;br /&gt;
  REST,8, NOTE_E4,8, NOTE_B4,2,&lt;br /&gt;
  NOTE_F4,4, NOTE_C5,4, NOTE_C5,4,&lt;br /&gt;
  REST,8, NOTE_E4,8, NOTE_B4,2,&lt;br /&gt;
  NOTE_D4,4, NOTE_A4,4, NOTE_A4,4,&lt;br /&gt;
  REST,8, NOTE_E4,8, NOTE_B4,2,&lt;br /&gt;
  NOTE_F4,4, NOTE_C5,4, NOTE_C5,4,&lt;br /&gt;
  REST,8, NOTE_E4,8, NOTE_B4,2,&lt;br /&gt;
  NOTE_D4,8, NOTE_F4,8, NOTE_D5,2,&lt;br /&gt;
  &lt;br /&gt;
  NOTE_D4,8, NOTE_F4,8, NOTE_D5,2,&lt;br /&gt;
  NOTE_E5,-4, NOTE_F5,8, NOTE_E5,8, NOTE_E5,8,&lt;br /&gt;
  NOTE_E5,8, NOTE_C5,8, NOTE_A4,2,&lt;br /&gt;
  NOTE_A4,4, NOTE_D4,4, NOTE_F4,8, NOTE_G4,8,&lt;br /&gt;
  NOTE_A4,-2,&lt;br /&gt;
  NOTE_A4,4, NOTE_D4,4, NOTE_F4,8, NOTE_G4,8,&lt;br /&gt;
  NOTE_E4,-2,&lt;br /&gt;
  NOTE_D4,8, NOTE_F4,8, NOTE_D5,2,&lt;br /&gt;
  NOTE_D4,8, NOTE_F4,8, NOTE_D5,2,&lt;br /&gt;
&lt;br /&gt;
  NOTE_E5,-4, NOTE_F5,8, NOTE_E5,8, NOTE_E5,8,&lt;br /&gt;
  NOTE_E5,8, NOTE_C5,8, NOTE_A4,2,&lt;br /&gt;
  NOTE_A4,4, NOTE_D4,4, NOTE_F4,8, NOTE_G4,8,&lt;br /&gt;
  NOTE_A4,2, NOTE_A4,4,&lt;br /&gt;
  NOTE_D4,1,&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// sizeof gives the number of bytes, each int value is composed of two bytes (16 bits)&lt;br /&gt;
// there are two values per note (pitch and duration), so for each note there are four bytes&lt;br /&gt;
int notes = sizeof(melody) / sizeof(melody[0]) / 2;&lt;br /&gt;
&lt;br /&gt;
// this calculates the duration of a whole note in ms&lt;br /&gt;
int wholenote = (60000 * 4) / tempo;&lt;br /&gt;
&lt;br /&gt;
int divider = 0, noteDuration = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // iterate over the notes of the melody. &lt;br /&gt;
  // Remember, the array is twice the number of notes (notes + durations)&lt;br /&gt;
  for (int thisNote = 0; thisNote &amp;lt; notes * 2; thisNote = thisNote + 2) {&lt;br /&gt;
&lt;br /&gt;
    // calculates the duration of each note&lt;br /&gt;
    divider = melody[thisNote + 1];&lt;br /&gt;
    if (divider &amp;gt; 0) {&lt;br /&gt;
      // regular note, just proceed&lt;br /&gt;
      noteDuration = (wholenote) / divider;&lt;br /&gt;
    } else if (divider &amp;lt; 0) {&lt;br /&gt;
      // dotted notes are represented with negative durations!!&lt;br /&gt;
      noteDuration = (wholenote) / abs(divider);&lt;br /&gt;
      noteDuration *= 1.5; // increases the duration in half for dotted notes&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // we only play the note for 90% of the duration, leaving 10% as a pause&lt;br /&gt;
    tone(buzzer, melody[thisNote], noteDuration*0.9);&lt;br /&gt;
&lt;br /&gt;
    // Wait for the specief duration before playing the next note.&lt;br /&gt;
    delay(noteDuration);&lt;br /&gt;
    &lt;br /&gt;
    // stop the waveform generation before the next note.&lt;br /&gt;
    noTone(buzzer);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // we repeat the melody&lt;br /&gt;
    for (int thisNote = 0; thisNote &amp;lt; notes * 2; thisNote = thisNote + 2) {&lt;br /&gt;
&lt;br /&gt;
    // calculates the duration of each note&lt;br /&gt;
    divider = melody[thisNote + 1];&lt;br /&gt;
    if (divider &amp;gt; 0) {&lt;br /&gt;
      // regular note, just proceed&lt;br /&gt;
      noteDuration = (wholenote) / divider;&lt;br /&gt;
    } else if (divider &amp;lt; 0) {&lt;br /&gt;
      // dotted notes are represented with negative durations!!&lt;br /&gt;
      noteDuration = (wholenote) / abs(divider);&lt;br /&gt;
      noteDuration *= 1.5; // increases the duration in half for dotted notes&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // we only play the note for 90% of the duration, leaving 10% as a pause&lt;br /&gt;
    tone(buzzer, melody[thisNote], noteDuration*0.9);&lt;br /&gt;
&lt;br /&gt;
    // Wait for the specief duration before playing the next note.&lt;br /&gt;
    delay(noteDuration);&lt;br /&gt;
    &lt;br /&gt;
    // stop the waveform generation before the next note.&lt;br /&gt;
    noTone(buzzer);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pistes d'amélioration==&lt;br /&gt;
*Utiliser du carton mousse au lieu de carton pour la roue &lt;br /&gt;
*Faire une grande roue plus grande&lt;br /&gt;
*cacher la partie musique dans une cabine&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19187</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19187"/>
				<updated>2022-01-18T16:59:53Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louanne &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
*Kam Kamgaing Dany Borel&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:RoueAvant.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere3.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueDessus.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cabine2.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x2&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* Haut parleur x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==7&lt;br /&gt;
*Moteur et leds &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Musique: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* &lt;br /&gt;
  Song of storms - Legend of Zelda &lt;br /&gt;
  Connect a piezo buzzer or speaker to pin 11 or select a new pin.&lt;br /&gt;
  More songs available at https://github.com/robsoncouto/arduino-songs                                            &lt;br /&gt;
                                              &lt;br /&gt;
                                              Robson Couto, 2019&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define NOTE_B0  31&lt;br /&gt;
#define NOTE_C1  33&lt;br /&gt;
#define NOTE_CS1 35&lt;br /&gt;
#define NOTE_D1  37&lt;br /&gt;
#define NOTE_DS1 39&lt;br /&gt;
#define NOTE_E1  41&lt;br /&gt;
#define NOTE_F1  44&lt;br /&gt;
#define NOTE_FS1 46&lt;br /&gt;
#define NOTE_G1  49&lt;br /&gt;
#define NOTE_GS1 52&lt;br /&gt;
#define NOTE_A1  55&lt;br /&gt;
#define NOTE_AS1 58&lt;br /&gt;
#define NOTE_B1  62&lt;br /&gt;
#define NOTE_C2  65&lt;br /&gt;
#define NOTE_CS2 69&lt;br /&gt;
#define NOTE_D2  73&lt;br /&gt;
#define NOTE_DS2 78&lt;br /&gt;
#define NOTE_E2  82&lt;br /&gt;
#define NOTE_F2  87&lt;br /&gt;
#define NOTE_FS2 93&lt;br /&gt;
#define NOTE_G2  98&lt;br /&gt;
#define NOTE_GS2 104&lt;br /&gt;
#define NOTE_A2  110&lt;br /&gt;
#define NOTE_AS2 117&lt;br /&gt;
#define NOTE_B2  123&lt;br /&gt;
#define NOTE_C3  131&lt;br /&gt;
#define NOTE_CS3 139&lt;br /&gt;
#define NOTE_D3  147&lt;br /&gt;
#define NOTE_DS3 156&lt;br /&gt;
#define NOTE_E3  165&lt;br /&gt;
#define NOTE_F3  175&lt;br /&gt;
#define NOTE_FS3 185&lt;br /&gt;
#define NOTE_G3  196&lt;br /&gt;
#define NOTE_GS3 208&lt;br /&gt;
#define NOTE_A3  220&lt;br /&gt;
#define NOTE_AS3 233&lt;br /&gt;
#define NOTE_B3  247&lt;br /&gt;
#define NOTE_C4  262&lt;br /&gt;
#define NOTE_CS4 277&lt;br /&gt;
#define NOTE_D4  294&lt;br /&gt;
#define NOTE_DS4 311&lt;br /&gt;
#define NOTE_E4  330&lt;br /&gt;
#define NOTE_F4  349&lt;br /&gt;
#define NOTE_FS4 370&lt;br /&gt;
#define NOTE_G4  392&lt;br /&gt;
#define NOTE_GS4 415&lt;br /&gt;
#define NOTE_A4  440&lt;br /&gt;
#define NOTE_AS4 466&lt;br /&gt;
#define NOTE_B4  494&lt;br /&gt;
#define NOTE_C5  523&lt;br /&gt;
#define NOTE_CS5 554&lt;br /&gt;
#define NOTE_D5  587&lt;br /&gt;
#define NOTE_DS5 622&lt;br /&gt;
#define NOTE_E5  659&lt;br /&gt;
#define NOTE_F5  698&lt;br /&gt;
#define NOTE_FS5 740&lt;br /&gt;
#define NOTE_G5  784&lt;br /&gt;
#define NOTE_GS5 831&lt;br /&gt;
#define NOTE_A5  880&lt;br /&gt;
#define NOTE_AS5 932&lt;br /&gt;
#define NOTE_B5  988&lt;br /&gt;
#define NOTE_C6  1047&lt;br /&gt;
#define NOTE_CS6 1109&lt;br /&gt;
#define NOTE_D6  1175&lt;br /&gt;
#define NOTE_DS6 1245&lt;br /&gt;
#define NOTE_E6  1319&lt;br /&gt;
#define NOTE_F6  1397&lt;br /&gt;
#define NOTE_FS6 1480&lt;br /&gt;
#define NOTE_G6  1568&lt;br /&gt;
#define NOTE_GS6 1661&lt;br /&gt;
#define NOTE_A6  1760&lt;br /&gt;
#define NOTE_AS6 1865&lt;br /&gt;
#define NOTE_B6  1976&lt;br /&gt;
#define NOTE_C7  2093&lt;br /&gt;
#define NOTE_CS7 2217&lt;br /&gt;
#define NOTE_D7  2349&lt;br /&gt;
#define NOTE_DS7 2489&lt;br /&gt;
#define NOTE_E7  2637&lt;br /&gt;
#define NOTE_F7  2794&lt;br /&gt;
#define NOTE_FS7 2960&lt;br /&gt;
#define NOTE_G7  3136&lt;br /&gt;
#define NOTE_GS7 3322&lt;br /&gt;
#define NOTE_A7  3520&lt;br /&gt;
#define NOTE_AS7 3729&lt;br /&gt;
#define NOTE_B7  3951&lt;br /&gt;
#define NOTE_C8  4186&lt;br /&gt;
#define NOTE_CS8 4435&lt;br /&gt;
#define NOTE_D8  4699&lt;br /&gt;
#define NOTE_DS8 4978&lt;br /&gt;
#define REST      0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// change this to make the song slower or faster&lt;br /&gt;
int tempo = 150;//108 originalement&lt;br /&gt;
&lt;br /&gt;
// change this to whichever pin you want to use&lt;br /&gt;
int buzzer = D2;&lt;br /&gt;
&lt;br /&gt;
// notes of the moledy followed by the duration.&lt;br /&gt;
// a 4 means a quarter note, 8 an eighteenth , 16 sixteenth, so on&lt;br /&gt;
// !!negative numbers are used to represent dotted notes,&lt;br /&gt;
// so -4 means a dotted quarter note, that is, a quarter plus an eighteenth!!&lt;br /&gt;
int melody[] = {&lt;br /&gt;
  &lt;br /&gt;
  // Song of storms - The Legend of Zelda Ocarina of Time. &lt;br /&gt;
  // Score available at https://musescore.com/user/4957541/scores/1545401&lt;br /&gt;
  &lt;br /&gt;
  NOTE_D4,4, NOTE_A4,4, NOTE_A4,4,&lt;br /&gt;
  REST,8, NOTE_E4,8, NOTE_B4,2,&lt;br /&gt;
  NOTE_F4,4, NOTE_C5,4, NOTE_C5,4,&lt;br /&gt;
  REST,8, NOTE_E4,8, NOTE_B4,2,&lt;br /&gt;
  NOTE_D4,4, NOTE_A4,4, NOTE_A4,4,&lt;br /&gt;
  REST,8, NOTE_E4,8, NOTE_B4,2,&lt;br /&gt;
  NOTE_F4,4, NOTE_C5,4, NOTE_C5,4,&lt;br /&gt;
  REST,8, NOTE_E4,8, NOTE_B4,2,&lt;br /&gt;
  NOTE_D4,8, NOTE_F4,8, NOTE_D5,2,&lt;br /&gt;
  &lt;br /&gt;
  NOTE_D4,8, NOTE_F4,8, NOTE_D5,2,&lt;br /&gt;
  NOTE_E5,-4, NOTE_F5,8, NOTE_E5,8, NOTE_E5,8,&lt;br /&gt;
  NOTE_E5,8, NOTE_C5,8, NOTE_A4,2,&lt;br /&gt;
  NOTE_A4,4, NOTE_D4,4, NOTE_F4,8, NOTE_G4,8,&lt;br /&gt;
  NOTE_A4,-2,&lt;br /&gt;
  NOTE_A4,4, NOTE_D4,4, NOTE_F4,8, NOTE_G4,8,&lt;br /&gt;
  NOTE_E4,-2,&lt;br /&gt;
  NOTE_D4,8, NOTE_F4,8, NOTE_D5,2,&lt;br /&gt;
  NOTE_D4,8, NOTE_F4,8, NOTE_D5,2,&lt;br /&gt;
&lt;br /&gt;
  NOTE_E5,-4, NOTE_F5,8, NOTE_E5,8, NOTE_E5,8,&lt;br /&gt;
  NOTE_E5,8, NOTE_C5,8, NOTE_A4,2,&lt;br /&gt;
  NOTE_A4,4, NOTE_D4,4, NOTE_F4,8, NOTE_G4,8,&lt;br /&gt;
  NOTE_A4,2, NOTE_A4,4,&lt;br /&gt;
  NOTE_D4,1,&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// sizeof gives the number of bytes, each int value is composed of two bytes (16 bits)&lt;br /&gt;
// there are two values per note (pitch and duration), so for each note there are four bytes&lt;br /&gt;
int notes = sizeof(melody) / sizeof(melody[0]) / 2;&lt;br /&gt;
&lt;br /&gt;
// this calculates the duration of a whole note in ms&lt;br /&gt;
int wholenote = (60000 * 4) / tempo;&lt;br /&gt;
&lt;br /&gt;
int divider = 0, noteDuration = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // iterate over the notes of the melody. &lt;br /&gt;
  // Remember, the array is twice the number of notes (notes + durations)&lt;br /&gt;
  for (int thisNote = 0; thisNote &amp;lt; notes * 2; thisNote = thisNote + 2) {&lt;br /&gt;
&lt;br /&gt;
    // calculates the duration of each note&lt;br /&gt;
    divider = melody[thisNote + 1];&lt;br /&gt;
    if (divider &amp;gt; 0) {&lt;br /&gt;
      // regular note, just proceed&lt;br /&gt;
      noteDuration = (wholenote) / divider;&lt;br /&gt;
    } else if (divider &amp;lt; 0) {&lt;br /&gt;
      // dotted notes are represented with negative durations!!&lt;br /&gt;
      noteDuration = (wholenote) / abs(divider);&lt;br /&gt;
      noteDuration *= 1.5; // increases the duration in half for dotted notes&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // we only play the note for 90% of the duration, leaving 10% as a pause&lt;br /&gt;
    tone(buzzer, melody[thisNote], noteDuration*0.9);&lt;br /&gt;
&lt;br /&gt;
    // Wait for the specief duration before playing the next note.&lt;br /&gt;
    delay(noteDuration);&lt;br /&gt;
    &lt;br /&gt;
    // stop the waveform generation before the next note.&lt;br /&gt;
    noTone(buzzer);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // we repeat the melody&lt;br /&gt;
    for (int thisNote = 0; thisNote &amp;lt; notes * 2; thisNote = thisNote + 2) {&lt;br /&gt;
&lt;br /&gt;
    // calculates the duration of each note&lt;br /&gt;
    divider = melody[thisNote + 1];&lt;br /&gt;
    if (divider &amp;gt; 0) {&lt;br /&gt;
      // regular note, just proceed&lt;br /&gt;
      noteDuration = (wholenote) / divider;&lt;br /&gt;
    } else if (divider &amp;lt; 0) {&lt;br /&gt;
      // dotted notes are represented with negative durations!!&lt;br /&gt;
      noteDuration = (wholenote) / abs(divider);&lt;br /&gt;
      noteDuration *= 1.5; // increases the duration in half for dotted notes&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // we only play the note for 90% of the duration, leaving 10% as a pause&lt;br /&gt;
    tone(buzzer, melody[thisNote], noteDuration*0.9);&lt;br /&gt;
&lt;br /&gt;
    // Wait for the specief duration before playing the next note.&lt;br /&gt;
    delay(noteDuration);&lt;br /&gt;
    &lt;br /&gt;
    // stop the waveform generation before the next note.&lt;br /&gt;
    noTone(buzzer);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pistes d'amélioration==&lt;br /&gt;
*Utiliser du carton mousse au lieu de carton pour la roue &lt;br /&gt;
*Faire une grande roue plus grande&lt;br /&gt;
*cacher la partie musique dans une cabine&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19100</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19100"/>
				<updated>2022-01-18T10:47:55Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* photo du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louanne &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
*Kam Kamgaing Dany Borel&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:RoueAvant.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere3.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueDessus.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cabine2.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x2&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* Haut parleur x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Pistes d'amélioration==&lt;br /&gt;
*Utiliser du carton mousse au lieu de carton pour la roue &lt;br /&gt;
*Faire une grande roue plus grande&lt;br /&gt;
*cacher la partie musique dans une cabine&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Cabine2.jpg&amp;diff=19099</id>
		<title>Fichier:Cabine2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Cabine2.jpg&amp;diff=19099"/>
				<updated>2022-01-18T10:47:33Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19097</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19097"/>
				<updated>2022-01-18T10:46:19Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louanne &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
*Kam Kamgaing Dany Borel&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:RoueAvant.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere3.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueDessus.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cabine.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x2&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* Haut parleur x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Pistes d'amélioration==&lt;br /&gt;
*Utiliser du carton mousse au lieu de carton pour la roue &lt;br /&gt;
*Faire une grande roue plus grande&lt;br /&gt;
*cacher la partie musique dans une cabine&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19096</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19096"/>
				<updated>2022-01-18T10:45:56Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* photo du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louanne &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
*Kam Kamgaing Dany Borel&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:RoueAvant.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueDessus.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cabine.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x2&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* Haut parleur x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Pistes d'amélioration==&lt;br /&gt;
*Utiliser du carton mousse au lieu de carton pour la roue &lt;br /&gt;
*Faire une grande roue plus grande&lt;br /&gt;
*cacher la partie musique dans une cabine&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:RoueDessus.jpg&amp;diff=19093</id>
		<title>Fichier:RoueDessus.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:RoueDessus.jpg&amp;diff=19093"/>
				<updated>2022-01-18T10:44:06Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:RoueAvant.jpg&amp;diff=19092</id>
		<title>Fichier:RoueAvant.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:RoueAvant.jpg&amp;diff=19092"/>
				<updated>2022-01-18T10:43:47Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:RoueArriere3.jpg&amp;diff=19091</id>
		<title>Fichier:RoueArriere3.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:RoueArriere3.jpg&amp;diff=19091"/>
				<updated>2022-01-18T10:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19089</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19089"/>
				<updated>2022-01-18T10:38:48Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louanne &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
*Kam Kamgaing Dany Borel&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x2&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* Haut parleur x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Pistes d'amélioration==&lt;br /&gt;
*Utiliser du carton mousse au lieu de carton pour la roue &lt;br /&gt;
*Faire une grande roue plus grande&lt;br /&gt;
*cacher la partie musique dans une cabine&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19088</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19088"/>
				<updated>2022-01-18T10:36:50Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louanne &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
*Kam Kamgaing Dany Borel&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x2&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* Haut parleur x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19085</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=19085"/>
				<updated>2022-01-18T10:33:38Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Equipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louanne &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
*Kam Kamgaing Dany Borel&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18760</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18760"/>
				<updated>2022-01-14T15:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18757</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18757"/>
				<updated>2022-01-14T15:26:15Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* photo du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere0000.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18755</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18755"/>
				<updated>2022-01-14T15:25:43Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Circuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere0000.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18752</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18752"/>
				<updated>2022-01-14T15:24:59Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Circuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere0000.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:MontageGeneral.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MontageGeneralCircuit.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Hautparleurcircuit.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18741</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18741"/>
				<updated>2022-01-14T15:19:31Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:RoueArriere0000.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:montageGeneral.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:montageGeneralCircuit.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:hautparleurcircuit.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18737</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18737"/>
				<updated>2022-01-14T15:18:36Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
[[Fichier:RoueArriere0000.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:montageGeneral.jpg|600px]]&lt;br /&gt;
[[Fichier:montageGeneralCircuit.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:hautparleurcircuit.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18734</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18734"/>
				<updated>2022-01-14T15:17:03Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:roueface.jpg|600px]]&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18733</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18733"/>
				<updated>2022-01-14T15:16:21Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[roueface.jpg|600px]]&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Roueface.jpg&amp;diff=18732</id>
		<title>Fichier:Roueface.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Roueface.jpg&amp;diff=18732"/>
				<updated>2022-01-14T15:15:09Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:RoueArriere.jpg&amp;diff=18731</id>
		<title>Fichier:RoueArriere.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:RoueArriere.jpg&amp;diff=18731"/>
				<updated>2022-01-14T15:13:57Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Hautparleurcircuit.png&amp;diff=18730</id>
		<title>Fichier:Hautparleurcircuit.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Hautparleurcircuit.png&amp;diff=18730"/>
				<updated>2022-01-14T15:13:17Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MontageGeneral.png&amp;diff=18728</id>
		<title>Fichier:MontageGeneral.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MontageGeneral.png&amp;diff=18728"/>
				<updated>2022-01-14T15:12:58Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MontageGeneralCircuit.png&amp;diff=18727</id>
		<title>Fichier:MontageGeneralCircuit.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MontageGeneralCircuit.png&amp;diff=18727"/>
				<updated>2022-01-14T15:12:33Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18726</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18726"/>
				<updated>2022-01-14T15:08:27Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Circuit==&lt;br /&gt;
*Roue:&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
*Musique:&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18569</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18569"/>
				<updated>2022-01-14T11:16:22Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
* buzzer &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18552</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18552"/>
				<updated>2022-01-14T11:00:34Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#include&amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define LED_PIN     5&lt;br /&gt;
#define NUM_LEDS    10&lt;br /&gt;
#define BRIGHTNESS  64&lt;br /&gt;
#define LED_TYPE    WS2811&lt;br /&gt;
#define COLOR_ORDER GRB&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
#define UPDATES_PER_SECOND 100&lt;br /&gt;
&lt;br /&gt;
CRGBPalette16 currentPalette;&lt;br /&gt;
TBlendType    currentBlending;&lt;br /&gt;
extern CRGBPalette16 myRedWhiteBluePalette;&lt;br /&gt;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;&lt;br /&gt;
Servo esc;  // create servo object to control a servo&lt;br /&gt;
int val;        // variable to read value from analog pin&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  esc.attach(D7);  // attaches servo on D7 to the servo object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay( 3000 ); // power-up safety delay&lt;br /&gt;
  FastLED.addLeds&amp;lt;LED_TYPE, LED_PIN, COLOR_ORDER&amp;gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );&lt;br /&gt;
  FastLED.setBrightness(  BRIGHTNESS );&lt;br /&gt;
&lt;br /&gt;
  currentPalette = RainbowColors_p;&lt;br /&gt;
  currentBlending = LINEARBLEND;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  val = analogRead(0);               // reads potentiometer value (between 0 and 1023)&lt;br /&gt;
  val = map(val, 0, 1023, 0, 180);   // scale it to use it with the servo (between 0 and 180)&lt;br /&gt;
  esc.write(val);                    // sets servo position according to scaled value&lt;br /&gt;
  delay(15); // waits for servo to get there&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ChangePalettePeriodically();&lt;br /&gt;
&lt;br /&gt;
  static uint8_t startIndex = 0;&lt;br /&gt;
  startIndex = startIndex + 1; /* motion speed */&lt;br /&gt;
&lt;br /&gt;
  FillLEDsFromPaletteColors( startIndex);&lt;br /&gt;
&lt;br /&gt;
  FastLED.show();&lt;br /&gt;
  FastLED.delay(1000 / UPDATES_PER_SECOND);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void FillLEDsFromPaletteColors( uint8_t colorIndex)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t brightness = 255;&lt;br /&gt;
&lt;br /&gt;
  for ( int i = 0; i &amp;lt; NUM_LEDS; i++) {&lt;br /&gt;
    leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);&lt;br /&gt;
    colorIndex += 3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// There are several different palettes of colors demonstrated here.&lt;br /&gt;
//&lt;br /&gt;
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,&lt;br /&gt;
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.&lt;br /&gt;
//&lt;br /&gt;
// Additionally, you can manually define your own color palettes, or you can write&lt;br /&gt;
// code that creates color palettes on the fly.  All are shown here.&lt;br /&gt;
void ChangePalettePeriodically()&lt;br /&gt;
{&lt;br /&gt;
  uint8_t secondHand = (millis() / 1000) % 60;&lt;br /&gt;
  static uint8_t lastSecond = 99;&lt;br /&gt;
&lt;br /&gt;
  if ( lastSecond != secondHand) {&lt;br /&gt;
    lastSecond = secondHand;&lt;br /&gt;
    if ( secondHand ==  0)  {&lt;br /&gt;
      currentPalette = RainbowColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 10)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 15)  {&lt;br /&gt;
      currentPalette = RainbowStripeColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 20)  {&lt;br /&gt;
      SetupPurpleAndGreenPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 25)  {&lt;br /&gt;
      SetupTotallyRandomPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 30)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 35)  {&lt;br /&gt;
      SetupBlackAndWhiteStripedPalette();&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 40)  {&lt;br /&gt;
      currentPalette = CloudColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 45)  {&lt;br /&gt;
      currentPalette = PartyColors_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 50)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = NOBLEND;&lt;br /&gt;
    }&lt;br /&gt;
    if ( secondHand == 55)  {&lt;br /&gt;
      currentPalette = myRedWhiteBluePalette_p;&lt;br /&gt;
      currentBlending = LINEARBLEND;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function fills the palette with totally random colors.&lt;br /&gt;
void SetupTotallyRandomPalette()&lt;br /&gt;
{&lt;br /&gt;
  for ( int i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    currentPalette[i] = CHSV( random8(), 255, random8());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of black and white stripes,&lt;br /&gt;
// using code.  Since the palette is effectively an array of&lt;br /&gt;
// sixteen CRGB colors, the various fill_* functions can be used&lt;br /&gt;
// to set them up.&lt;br /&gt;
void SetupBlackAndWhiteStripedPalette()&lt;br /&gt;
{&lt;br /&gt;
  // 'black out' all 16 palette entries...&lt;br /&gt;
  fill_solid( currentPalette, 16, CRGB::Black);&lt;br /&gt;
  // and set every fourth one to white.&lt;br /&gt;
  currentPalette[0] = CRGB::White;&lt;br /&gt;
  currentPalette[4] = CRGB::White;&lt;br /&gt;
  currentPalette[8] = CRGB::White;&lt;br /&gt;
  currentPalette[12] = CRGB::White;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// This function sets up a palette of purple and green stripes.&lt;br /&gt;
void SetupPurpleAndGreenPalette()&lt;br /&gt;
{&lt;br /&gt;
  CRGB purple = CHSV( HUE_PURPLE, 255, 255);&lt;br /&gt;
  CRGB green  = CHSV( HUE_GREEN, 255, 255);&lt;br /&gt;
  CRGB black  = CRGB::Black;&lt;br /&gt;
&lt;br /&gt;
  currentPalette = CRGBPalette16(&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black,&lt;br /&gt;
                     green,  green,  black,  black,&lt;br /&gt;
                     purple, purple, black,  black );&lt;br /&gt;
}&lt;br /&gt;
// This example shows how to set up a static color palette&lt;br /&gt;
// which is stored in PROGMEM (flash), which is almost always more&lt;br /&gt;
// plentiful than RAM.  A static PROGMEM palette like this&lt;br /&gt;
// takes up 64 bytes of flash.&lt;br /&gt;
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =&lt;br /&gt;
{&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray, // 'white' is too bright compared to red and blue&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Red,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Gray,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Blue,&lt;br /&gt;
  CRGB::Black,&lt;br /&gt;
  CRGB::Black&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18536</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18536"/>
				<updated>2022-01-14T10:39:34Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* photo du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18534</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18534"/>
				<updated>2022-01-14T10:39:07Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Equipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
*Kaddah Salah El Dine&lt;br /&gt;
*Malherbe Julie &lt;br /&gt;
*Floch Louane &lt;br /&gt;
*La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18533</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18533"/>
				<updated>2022-01-14T10:38:47Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* photo de l'équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equipe==&lt;br /&gt;
Kaddah Salah El Dine&lt;br /&gt;
Malherbe Julie &lt;br /&gt;
Floch Louane &lt;br /&gt;
La Marre Pierre&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18529</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18529"/>
				<updated>2022-01-14T10:31:45Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser Wemos D1 Mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18528</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18528"/>
				<updated>2022-01-14T10:31:25Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* Wemos D1 Mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser D1 mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18527</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18527"/>
				<updated>2022-01-14T10:30:32Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
*utiliser D1 mini avec arduino:&lt;br /&gt;
http://www.wikidebrouillard.org/wiki/Utiliser_le_D1_mini_avec_Arduino&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18521</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18521"/>
				<updated>2022-01-14T10:24:15Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*code servo moteur:&lt;br /&gt;
https://raspi.tv/2018/using-wemos-d1-mini-to-control-a-brushless-motor-with-esc-and-servo-signals&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18520</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18520"/>
				<updated>2022-01-14T09:53:10Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, rose)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18519</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18519"/>
				<updated>2022-01-14T09:52:33Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* résistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18518</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18518"/>
				<updated>2022-01-14T09:51:42Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* resistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*carton&lt;br /&gt;
*papiers de couleur (blanc, bleu)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18517</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18517"/>
				<updated>2022-01-14T09:51:31Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* resistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*Carton&lt;br /&gt;
*papiers de couleur (blanc, bleu)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18516</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18516"/>
				<updated>2022-01-14T09:51:15Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* resistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*Carton&lt;br /&gt;
*papiers de couleur (blanc, bleu)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*Créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18515</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18515"/>
				<updated>2022-01-14T09:48:03Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* Servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* resistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*Carton&lt;br /&gt;
*papiers de couleur (blanc, bleu)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
*Créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18514</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18514"/>
				<updated>2022-01-14T09:47:14Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* Servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* resistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*Carton&lt;br /&gt;
*papiers de couleur (blanc, bleu)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;br /&gt;
==Sources==&lt;br /&gt;
*Créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
*bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
*bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18513</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18513"/>
				<updated>2022-01-14T09:46:25Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* Servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* resistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*Carton&lt;br /&gt;
*papiers de couleur (blanc, bleu)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;br /&gt;
==Sources==&lt;br /&gt;
Créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
bibliothèque des leds WS2812B (le code utilise l'exemple &amp;quot;ColorPalette&amp;quot; de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18512</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18512"/>
				<updated>2022-01-14T09:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : Une grande roue, illuminée, qui peut tourner dans les 2 sens, et émettre du son&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, émet une musique, et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* Servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B x36 led&lt;br /&gt;
* pack son (Haut parleur; carte son ; lecteur) x1 &lt;br /&gt;
* resistance 100 ohm x1 &lt;br /&gt;
* interrupteur x2 &lt;br /&gt;
Autre:&lt;br /&gt;
*Carton&lt;br /&gt;
*papiers de couleur (blanc, bleu)&lt;br /&gt;
*pics de bois&lt;br /&gt;
* axe cylindrique en bois&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;br /&gt;
==Sources==&lt;br /&gt;
Créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
bibliothèque des leds WS2812B (le code utilise l'exemple couleur de palette de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18511</id>
		<title>ENIB 2022 - groupe B : Grande roue</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_B_:_Grande_roue&amp;diff=18511"/>
				<updated>2022-01-14T09:37:37Z</updated>
		
		<summary type="html">&lt;p&gt;Perglaz : Une grande roue, illuminée, qui peut tourner dans les 2 sens, et émettre du son&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==photo du projet==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)14 janvier 2022 à 10:37 (CET)~&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
La grande roue peut tourner dans les 2 sens, [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)émet une musique[[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET), et est illuminée au niveau de son support&lt;br /&gt;
 &lt;br /&gt;
==Liste des composants==&lt;br /&gt;
Technique:&lt;br /&gt;
* wemos d1 mini x1&lt;br /&gt;
* Servo moteur x1&lt;br /&gt;
* potentiomètre x1 &lt;br /&gt;
* bandeau de led rvb adressable WS2812B [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)x20 led[[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)&lt;br /&gt;
* [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)pack son (Haut parleur; carte son ; lecteur) x1 [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)&lt;br /&gt;
* [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)resistance 100 ohm x1 [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)&lt;br /&gt;
* [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)interrupteur x2 [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)&lt;br /&gt;
[[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)Autre[[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET): &lt;br /&gt;
*Carton&lt;br /&gt;
*papiers de couleur (blanc, bleu, [[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET))&lt;br /&gt;
*pics de bois&lt;br /&gt;
*[[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)axe cylindrique en bois[[Utilisateur:Perglaz|Perglaz]] ([[Discussion utilisateur:Perglaz|discussion]]) 14 janvier 2022 à 10:37 (CET)&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;br /&gt;
==Sources==&lt;br /&gt;
Créer la grande roue: &lt;br /&gt;
https://www.lasdi.com/la-grande-roue.html&lt;br /&gt;
&lt;br /&gt;
bandeau de led rvb adressable WS2812B:&lt;br /&gt;
https://www.raspberryme.com/guide-pour-la-bande-led-rvb-adressable-ws2812b-avec-arduino/&lt;br /&gt;
bibliothèque des leds WS2812B (le code utilise l'exemple couleur de palette de cette bibliothèque):&lt;br /&gt;
https://github.com/FastLED/FastLED/archive/master.zip&lt;/div&gt;</summary>
		<author><name>Perglaz</name></author>	</entry>

	</feed>