neopixel-cousu.ino

LilyPad Arduino · Fichier : neopixel-cousu.ino · Langage : Arduino · Usage : Animer une bande de LED adressables cousue sur le tissu

Les LED adressables Flora/WS2812 se pilotent sur une seule broche avec la bibliothèque Adafruit_NeoPixel ; l'effet arc-en-ciel tourne doucement. À 3,3 V, alimentez la bande par le pad V-REG avec une batterie LiPo chargée (≈3,9-4,2 V).

Matériel requis

Une LilyPad Arduino (ATmega168V/328V, 8 MHz, 3,3 V) avec ses pastilles à coudre, programmée par câble FTDI (breakout) et alimentée par 3,7 V (LiPo) ou 5 V sur V-REG. 8 LED adressables (Flora pixel ou WS2812) + fil conductif.

Branchement

DIN sur la broche 6, VCC sur V-REG, GND sur GND ; condensateur 300-470 µF sur l'alimentation des LED.

Fonctionnement

setPixelColor remplit la mémoire tampon, show() envoie le flux de timings sur la broche unique. La luminosité est bridée pour l'autonomie. Dans l'Arduino IDE, choisissez « LilyPad Arduino » et le port FTDI, puis Téléverser. Le fil conductif crée des résistances de quelques ohms : gardez les courtes distances et isolez les croisements.

Pour aller plus loin

Réagissez à un capteur (LDR, tilt) pour changer la palette, ou animez un motif en fonction d'un bouton.

neopixel-cousu.ino

// 8 NeoPixel (Flora/WS2812) sur la broche 6, effet arc-en-ciel.
#include <Adafruit_NeoPixel.h>

#define PIN 6
#define N 8

Adafruit_NeoPixel strip(N, PIN, NEO_GRB + NEO_KHZ800);
int decalage = 0;

void setup() {
  strip.begin();
  strip.setBrightness(60); // menage la batterie
  strip.show();
}

void loop() {
  for (int i = 0; i < N; i++) {
    uint8_t teinte = map(i * 256 / N + decalage, 0, 256, 0, 255);
    strip.setPixelColor(i, strip.ColorHSV(teinte * 256));
  }
  strip.show();
  decalage = (decalage + 3) % 256;
  delay(30);
}

← Retour à la fiche