bonjour , nouveau blocage!
j' ai intégré une deco lumineuse, qui fonctionne , pour l'instant la fonction est simple, mais par contre la lecture de mon bouton se fait en fin de boucle lumineuse, je voudrais donc attacher une fonction interupt, mais je crois savoir qu'on ne peut pas utiliser delay avec,
voici le code
#include <Servo.h>
Servo myservo;
const int buttonPin = 2; // bouton sur pin 2
const int relayreed = 12; // led 12 sortie pour reed appareil photo
int buttonState = 0;
int ledPins[] = {14,15,16,17,18,19,8,10,11,};
void setup()
{
for(int i = 0; i < 9; i++){
pinMode(ledPins[i],OUTPUT);
pinMode(relayreed, OUTPUT);
pinMode(buttonPin, INPUT);
myservo.attach(9); // servo sur pin 9
myservo.write(45); //initialise le servo en position repos zero
delay(20); // pour stabilisation
}
}
void loop()
{
oneAfterAnotherLoop();
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) { // bouton etat haut detecté
digitalWrite(relayreed, HIGH); // led ON
myservo.write(178); // va en butée inverse
delay(250); // stabilisation 250 ms
digitalWrite(relayreed, LOW); // led OFF
myservo.write(40); // retour en zero
delay(20); // pour stabilisation
{digitalWrite(ledPins[0,1,2,3,4,5,6,7,8,9], HIGH); //allume tout
delay(100); }
{digitalWrite(ledPins[0,1,2,3,4,5,6,7,8,9], LOW); //etteind tout
delay(100); }
{digitalWrite(ledPins[0,1,2,3,4,5,6,7,8,9], HIGH); //allume tout
delay(100); }
{digitalWrite(ledPins[0,1,2,3,4,5,6,7,8,9], LOW); //etteind tout
delay(100); }
{digitalWrite(ledPins[0,1,2,3,4,5,6,7,8,9], HIGH); //allume tout
delay(100); }
{digitalWrite(ledPins[0,1,2,3,4,5,6,7,8,9], LOW); //etteind tout
delay(100); }
}}
void oneAfterAnotherLoop(){
int delayTime = 300;
for(int i = 0; i <= 8; i++){
digitalWrite(ledPins[i], HIGH);
delay(delayTime); }
for(int i = 8; i >= 0; i--){
digitalWrite(ledPins[i], LOW);
delay(delayTime);
}
}
en plus je ne parvient pas a faire un effet flash (tout les led allumée /eteintes 3x,
bref je coince et si une bonne ame qui passe par là peut"corriger ma copie" ca m'aiderais grandement
Merci