Horloge Lunaire : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Fabrication de la lune)
 
(49 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Dans le cadre du Gasthon, nous, étudiants et étudiantes de l'ENIB avons du réaliser un projet durant deux jours, et voici notre histoire
+
Dans le cadre du Gasthon, nous, étudiants et étudiantes de l'ENIB avons du réaliser un projet durant deux jours, et voici notre histoire.
  
 
[[Image:Logo-enib.png|200px]]
 
[[Image:Logo-enib.png|200px]]
  
 
==Description du Projet==
 
==Description du Projet==
Notre projet à pour but de simuler une lune et son cycle dans l'année, jour après jour.
+
Notre projet a pour but de simuler une lune et son cycle dans l'année, jour après jour.
  
Vous ne pouvez pas voir la lune a cause du ciel Brestois ? Utiliser notre horloge lunaire et découvrez son cycle !
+
Vous ne pouvez pas voir la lune a cause du ciel Brestois ? Utilisez notre horloge lunaire et découvrez son cycle !
 +
 
 +
 
 +
[[Fichier:phase1.jpg|200px]] [[Fichier:phase 2.jpg|200px]] [[Fichier:phase3.jpg|200px]] [[Fichier:phase4.jpg|200px]]
  
 
==Les Objectifs==
 
==Les Objectifs==
Durant les deux jours du Gasthon les étudiants et étudiantes de l'ENIB auront pour but de mettre en application leurs compétences technique autour du numérique (arduino, mais aussi soudure, utilisation de découpeuse laser...).  
+
Durant les deux jours du Gasthon les étudiants et étudiantes de l'ENIB auront pour but de mettre en application leurs compétences techniques autour du numérique (arduino, mais aussi soudure, utilisation de découpeuse laser...).  
Pour créer un objet loufoque ( dont l'utilité laisse à désirer donc) amusant à utiliser, et reproductible pour les grands comme pour les petits.
+
Pour créer un objet loufoque (dont l'utilité laisse à désirer donc) amusant à utiliser, et reproductible pour les grands comme pour les petits.
  
 
==La conception==
 
==La conception==
===Etapes de concepetion===
+
===Etapes de concpetion===
 +
 
 +
====Plans====
 +
 
 +
[[Fichier:plan1.jpg|200px]] [[Fichier:plan2.jpg|200px]]
 +
 
 
====Fabrication de la lune====
 
====Fabrication de la lune====
 
*'''LE SOCLE'''
 
*'''LE SOCLE'''
Nous avons tout d'abord décider de fabriquer le socle qui servirait ensuite de moule pour fabriquer la lune.  
+
Dans un premier lieu, il nous fallait un socle pour positioner la lampe-lune. Nous avons penser le faire à la découpeuse laser (en bois). Mais par manque de temps, nous avons décidé de le faire en carton.
Avant tout nous avons découper un cercle de 15 cm de rayon dans du carton.
+
Puis nous avons découper 6 demi cercles de 15 cm de rayon.  
+
Avant tout nous avons découpé un cercle de 15 cm de rayon dans du carton,puis 6 demi-cercles de 15 cm de rayon.  
Par la suite nous avons découpé dans l'un des demis cercles 5 encoches de 10 cm de long aux angles suivants 30°, 60°, 90°, 120° et 150°.  
+
Par la suite nous avons coupé dans l'un des demi-cercles 5 encoches de 10 cm de long aux angles suivants 30°, 60°, 90°, 120° et 150°.  
 
Nous avons ensuite inséré les 5 autres demi cercles dans les différentes encoches de façon à former une demi-sphère.
 
Nous avons ensuite inséré les 5 autres demi cercles dans les différentes encoches de façon à former une demi-sphère.
Puis, après avoir planté des piques en bois dans le demi cercle à encoches, nous avons pu le fixer au cercle complet sur le quel la demi-sphère se pose.
+
Puis, après avoir planté des piques en bois dans le demi-cercle à encoches, nous avons pu le fixer au cercle complet sur le quel la demi-sphère se pose.
 
A la fin nous avons obtenu quelque chose de semblable à ceci :
 
A la fin nous avons obtenu quelque chose de semblable à ceci :
  
Ligne 28 : Ligne 36 :
  
  
Les différents demi cercle coupe la demi-sphère en 6 'quartiers' dans lesquels les rubans LED seront cachés derrière la lune, nous verrons par la suite comment les allumés les unes après les autres pour simuler l'évolution du cycle lunaire grâce à un arduino uno.
+
Les différents demi-cercles coupent la demi-sphère en 6 'quartiers' dans lesquels les rubans LED seront cachés derrière la lune.
  
 +
*'''LA LUNE'''
 +
Pour frabriquer la lune nous avons décidé d'utiliser notre socle en tant que moule. Nous l'avons donc recouvert de cellophane, puis nous avons étalé sur la surface de la colle à papier cléopatre, sur laquelle nous avons ensuite disposé des lambeaux de papier essuis-tout.
 +
Nous l'avons fait séché, puis nous avons recouvert la première couche par une seconde. Et ainsi de suite, nous avons fait d'autre couche une fois la précédente séchée, et ceci jusqu'à obtenir une surface suffisament épaisse.
  
*'''LA LUNE'''
 
  
 +
[[Fichier:Lune1.jpg|300px]] [[Fichier:bandelettes.jpg|300px]]
 +
[[Fichier:sechage_lune.jpg|300px]]
 +
 +
*'''L'éclairage'''
 +
 +
Pour l'éclairage, nous avons choisi d'utiliser un ruban LED. Il a fallu dans un premier temps découper différentes bandelettes de LEDs.
 +
Il faut simplement couper avec des ciseaux à la longueur désirée en suivant les pointillés.
 +
 +
[[Fichier: bande_Leds.jpg|300px]]
  
[[Fichier:Lune1.jpg|300px]]
+
Il faut retirer la protection plastique pour pouvoir accès à la zone de soudure. Nous avons donc souder un fil rouge sur l'alimentation 5V, un vert sur la patte DIN, et un fil noir pour la masse (GND : ground).
 +
Prendre soins de se protéger des vapeurs dégagées par l'étain lors de la soudure. Il faut ensuite mettre du ruban isolant pour protéger cette zone. Nous n'en avions pas.
  
===Plan===
 
 
===Code===
 
===Code===
 +
 +
Le code ci dessous permet d'allumer une a une chaque led dans un intervalle de 4 secondes
 +
 +
 +
<pre>
 +
#include <Adafruit_NeoPixel.h> // Charge la librairie Neo Pixel d'Adafruit utilisé pour piloter le ruban de LED
 +
 +
#define PIXEL_PIN6 6 // On définit le pin où est connecté la patte DATA du bandeau
 +
#define PIXEL_PIN5 5
 +
#define PIXEL_PIN4 4
 +
#define PIXEL_PIN3 3
 +
#define PIXEL_PIN2 2
 +
#define PIXEL_PIN1 1
 +
#define PIXEL_COUNT 3 // On définit le nombre de LED compris sur le Ruban de LED soit 150 pour le ruban de 5m50
 +
 +
Adafruit_NeoPixel strip1 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN1, NEO_GRB + NEO_KHZ800); // Paramètre l'objet strip qui correspond à toute les LED du ruban
 +
Adafruit_NeoPixel strip2 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN2, NEO_GRB + NEO_KHZ800);
 +
Adafruit_NeoPixel strip3 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN3, NEO_GRB + NEO_KHZ800);
 +
