Lampe de chevet tactile RGB (NeoPixel)

Lampe de chevet contrôlée par un simple toucher. Change de couleur et d’intensité. Utilise une bande LED WS2812 et un capteur capacitif.

Arduino Débutant Arduino / C++

Schémas et photos

Liste de composants

Composants nécessaires, quantités et prix indicatifs en francs CFA.
Composant Qté Prix unitaire Sous-total
Arduino Nano 1 3 500 FCFA 3 500 FCFA
Bande LED WS2812 (30 LEDs) 1 4 500 FCFA 4 500 FCFA
Capteur tactile TTP223 1 800 FCFA 800 FCFA
Alimentation 5V 2A 1 2 500 FCFA 2 500 FCFA
Total 11 300 FCFA

Code

lampe_tactile.ino

Télécharger

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <Adafruit_NeoPixel.h>

#define PIN_LED    6
#define NUMPIXELS  30
#define PIN_TOUCH  2

Adafruit_NeoPixel pixels(NUMPIXELS, PIN_LED, NEO_GRB + NEO_KHZ800);

int mode = 0; // 0 = éteint, 1 = blanc, 2 = bleu, 3 = rose...

void setup() {
  pixels.begin();
  pinMode(PIN_TOUCH, INPUT);
}

void loop() {
  if (digitalRead(PIN_TOUCH) == HIGH) {
    mode = (mode + 1) % 4;
    delay(300); // anti-rebond
  }

  switch(mode) {
    case 0: setColor(0, 0, 0); break;          // éteint
    case 1: setColor(255, 220, 180); break;    // blanc chaud
    case 2: setColor(0, 100, 255); break;      // bleu
    case 3: setColor(255, 50, 100); break;     // rose
  }
}

void setColor(byte r, byte g, byte b) {
  for(int i=0; i<NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(r, g, b));
  }
  pixels.show();
}

Code sous licence MIT, documentation sous CC BY 4.0.

Ils l'ont reproduit

C'est le signal le plus utile de la page : un montage que quelqu'un a refait chez lui, ce n'est pas la même chose qu'un montage qui a l'air de marcher.

Connectez-vous pour dire que vous avez reproduit ce projet.

Personne ne l'a encore refait. Si vous le montez, revenez le dire.

Questions

Aucune question pour l'instant. Si quelque chose n'est pas clair dans ce montage, demandez : la réponse servira à d'autres.

Connectez-vous pour poser une question ou répondre.

Partager