Lampe Ikea vs Arduino

De Centre de Ressources Numériques - Labomedia
Révision de 2 août 2015 à 16:57 par Ale (discussion | contributions)

(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
Lampe Ikea vs Arduino
LampeIkea.jpg


Pour modifier la page utiliser l'onglet Modifier avec formulaire.

Résumé Construction d'un "gradateur" pour faire varier l'intensité de 32 lampes Ikea avec Puredata
Auteur(s) Ale
Licence CC-BY-SA 3
Date de création 02 mars 2015


Intentions / Contexte

Pour la pièce/performance La théorie du nuage, je développe plusieurs installations, celle ci consiste en 32 lampes ikea dont la puissance est graduée et coordonnée par Pure Data.

Principe de fonctionnement

Pour varier l'intensité j'utilise les sorties PWM d'une Arduino combinées à des transistors. Pour communiquer entre Pure Data et l'arduino j'utilise le langage de communication DMX (car j'avais tout ce qu'il faut et parce que ça me permet de communiquer avec d'autres installations). Pour les connectiques j'ai opté pour du câble XLR (câbles son) avec un boîtier de dérivation XLR, ceci pour un souci de facilité dans les connexions.

Besoins / Compétences

Comprendre vaguement le fonctionnement d'Arduino et des principes de bases de l’électricité. Bases de langage Arduino / Pure Data. Savoir souder et bricoler un peu.

Documentation

Prémisse

Ceci est mon premier projet Arduino,
je n'ai rien inventé de ce qui suit et je ne le comprends pas entièrement,
mais ça marche et si ça peut aider quelqu'un...

Matériel

1 lampe Ikea JANSJÖ
1 carte Arduino
1 transistor TIP120
1 résistance 1 KOhm
1 breadboard
câbles pour essayages
(tout ça a un nom précis, qui le connaît peut m'aider en modifiant cet article)

Partie électronique

J'utilise ici la sortie PWM de l'Arduino, qui peut fournir entre 0 et 5V.
Il y en a 6 sur la carte Arduino (3, 5, 6, 10 et 11) et sont indiquées par un tilde ~.

Pour en avoir 32 j'utilise deux boucliers Arduino qui augmentent les sorties PWM (https://www.adafruit.com/products/1411). Le transistor est un TIP120, c'est un transistor de type Darlinghton
(c'est-à-dire transistor double avec diode intégré).
Ce qui veut dire :
un transistor c'est un petit machin électronique qui peut faire différentes choses,
ce qui nous intéresse c'est qui peut prendre un courant et l'amplifier.

Le TIP 120 est contrôlé par une tension de 5V et peut multiplier le courant environ 200 fois
(théoriquement c'est 1000 mais on m'a dit que ça c'est la théorie).
Traduit : il peut prendre le courant de l'Arduino qui est théoriquement de 5V et quelques milliampères
et contrôler avec le flux en provenance d'un alimentateur.
Il a trois petites branches appelées Base, Collecteur, Émetteur
(BCE quand on le regard par l'avant).
Sur la Base on mettra le + de la sortie PWM de l'Arduino
Sur le Collecteur on mettra le + en provenance du - de la Led
Sur l'Emetteur on mettra le - de l'alim ET de l'arduino (un pin GND -Ground) quelconque.

La lampe Ikea a une led de 2W
(ça je l'ai découvert en mesurant avec un multimètre,
au début je croyais que c'étaient 3W car son alimentation peut fournir jusqu'à 3W.
Mais ce qui compte dans une alimentation c'est le voltage, le courant -Ampères- varie,
en gros ça s'adapte. Tout ça je viens de le découvrir.)

C'est à dire qu'il faut l'alimenter avec 4 Volts et 500 milliAmpères.

Voici le schéma à réaliser avec la breadboard :
ok d'abord il faut que je comprenne comment insérer des images, ça va venir.

Description : du PIN 9 on va vers une résistance 1KOhm.
La résistance est connectée à la base du transistor (premier à gauche)
Le collecteur va sur le moins de la led
(soit vous le repérez sur l'alim de la lampe avant de couper le fil, soit avec le multimètre)
L'émetteur va au GND Arduino ET au - de l'alim (s'il manque un des deux ça ne marche pas)
Le + de la LED va au + de l'alim.

Problème : tout ça c'est la théorie :
en réalité l'Arduino ne me fournit (personnellement) jamais plus de 4V,
du coup en sortie vers la lampe je n'avais que 3,2V, jamais 4V.
Résultat : lampe faiblarde à full.
Je n'ai pas encore compris pourquoi, mais je suis passé à un alimentateur à 5V et là ça va mieux.

Partie logiciel

Pour l'instant je suis encore en phase de test,
donc j'ai juste un petit skecth Arduino qui fait varier l'intensité jusqu'au max et retour.
Bientôt la suite de mes tests.
Le voici :

  int ledPin = 9;    // LED connected to digital pin 9
  void setup()  {
    // nothing happens in setup
  }
     
  void loop()  {
   // fade in from min to max in increments of 5 points:
    for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=2) {
      // sets the value (range from 0 to 255):
     analogWrite(ledPin, fadeValue);        
     // wait for 30 milliseconds to see the dimming effect    
     delay(10);                            
}
     delay(2000);  
    // fade out from max to min in increments of 5 points:
   for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=2) {
      // sets the value (range from 0 to 255):
      analogWrite(ledPin, fadeValue);        
      // wait for 30 milliseconds to see the dimming effect    
      delay(30);                            
   }
    delay(3000);  
  }

Merci à

Guillaume et Olivier !