const int relayUpColor = 1; // Green Couleur qui fait tirer le relais
const int relayDownColor = 4; // Purple Couleur qui fait tomber le relais
et en testant ainsi:
if (mode == relayUpColor) // Si c'est la couleur qui doit faire tirer le relais
{
digitalWrite(relayPin, relayEtatOn); // Le relais tire
}
if (mode == relayDownColor) // Si c'est la couleur qui doit faire tomber le relais
{
digitalWrite(relayPin, !relayEtatOn); // Le relais tombe
}
Et ça donne:
#define BLUE 24
#define GREEN 23
#define RED 22
#define button 44
int relayPin=11;
int mode = 0;
const int relayUpColor = 1; // Green Couleur qui fait tirer le relais
const int relayDownColor = 4; // Purple Couleur qui fait tomber le relais
const int relayEtatOn = LOW; // Etat pour faire tirer le relais
void setup() {
Serial.begin(115200);
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
pinMode(button, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin,HIGH);
}
void loop() {
if (digitalRead(button) == LOW) {
mode = mode + 1;
delay(400);
}
// RED
if (mode == 0) {
analogWrite(BLUE, 0);
analogWrite(GREEN, 0);
analogWrite(RED, 255);
}
// Green
if (mode == 1) {
analogWrite(BLUE, 0);
analogWrite(GREEN, 255);
analogWrite(RED, 0);
}
// CYAN
if (mode == 2) {
analogWrite(BLUE, 255);
analogWrite(GREEN, 255);
analogWrite(RED, 0);
}
// Yellow
if (mode == 3) {
analogWrite(BLUE, 0);
analogWrite(GREEN, 255);
analogWrite(RED, 230);
}
// Purple
if (mode == 4) {
analogWrite(BLUE, 128);
analogWrite(GREEN, 0);
analogWrite(RED, 128);
}
// Blue
if (mode == 5) {
analogWrite(BLUE, 255);
analogWrite(GREEN, 0);
analogWrite(RED, 0);
}
// Reset
if (mode == 6) {
mode = 0;
}
if (mode == relayUpColor) // Si c'est la couleur qui doit faire tirer le relais
{
digitalWrite(relayPin, relayEtatOn); // Le relais tire
}
if (mode == relayDownColor) // Si c'est la couleur qui doit faire tomber le relais
{
digitalWrite(relayPin, !relayEtatOn); // Le relais tombe
}
}