bricoleau:
Certes oui.
Ma remarque était plutôt d'ordre général, car c'est le genre de fonctionnalité dont on a un besoin régulier, et pour laquelle chacun adopte une manière de coder reproduite un peu partout par automatisme.
Donc autant prendre les bonnes habitudes dès le départ.
Edit 12/08
merci
mais j arrive avec l histoire du temp ( if (temps>=temps1) )
exemple
// Multiblinks (sans scheduler)
#define LED 12 //
#define LDR 0 //la LDR sur A0
int luz = 0;
int valor_sensor = 0;
int led1 = 13;
int led2 = 10;
int led3 = 9;
void setup() {
Serial.begin(9600);
// Setup the 3 pins as OUTPUT
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(LED,OUTPUT);
pinMode(LDR,INPUT);
}
void loop() {
static unsigned long temps1=0,temps2=0;
static bool etat1=false,etat2=false;
unsigned long temps=millis();
// traitement led 1 toutes les secondes
if (temps>=temps1)
{
valor_sensor = analogRead(LDR);
lum = (5.0 * valor_sensor * 100.0)/1024.0;
delay(300);
if (lum <= 490)
{
digitalWrite (LED, LOW);
}
if (lum > 490) /
{
digitalWrite (LED, HIGH);
}
temps1=temps+1000;
}
// traitement led 2 toutes les 0.1 secondes
if (temps>=temps2)
{
digitalWrite(led2,etat2 ? HIGH : LOW);
etat2=!etat2;
temps2=temps+100;
}
// Task no.3: accept commands from Serial port
// '0' turns off LED
// '1' turns on LED
if (Serial.available()) {
char c = Serial.read();
if (c=='0') {
digitalWrite(led3, LOW);
Serial.println("Led turned off!");
}
if (c=='1') {
digitalWrite(led3, HIGH);
Serial.println("Led turned on!");
}
}
}
sa fonctionne pa