Adafruit_NeoPixel strip4 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN4, NEO_GRB + NEO_KHZ800);
 +
Adafruit_NeoPixel strip5 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN5, NEO_GRB + NEO_KHZ800);
 +
Adafruit_NeoPixel strip6 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN6, NEO_GRB + NEO_KHZ800);
 +
 +
int phase=1;
 +
void setup() {
 +
  strip1.begin(); // Lance la connection
 +
  strip1.show(); // Initialise toute les led à 'off'
 +
  strip2.begin(); // Lance la connection
 +
  strip2.show(); // Initialise toute les led à 'off'
 +
      strip3.begin(); // Lance la connection
 +
  strip3.show(); // Initialise toute les led à 'off'
 +
      strip4.begin(); // Lance la connection
 +
  strip4.show(); // Initialise toute les led à 'off'
 +
      strip5.begin(); // Lance la connection
 +
  strip5.show(); // Initialise toute les led à 'off'
 +
      strip6.begin(); // Lance la connection
 +
  strip6.show(); // Initialise toute les led à 'off'
 +
}
 +
 +
void led(int phase)
 +
{
 +
 +
  if(phase==1)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,0,0,0);
 +
    strip2.setPixelColor(i,0,0,0);
 +
    strip3.setPixelColor(i,0,0,0);
 +
    strip4.setPixelColor(i,0,0,0);
 +
    strip5.setPixelColor(i,0,0,0);
 +
    strip6.setPixelColor(i,0,0,0);
 +
    }
 +
    }
 +
 +
  if(phase==2)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,255,255,255);
 +
    strip2.setPixelColor(i,0,0,0);
 +
    strip3.setPixelColor(i,0,0,0);
 +
    strip4.setPixelColor(i,0,0,0);
 +
    strip5.setPixelColor(i,0,0,0);
 +
    strip6.setPixelColor(i,0,0,0);
 +
    }
 +
 
 +
  }
 +
 +
 +
