Table des matières

Lumy

  • Porteur du projet : davy
  • Licence : libre !

Description

Objectif:

  • Varier l'intensité lumineuse selon la proximité de l'utilisateur.
  • Utiliser des procédés artisanaux de mise en forme (bois).

Matériaux

  • Planches contreplaqué
  • Planches Cp bois (3mm) x 2
  • Strip Led
  • Serre joints
  • Fer à repasser
  • Carte Arduino Uno
  • Détecteur de luminosité
  • Détecteur de proximité (ultrason)
  • Strip Led convertisseur de tension

Tutoriel

Bois:
Découper, poncer et assembler les planches de contreplaqués pour former le gabarit. Humidifier la planche de Cp à l'eau chaude et passer le fer à repasser dessus afin de ramollir la pulpe du bois. Venir enrober le gabarit avec la planche de Cp. Mesurer et couper la longueur nécessaire pour cerner complètement le gabarit. Maintenir la première planche de CP autour du gabarit.

Répéter le procédé pour la deuxième planche de Cp en veillant à ce que le point de jointure sois de l'autre côté que celui de la première planche. Déposer de la colle entre les deux planches et maintenir avec les serre joints pendant 24h. Retirer le gabarit.

Découper et monter le boitier qui contiendras tout l'électronique. (dimension minimum 12/12 cm pour une profondeur de 6 cm en prévoyant les sorties fils d'alimentations).


Arduino:
Connecter les capteurs à la carte Arduino. Sensor ultrason pin 12 et 11 Sensor Digital light pin A0 Alim+12 au sur le Strip Convertisseur lui même relié à la carte au pin3 ( pour les bandes Led blanches connecter le +12 sur la broche R du RVB) Doc : http://www.seeedstudio.com/wiki/Grove_-_LED_Strip_Driver

Plan programmation:

Le capteur de luminosité informe si oui ou non il y a de la lumière. Si oui, rien ne se passe. Si non, le capteur ultrason va vérifier une présence et la proximité à l'objet. On convertis la mesure cm en valeur de 0 à 255. Le driver Led écris sur R ( broche RVB) la valeur trouvé.

Code: Ne pas oublier de télécharger et transférer les librairies de chaque composants.

#include <RGBdriver.h>  
#include "RGBdriver.h" 
#include <Digital_Light_TSL2561.h>
#include <Ultrasonic.h> 
#include <Wire.h>  
#define CLK 2//pins definitions for the driver   
#define DIO 3  
 
RGBdriver Driver(CLK, DIO); 
 
int photocellPin = 0;
int photocellReading; // the analog reading from the analog resistor divider
int trig = 12;   // capteur proximité
int echo = 11;
long lecture_echo;
long cm;
int pin = 3;
int vallum = 0;
 
void setup(void) {
  Serial.begin(9600);
  pinMode(trig, OUTPUT);
  digitalWrite(trig, LOW);
  pinMode(echo, INPUT);
  pinMode(3, OUTPUT);
}
 
void loop(void) {
  photocellReading = analogRead(photocellPin);
  Serial.print("Analog reading = ");
  Serial.print(photocellReading);
 
  if (photocellReading < 200) {
    digitalWrite(trig, HIGH);
    delayMicroseconds(10);
    digitalWrite(trig, LOW);
    lecture_echo = pulseIn(echo, HIGH); 
    cm = lecture_echo / 58; 
    Serial.print("Distance en cm : "); 
    Serial.println(cm); 
    delay(100);
 
    if (cm < 80)
      vallum = map(cm, 100, 0, 0, 255);
    Driver.begin(); // begin
    Driver.SetColor(vallum, 0, 0); //Red. first node data
    Driver.end();
    delay(5);
    Serial.print("Vallum : ");
    Serial.println(vallum);
    delay(500);
  }
  else if (photocellReading > 200) {
    Serial.println(" - Lumineux");
    delay(5);
    Driver.begin(); // begin
    Driver.SetColor(0, 0, 0); //Red. first node data
    Driver.end();
    delay(5);
  }
}

Bug : Certaines valeurs peuvent troubler les résultats, la fonction smooth serait à rajouter.

Photos

Laquer en blanc les faces intérieur, vernir ( incolore) 3 fois en fine couches. Coller les bandes leds et connecter les ports au boitier. Un bloc de charbon actif ,fixé par une tige fileté, est rajouté à l'objet pour un scénario d'utilisation en cuisine (absorption humidité).