Programme détaillé

This commit is contained in:
Olive Fora 2021-06-22 13:08:15 +00:00
parent 5408f8e9f5
commit 624caa7225

View File

@ -2,13 +2,13 @@
#include "Switch.h"
#include <DmxSimple.h>
#define N 5
const byte button1pin=0;
const byte button1pin=0; // Déclarations des pins des boutons.
const byte button2pin=1;
const byte button3pin=2;
const byte button4pin=3;
const byte button5pin=4;
Switch button1 = Switch(button1pin,INPUT_PULLUP);
Switch button1 = Switch(button1pin,INPUT_PULLUP);//Initialisation des boutons avec la librairie switch.
Switch button2 = Switch(button2pin,INPUT_PULLUP);
Switch button3 = Switch(button3pin,INPUT_PULLUP);
Switch button4 = Switch(button4pin,INPUT_PULLUP);
@ -16,21 +16,19 @@ Switch button5 = Switch(button5pin,INPUT_PULLUP);
#define PIXEL_COUNT 7 // On définit le nombre de LED compris sur le Ruban de LED soit 150 pour le ruban de 5m50
#define PIXEL_COUNT 7 // On définit le nombre de LED compris sur le Ruban de LED.
#define PIXEL_PIN 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800); // Paramètre l'objet strip qui correspond à toute les LED du ruban
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800); // Paramètre l'objet strip qui correspond à toute les LED du ruban.
void setup() {
DmxSimple.usePin(5);
DmxSimple.write(1,50);
DmxSimple.usePin(5); //Pin utilisé pour piloter le projecteur.
DmxSimple.write(1,50); //Paramètre le premier channel de mon projecteur pour le mettre en mode RGB (Peut êêtre différent celon le projecteur utilisé)
strip.begin(); // Lance la connection
strip.show(); // Initialise toute les led à 'off'
Serial.begin(9600);
strip.setBrightness(100);
strip.setBrightness(100); //On défini l'intensité lumineuse du bandeau LED
}
@ -45,7 +43,7 @@ int BLUE[3] = {0, 0, 255}; // Couleur Bleu
int WHITE[3] = {255, 255, 255}; // Couleur Blanche
int OFF[3] = {0, 0, 0}; // Éteint
void allLeds(int COLOR[])
void allLeds(int COLOR[]) //Paramètre le allLeds pour pouvoir le réutiliser de manière simplifié.
{
for(int i = 0 ; i < PIXEL_COUNT ; i++)
{
@ -55,12 +53,11 @@ strip.show();
}
void loop() {
int i;
button5.poll();
if(button5.on()){
button5.poll(); // On sonde le bouton 5 en permanance.
if(button5.on()){ //Si le bouton 5 est sur on alors affichage de la première banque de couleurs.
button1.poll();
if (button1.switched()) {allLeds(RED);
DmxSimple.write(2,255);
if (button1.switched()) {allLeds(RED); // Si le bouton 1 change d'état alors on passe le bandeau led en Rouge.(Même principe pour tout le reste du code)
DmxSimple.write(2,255); //On paramètre les 3 channel RGB de manière à afficher la couleur souhaité.(Même principe pour tout le reste du code)
DmxSimple.write(3,0);
DmxSimple.write(4,0);}
button2.poll();
@ -78,7 +75,7 @@ if (button4.switched()) {allLeds(CYAN);
DmxSimple.write(2,0);
DmxSimple.write(3,255);
DmxSimple.write(4,255);}
}else {
}else { // On affiche la deuxième banque de couleurs si le bouton 5 est sur OFF.
button1.poll();
if (button1.switched()) {allLeds(PINK);
DmxSimple.write(2,255);
@ -100,9 +97,5 @@ DmxSimple.write(2,0);
DmxSimple.write(3,0);
DmxSimple.write(4,255);}
}
}
//Pour paramètrer plusieurs projecteurs il faut se servir des channels que l'ont défini à l'arrière des projecteurs, à l'aide de switchs qui correspondent à un code binaire. Dans mon cas le projecteur n'utilise que 5 channels ce qui veux dire que le prochain projecteur ce programmera à partir du channel 6.(Selon le projecteur, le nombre de channels utilisé peut varier, renseignez vous sur la datasheet du matériel que vous utilisez)