if(phase==3)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,255,255,255);
 +
    strip2.setPixelColor(i,255,255,255);
 +
    strip3.setPixelColor(i,0,0,0);
 +
    strip4.setPixelColor(i,0,0,0);
 +
    strip5.setPixelColor(i,0,0,0);
 +
    strip6.setPixelColor(i,0,0,0);
 +
    }
 +
 
 +
  }
 +
 
 +
if(phase==4)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,255,255,255);
 +
    strip2.setPixelColor(i,255,255,255);
 +
    strip3.setPixelColor(i,255,255,255);
 +
    strip4.setPixelColor(i,0,0,0);
 +
    strip5.setPixelColor(i,0,0,0);
 +
    strip6.setPixelColor(i,0,0,0);
 +
    }
 +
 
 +
  }
 +
if(phase==5)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,255,255,255);
 +
    strip2.setPixelColor(i,255,255,255);
 +
    strip3.setPixelColor(i,255,255,255);
 +
    strip4.setPixelColor(i,255,255,255);
 +
    strip5.setPixelColor(i,0,0,0);
 +
    strip6.setPixelColor(i,0,0,0);
 +
    }
 +
 
 +
  }
 +
if(phase==6)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,255,255,255);
 +
    strip2.setPixelColor(i,255,255,255);
 +
    strip3.setPixelColor(i,255,255,255);
 +
    strip4.setPixelColor(i,255,255,255);
 +
    strip5.setPixelColor(i,255,255,255);
 +
    strip6.setPixelColor(i,0,0,0);
 +
    }
 +
  }
 +
 +
if(phase==7)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,255,255,255);
 +
    strip2.setPixelColor(i,255,255,255);
 +
    strip3.setPixelColor(i,255,255,255);
 +
    strip4.setPixelColor(i,255,255,255);
 +
    strip5.setPixelColor(i,255,255,255);
 +
    strip6.setPixelColor(i,255,255,255);
 +
    }
 +
  }
 +
