Merci beaucoup de ton aide lesept, j'en suis très reconnaissant et tu as bien compris mon besoin, mais une petite erreur intervient à la ligne où tu appel la fonction pour l'eteindre
'stickfunc' was not declared in this scope
Je remet le code pour plus de visibilité :
#include <Adafruit_NeoPixel.h>
#include <OneSheeld.h>
#define CUSTOM_SETTINGS
#define INCLUDE_PUSH_BUTTON_SHIELD
int buzzerPin = 3; // broche du buzzer
int Pushbutton1 = 4; // Broche du 1er boutton poussoir
int Pushbutton2 = 5; // Broche du 2ème boutton poussoir
int capteur =7; // broche du capteur de lumière
int stick = 6 ; // broche du stick à led
int val = 0; // pour lire la valeur du capteur de lumière
Adafruit_NeoPixel strip = Adafruit_NeoPixel (16, stick, NEO_RGB + NEO_KHZ800); // <-- stick intervient ici (c'est tout)
void setup()
{
strip.begin();
strip.show(); // Initialise toutes les NeoPixels en "off"
pinMode(buzzerPin, OUTPUT); // Programme le buzzer en sortie logique
pinMode(capteur, INPUT); // Programme le capteur en entrée logique
OneSheeld.begin();
}
void loop()
{
val = digitalRead(capteur); // on lit la valeur que renvoie le capteur
if (val>350)
{ // si la valeur d'entrée est haute
stickfunc(1); // <-- Appel de la fonction pour allumer
}
else
{
stickfunc(0); // <-- Appel de la fonction pour éteindre
}
if(PushButton.isPressed())
{
digitalWrite(buzzerPin,HIGH);
}
else
{
digitalWrite(buzzerPin,LOW);
}
void stickfunc(int val) {
for (int i=0, i<16, i++) {
strip.setPixelColor(i, 127*val, 127*val, 127*val); // Blanc (127) ou noir (0)
}
}