Bon, ça fait un moment que je voulais faire un topic pour présenter mon mini-projecteur maison :
Le code :
///////////////////////////////code teste du bouton./////////////////////
#include <FastLED.h> // inclusion de la librairie fastLED.h
#define NUM_LEDS 64 // définition du nombre de led, ici 64
#define DATA_PIN 2 // définition de la pin du ruban de led, la D2
#define CLOCK_PIN 13
#define pinbuton 12 // definition pin du bouton, la D12
bool etatbuton = 0; // création de la variable bool de l'état du bouton, "etatbuton"
CRGB leds[NUM_LEDS]; // création d'une liste de leds
void setup() // Au demarage ("void setup()")
{
pinMode(pinbuton, INPUT_PULLUP); // definition état de la pin du bouton a "INPUT_PULLUP"
Serial.begin(115200); // vitesse de communication mise a 115200 bauds
Serial.println("demarage du systeme :"); // ecrire "demarage du systeme :" au démarage sur le moniteur serie.
FastLED.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS);
FastLED.setBrightness(80); // mettre la luminosité a 80 %
fill_solid(leds, NUM_LEDS, CRGB::Black); // par défaut, couleur noir
FastLED.show();
}
void fadeall() { for(int i = 0; i < NUM_LEDS; i++) { leds[i].nscale8(250); } }
void loop()
{
etatbuton = digitalRead(pinbuton); // lire l'état du bouton et stocker la valeur sur la variable bool "etatbuton"
if(etatbuton == 1) // si le bouton est pressé, qu'il est a 1
{
static uint8_t hue = 0;
Serial.print("x");
for(int i = 0; i < NUM_LEDS; i++)
{
leds[i] = CHSV(hue++, 255, 255);
FastLED.show();
fadeall();
delay(10);
}
Serial.print("x");
for(int i = (NUM_LEDS)-1; i >= 0; i--)
{
leds[i] = CHSV(hue++, 255, 255);
FastLED.show();;
fadeall();
delay(10);
}
delay(10000);
}
else if(etatbuton == 0)
{
fill_solid(leds, NUM_LEDS, CRGB::Black);
FastLED.show();
}
}
Bon, voici a quoi il ressemble :
Bon, je sais qu'il ne fait pas très fini, mais c'est un prototype.
J'en ai fais un deuxième pour des potes ( anniversaire ) en PLA, avec une pro mini, au lieu d'une Nano pour celui ci. Voici une photo du câblage :
Le bouton bleu en haut arrête la matrice ou non en coupant son alimentation ( 5V ) Le bouton noir en bas change le mode entre mode blanc ( éclairage ) et mode fête ( multicolore ).
Améliorations probables ( quand j’aurai plus d'expérience en programmation ) :
- Retirer la carte Arduino et la remplacer par une carte D1 - mini ( conseillée par Abrège ( Youtube, je sais c'est pas bien
)
- En plus des leds, rajouter soit un DHT22, soit carrément un BMP280. Le D1Mini enverra alors toutes les valeurs en Wifi.
- Crée une appli je ne sais comment pour avoir les valeurs température - humidité - pression atmosphérique sur une belle petite interface, et également pouvoir activer / désactiver les leds et leurs modes.
Cordialement
Pandaroux007 ou Rémi
Vérification d'une possibilité de réparation de matrice à LEDs R.G.B (64) type WS2812B