if(phase==8)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,0,0,0);
 +
    strip2.setPixelColor(i,255,255,255);
 +
    strip3.setPixelColor(i,255,255,255);
 +
    strip4.setPixelColor(i,255,255,255);
 +
    strip5.setPixelColor(i,255,255,255);
 +
    strip6.setPixelColor(i,255,255,255);
 +
    }
 +
  }
 +
  if(phase==9)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,0,0,0);
 +
    strip2.setPixelColor(i,0,0,0);
 +
    strip3.setPixelColor(i,255,255,255);
 +
    strip4.setPixelColor(i,255,255,255);
 +
    strip5.setPixelColor(i,255,255,255);
 +
    strip6.setPixelColor(i,255,255,255);
 +
    }
 +
  }
 +
  if(phase==10)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,0,0,0);
 +
    strip2.setPixelColor(i,0,0,0);
 +
    strip3.setPixelColor(i,0,0,0);
 +
    strip4.setPixelColor(i,255,255,255);
 +
    strip5.setPixelColor(i,255,255,255);
 +
    strip6.setPixelColor(i,255,255,255);
 +
    }
 +
  }
 +
  if(phase==11)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,0,0,0);
 +
    strip2.setPixelColor(i,0,0,0);
 +
    strip3.setPixelColor(i,0,0,0);
 +
    strip4.setPixelColor(i,255,255,255);
 +
    strip5.setPixelColor(i,255,255,255);
 +
    strip6.setPixelColor(i,255,255,255);
 +
    }
 +
  }
 +
  if(phase==12)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,0,0,0);
 +
    strip2.setPixelColor(i,0,0,0);
 +
    strip3.setPixelColor(i,0,0,0);
 +
    strip4.setPixelColor(i,0,0,0);
 +
    strip5.setPixelColor(i,255,255,255);
 +
    strip6.setPixelColor(i,255,255,255);
 +
    }
 +
  }
 +
  if(phase==13)
 +
  {
 +
    for(int i=0; i<3 ; ++i)
 +
  {
 +
    strip1.setPixelColor(i,0,0,0);
 +
    strip2.setPixelColor(i,0,0,0);
 +
    strip3.setPixelColor(i,0,0,0);
 +
    strip4.setPixelColor(i,0,0,0);
 +
    strip5.setPixelColor(i,0,0,0);
 +
    strip6.setPixelColor(i,255,255,255);
 +
    }
 +
  }
 +
    strip1.show();
 +
    strip2.show();
 +
    strip3.show();
 +
    strip4.show();
 +
    strip5.show();
 +
    strip6.show();
 +
  }
 +
 +
 
 +
void loop() {
 +
  strip1.setBrightness(100); // Règle la luminosité à 100 % de la luminosité maximale
 +
  strip2.setBrightness(100);
 +
  strip3.setBrightness(100);
 +
  strip4.setBrightness(100);
 +
  strip5.setBrightness(100);
 +
  strip6.setBrightness(100);
 +
 
 +
 +
led(phase);
 +
delay(1000);
 +
++phase;
 +
if(phase>13)
 +
{phase=1;}
 +
 +
}
 +
 +
 +
 +
 +
 +
 +
</pre>
 +
 +
===Câblage===
 +
Nous avons d'abord simplement brancher nos Leds.
 +
 +
[[Fichier:arduino_lune.jpg|300px]] [[Fichier:labdec_lune.jpg|300px]]
 +
 +
 +
Nous avons ensuite mis une boite en dessous de notre lune pour câcher tout le câblage. Nous avons mis le code sur notre carte Arduino, puis nous l'avons alimenter par pile.
 +
 +
[[Fichier:boite_lune.jpg|300px]] [[Fichier:lune_fonction.jpg|300px]]
 +
 +
Nous avons fixé les Leds avex du scotch.
 +
 +
[[Fichier:schema_lune.png|600px]]
 +
 +
==Idées optionelles==
 +
 +
Nous avions pensé à d'autres idées, mais pour respecter le délai du marathon, nous n'avons pas pu tout réaliser. Nous avons eu aussi des problèmes qui ont ralenti notre avancé. Nous avions côdé et câblé un afficheur qui devait afficher le jour de la phase lunaire, mais comme ce n'était pas une idée prioritaire de notre projet et que nous avions des problèmes avec les bandes-LEDs, nous avons supprimé cet aspect de notre projet.
 +
 +
Le socle ainsi que la lune pouvaient être réalisés plus estéthiquement, par découpage laser de plaques de bois et par impression d'une demi lune à l'imprimente 3D en utilisant un plastique assez translucide.
 +
 +
Il nous manquait un module RTC pour realiser un affichage realiste du cycle lunaire.
  
 
==L'équipe==
 
==L'équipe==
Ligne 47 : Ligne 326 :
 
==Matériels==
 
==Matériels==
 
*Un arduino uno
 
*Un arduino uno
 +
*Plaque Labdec
 
*Un module afficheur
 
*Un module afficheur
 
*30cm de ruban Led
 
