Lampe Ikea vs Arduino
Ce wiki a été archivé en 2018.
Le nouveau wiki se trouve à: ressources.labomedia.org Les fonctionnalités sont désactivées: vous pouvez faire une recherche sur Google site:https://wiki.labomedia.org et découvrir La Labomedia. |
Lampe Ikea vs Arduino |
---|
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 |
Sommaire
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 !