Auteurs : Elèves de 1e STI2D Malohé P. et Emilie PClasse : STI2D

La lampe éphémère

Lycée Haroun Tazieff, Saint-Paul-lès-DaxAnnée 2023-2024

Introduction

Objectif du projet

Nous créons une lampe qui doit être capable de réguler sa luminosité en fonction de la lumière du jour pour éclairer parfaitement a toute heure de la journée. Ce projet peut être utilisé à plus grande échelle que celle d'une simple lampe de bureau, on pourrait l'utiliser également pour éclairer une maison dans son intégralité, ainsi qu'un jardin ( ou dans le programme nous pourrions y intégrer un détecteur de mouvements pour déclencher l'allumage des lumières ), les rues d'une ville, des écoles et encore pleins d'autres projets possibles. Mais pour cela il faudra adapter le programme selon leur utilité

Description du projet

C’est une lampe en formes d’octogone avec 6 leds placer à l’intérieur sur les parois et un pied pour pouvoir la poser avec un couvercle fin fait en 3D. Les 6 leds seront poser sur des platines et alimenté par une pile. Le câblage et la carte seront placer au fond de la lampe. Un bouton poussoir servira à allumer et éteindre la lampe. Elle adaptera son intensité de lumière en fonction de la lumière de jour.

Schéma bête à corne

Au cours de l’année, nous avons travaillé sur un projet de lampe éphémère, pour cela nous avons utilisé ces éléments :

Pour relier tout ce système nous avons soudé tous les câbles nécessaires au bon fonctionnement du système sur une plaque d'essais.

Câblage

Schéma du câblage

Références

6Led blancheL5W10K
1Carte arduino unoATMega328
1photorésistanceGL5528
1plaque d'essaisBCS100
NombreDésignationObservation

Photo du câblage pour test

Programme

Ce programme sert à faire varier la luminosité des dels en fonction de la lumière déjà présente dans l'environnement où se trouve la lampe grâce à la photorésistance et, avec le bouton poussoir, nous avons la possibilité d'allumer et éteindre la lampe.

Version 1

Ce programme sert a tester le bouton poussoir avec une del.

int etat;
	
void setup() {
  pinMode(8, INPUT_PULLUP);
  pinMode(9, OUTPUT);
  etat=0;
}
	
void loop() {
  if (digitalRead(8)==LOW) {                 // le bouton semble actionné?
    delay(10);                               // courte attente
    if (digitalRead(8)==LOW) {               // le bouton est effectivement actionné!
      while (digitalRead(8)==LOW) delay(10); // longue attente jusqu'à ce que le bouton soit relâché
      // changement de l'état de la mémoire
      if (etat==1) etat=0;
      else etat=1;
    }
  }
  // visualisation de l'état de la mémoire
  if (etat==0) digitalWrite(9, LOW);
  else digitalWrite(9, HIGH);
}

Version 2

Ce programme sert a tester différentes variations de luminosité sur 3 dels.

int etat=0;

void setup() {
  pinMode(8, INPUT_PULLUP);
  pinMode(9, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  if (digitalRead(8)==LOW) {                 // le bouton semble actionné?
    delay(10);                               // courte attente
    if (digitalRead(8)==LOW) {               // le bouton est effectivement actionné!
      while (digitalRead(8)==LOW) delay(10); // longue attente jusqu'à ce que le bouton soit relâché
      // changement de l'état de la mémoire
      if (etat==1) etat=0;
      else etat=1;
    }
  }
  // visualisation de l'état de la mémoire
  if (etat==1) {
    Serial.println("système en marche");
    delay(200); 
    int luminosite=analogRead(0); // Valeur allant de 0 à 1023
    Serial.println(luminosite);
    int eclairage; // Valeur a définir entre 0 et 255
    if ( 20>luminosite && luminosite>0 ) { eclairage=20; }
    if ( 60>luminosite && luminosite>20 ) { eclairage=80; }
    if ( 500>luminosite && luminosite>60 ) { eclairage=220; }
    analogWrite(3,eclairage);
    //analogWrite(3,luminosite/4);
    /*
    int seuil=500;
    if (luminosite>seuil) {
      analogWrite(3,20);
      //digitalWrite(2, HIGH);
      //digitalWrite(3, LOW);
    }
    else {
      analogWrite(3,200);
      //digitalWrite(3, HIGH);
      //digitalWrite(2, LOW);
    }
    */
  }
  else {
    Serial.println("système à l'arrêt");
    delay(200);
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
  }
}

Version 3

Ce programme utilise un calcul de la luminosité pour faire différentes variations de l'éclairage des 6 dels .


int etat=0;

void setup() {
  pinMode(8, INPUT_PULLUP);
  pinMode(9, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  if (digitalRead(8)==LOW) {                 // le bouton semble actionné?
    delay(10);                               // courte attente
    if (digitalRead(8)==LOW) {               // le bouton est effectivement actionné!
      while (digitalRead(8)==LOW) delay(10); // longue attente jusqu'à ce que le bouton soit relâché
      // changement de l'état de la mémoire
      if (etat==1) etat=0;
      else etat=1;
    }
  }
  if (etat==1) {
    Serial.println("système en marche");
    delay(200); 
    int luminosite=analogRead(0); // Valeur allant de 0 à 1023
    Serial.println(luminosite);

    int eclairage = map(luminosite, 850, 300, 255, 0);
    if (eclairage>255) eclairage=255;
    if (eclairage<0) eclairage=0;
    Serial.println(eclairage);
    analogWrite(3,eclairage);
    analogWrite(5,eclairage);
    analogWrite(6,eclairage);
    analogWrite(9,eclairage);
    analogWrite(10,eclairage);
    analogWrite(11,eclairage);
  }
  else {
    Serial.println("système à l'arrêt");
    delay(200);
    digitalWrite(5, LOW);
    digitalWrite(3, LOW);
    digitalWrite(6, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
  }
}

Modélisation 3d

Corps de lampe

Pied de la lampe

Assemblage

Liens pour le téléchargement des pièces

Les liens pied_de_lampe.STL et pied_de_lampe.SLDPRT permettent de télécharger l'exemple ci-dessus.

Les liens prototype.STL et prototype.SLDPRT permettent de télécharger l'exemple ci-dessus.

Photos du modèle réalisé

Vue de face

Vue de face ( lampe en fonction )

Début de l'assemblage

Soudage en cours

Soudage terminé

Vidéo

Vidéo du projet fini

Image du prototype réalisé

Eclairage plafonnier

Conclusion

Nous avons terminé notre projet dans les temps. On a pu rencontrer quelques problèmes durant la conception de notre lampe éphémère tels que des problèmes de programmation, un problème d'impression pour notre lampe, des problèmes de câblage durant le soudage entre les dels, les résistances, les plaques et la carte arduino uno et également des problèmes de capteur.