*30cm de ruban Led
 
*Du carton
 
*Du carton
*De la colle Cléopatre
+
*De la colle à papier Cléopatre
 
*Du papier essuis-tout
 
*Du papier essuis-tout
 
*Câbles connecteurs, pinces coupantes, fer à souder etc...
 
*Câbles connecteurs, pinces coupantes, fer à souder etc...
  
 
==Ressources==
 
==Ressources==
 +
 +
[https://www.instructables.com/id/3Dprinted-Lunar-Phase-Clock/ Lien Instructables pour une horloge plus avancé]
  
  
 
[[catégorie:Enib2019]]
 
[[catégorie:Enib2019]]
[[catégorie:Enib]]
+
[[catégorie:Enib]][[Catégorie:led]][[Catégorie:ruban de led]][[Catégorie:WS1812B]]

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

Dans le cadre du Gasthon, nous, étudiants et étudiantes de l'ENIB avons du réaliser un projet durant deux jours, et voici notre histoire.

Logo-enib.png

Description du Projet

Notre projet a pour but de simuler une lune et son cycle dans l'année, jour après jour.

Vous ne pouvez pas voir la lune a cause du ciel Brestois ? Utilisez notre horloge lunaire et découvrez son cycle !


Phase1.jpg Phase 2.jpg Phase3.jpg Phase4.jpg

Les Objectifs

Durant les deux jours du Gasthon les étudiants et étudiantes de l'ENIB auront pour but de mettre en application leurs compétences techniques autour du numérique (arduino, mais aussi soudure, utilisation de découpeuse laser...). Pour créer un objet loufoque (dont l'utilité laisse à désirer donc) amusant à utiliser, et reproductible pour les grands comme pour les petits.

La conception

Etapes de concpetion

Plans

Plan1.jpg Plan2.jpg

Fabrication de la lune

  • LE SOCLE

Dans un premier lieu, il nous fallait un socle pour positioner la lampe-lune. Nous avons penser le faire à la découpeuse laser (en bois). Mais par manque de temps, nous avons décidé de le faire en carton.

Avant tout nous avons découpé un cercle de 15 cm de rayon dans du carton,puis 6 demi-cercles de 15 cm de rayon. Par la suite nous avons coupé dans l'un des demi-cercles 5 encoches de 10 cm de long aux angles suivants 30°, 60°, 90°, 120° et 150°. Nous avons ensuite inséré les 5 autres demi cercles dans les différentes encoches de façon à former une demi-sphère. Puis, après avoir planté des piques en bois dans le demi-cercle à encoches, nous avons pu le fixer au cercle complet sur le quel la demi-sphère se pose. A la fin nous avons obtenu quelque chose de semblable à ceci :


Socle.jpg


Les différents demi-cercles coupent la demi-sphère en 6 'quartiers' dans lesquels les rubans LED seront cachés derrière la lune.

  • LA LUNE

Pour frabriquer la lune nous avons décidé d'utiliser notre socle en tant que moule. Nous l'avons donc recouvert de cellophane, puis nous avons étalé sur la surface de la colle à papier cléopatre, sur laquelle nous avons ensuite disposé des lambeaux de papier essuis-tout. Nous l'avons fait séché, puis nous avons recouvert la première couche par une seconde. Et ainsi de suite, nous avons fait d'autre couche une fois la précédente séchée, et ceci jusqu'à obtenir une surface suffisament épaisse.


Lune1.jpg Bandelettes.jpg Sechage lune.jpg

  • L'éclairage

Pour l'éclairage, nous avons choisi d'utiliser un ruban LED. Il a fallu dans un premier temps découper différentes bandelettes de LEDs. Il faut simplement couper avec des ciseaux à la longueur désirée en suivant les pointillés.

Bande Leds.jpg

Il faut retirer la protection plastique pour pouvoir accès à la zone de soudure. Nous avons donc souder un fil rouge sur l'alimentation 5V, un vert sur la patte DIN, et un fil noir pour la masse (GND : ground). Prendre soins de se protéger des vapeurs dégagées par l'étain lors de la soudure. Il faut ensuite mettre du ruban isolant pour protéger cette zone. Nous n'en avions pas.

Code

Le code ci dessous permet d'allumer une a une chaque led dans un intervalle de 4 secondes


#include <Adafruit_NeoPixel.h> // Charge la librairie Neo Pixel d'Adafruit utilisé pour piloter le ruban de LED

#define PIXEL_PIN6 6 // On définit le pin où est connecté la patte DATA du bandeau
#define PIXEL_PIN5 5
#define PIXEL_PIN4 4
#define PIXEL_PIN3 3
#define PIXEL_PIN2 2
#define PIXEL_PIN1 1
#define PIXEL_COUNT 3 // On définit le nombre de LED compris sur le Ruban de LED soit 150 pour le ruban de 5m50

Adafruit_NeoPixel strip1 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN1, NEO_GRB + NEO_KHZ800); // Paramètre l'objet strip qui correspond à toute les LED du ruban
Adafruit_NeoPixel strip2 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip3 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN3, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip4 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN4, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip5 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN5, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip6 = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN6, NEO_GRB + NEO_KHZ800);

int phase=1;
void setup() {
   strip1.begin(); // Lance la connection
   strip1.show(); // Initialise toute les led à 'off'
   strip2.begin(); // Lance la connection
   strip2.show(); // Initialise toute les led à 'off'
      strip3.begin(); // Lance la connection
   strip3.show(); // Initialise toute les led à 'off'
      strip4.begin(); // Lance la connection
   strip4.show(); // Initialise toute les led à 'off'
      strip5.begin(); // Lance la connection
   strip5.show(); // Initialise toute les led à 'off'
      strip6.begin(); // Lance la connection
   strip6.show(); // Initialise toute les led à 'off'
}

void led(int phase)
{

  if(phase==1)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,0,0,0);
    strip2.setPixelColor(i,0,0,0);
    strip3.setPixelColor(i,0,0,0);
    strip4.setPixelColor(i,0,0,0);
    strip5.setPixelColor(i,0,0,0);
    strip6.setPixelColor(i,0,0,0);
    }
    }

  if(phase==2)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,255,255,255);
    strip2.setPixelColor(i,0,0,0);
    strip3.setPixelColor(i,0,0,0);
    strip4.setPixelColor(i,0,0,0);
    strip5.setPixelColor(i,0,0,0);
    strip6.setPixelColor(i,0,0,0);
    }
  
  }


if(phase==3)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,255,255,255);
    strip2.setPixelColor(i,255,255,255);
    strip3.setPixelColor(i,0,0,0);
    strip4.setPixelColor(i,0,0,0);
    strip5.setPixelColor(i,0,0,0);
    strip6.setPixelColor(i,0,0,0);
    }
  
  }
  
if(phase==4)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,255,255,255);
    strip2.setPixelColor(i,255,255,255);
    strip3.setPixelColor(i,255,255,255);
    strip4.setPixelColor(i,0,0,0);
    strip5.setPixelColor(i,0,0,0);
    strip6.setPixelColor(i,0,0,0);
    }
  
  }
if(phase==5)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,255,255,255);
    strip2.setPixelColor(i,255,255,255);
    strip3.setPixelColor(i,255,255,255);
    strip4.setPixelColor(i,255,255,255);
    strip5.setPixelColor(i,0,0,0);
    strip6.setPixelColor(i,0,0,0);
    }
  
  }
if(phase==6)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,255,255,255);
    strip2.setPixelColor(i,255,255,255);
    strip3.setPixelColor(i,255,255,255);
    strip4.setPixelColor(i,255,255,255);
    strip5.setPixelColor(i,255,255,255);
    strip6.setPixelColor(i,0,0,0);
    }
  }

if(phase==7)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,255,255,255);
    strip2.setPixelColor(i,255,255,255);
    strip3.setPixelColor(i,255,255,255);
    strip4.setPixelColor(i,255,255,255);
    strip5.setPixelColor(i,255,255,255);
    strip6.setPixelColor(i,255,255,255);
    }
  }
if(phase==8)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,0,0,0);
    strip2.setPixelColor(i,255,255,255);
    strip3.setPixelColor(i,255,255,255);
    strip4.setPixelColor(i,255,255,255);
    strip5.setPixelColor(i,255,255,255);
    strip6.setPixelColor(i,255,255,255);
    }
  }
  if(phase==9)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,0,0,0);
    strip2.setPixelColor(i,0,0,0);
    strip3.setPixelColor(i,255,255,255);
    strip4.setPixelColor(i,255,255,255);
    strip5.setPixelColor(i,255,255,255);
    strip6.setPixelColor(i,255,255,255);
    }
  }
  if(phase==10)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,0,0,0);
    strip2.setPixelColor(i,0,0,0);
    strip3.setPixelColor(i,0,0,0);
    strip4.setPixelColor(i,255,255,255);
    strip5.setPixelColor(i,255,255,255);
    strip6.setPixelColor(i,255,255,255);
    }
  }
  if(phase==11)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,0,0,0);
    strip2.setPixelColor(i,0,0,0);
    strip3.setPixelColor(i,0,0,0);
    strip4.setPixelColor(i,255,255,255);
    strip5.setPixelColor(i,255,255,255);
    strip6.setPixelColor(i,255,255,255);
    }
  }
  if(phase==12)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,0,0,0);
    strip2.setPixelColor(i,0,0,0);
    strip3.setPixelColor(i,0,0,0);
    strip4.setPixelColor(i,0,0,0);
    strip5.setPixelColor(i,255,255,255);
    strip6.setPixelColor(i,255,255,255);
    }
  }
  if(phase==13)
  {
    for(int i=0; i<3 ; ++i)
  {
    strip1.setPixelColor(i,0,0,0);
    strip2.setPixelColor(i,0,0,0);
    strip3.setPixelColor(i,0,0,0);
    strip4.setPixelColor(i,0,0,0);
    strip5.setPixelColor(i,0,0,0);
    strip6.setPixelColor(i,255,255,255);
    }
  }
    strip1.show();
    strip2.show();
    strip3.show();
    strip4.show();
    strip5.show();
    strip6.show();
  }

  
void loop() {
  strip1.setBrightness(100); // Règle la luminosité à 100 % de la luminosité maximale
  strip2.setBrightness(100);
  strip3.setBrightness(100);
  strip4.setBrightness(100);
  strip5.setBrightness(100);
  strip6.setBrightness(100);
  

led(phase);
delay(1000);
++phase;
if(phase>13)
{phase=1;}

}






Câblage

Nous avons d'abord simplement brancher nos Leds.

Arduino lune.jpg Labdec lune.jpg


Nous avons ensuite mis une boite en dessous de notre lune pour câcher tout le câblage. Nous avons mis le code sur notre carte Arduino, puis nous l'avons alimenter par pile.

Boite lune.jpg Lune fonction.jpg

Nous avons fixé les Leds avex du scotch.

Schema lune.png

Idées optionelles

Nous avions pensé à d'autres idées, mais pour respecter le délai du marathon, nous n'avons pas pu tout réaliser. Nous avons eu aussi des problèmes qui ont ralenti notre avancé. Nous avions côdé et câblé un afficheur qui devait afficher le jour de la phase lunaire, mais comme ce n'était pas une idée prioritaire de notre projet et que nous avions des problèmes avec les bandes-LEDs, nous avons supprimé cet aspect de notre projet.

Le socle ainsi que la lune pouvaient être réalisés plus estéthiquement, par découpage laser de plaques de bois et par impression d'une demi lune à l'imprimente 3D en utilisant un plastique assez translucide.

Il nous manquait un module RTC pour realiser un affichage realiste du cycle lunaire.

L'équipe

  • Courtel--Sourdeau Pierre
  • El khoury Nadia
  • Harkati Amna
  • Kepfer Paulin

Matériels

  • Un arduino uno
  • Plaque Labdec
  • Un module afficheur
  • 30cm de ruban Led
  • Du carton
  • De la colle à papier Cléopatre
  • Du papier essuis-tout
  • Câbles connecteurs, pinces coupantes, fer à souder etc...

Ressources

Lien Instructables pour une horloge plus avancé