Étape 3: Télécharger le croquis
int mené = 13 ; la broche où vous mettrez la LED
int sensorpin = A3 ; la broche analogique où vous mettez votre sensorLED
int resetteller = 0 ; le reste sont des compteurs et des variables de calculer avec
sens int = 0 ;
teller int = 0 ;
base int = 1024 ;
test int = 1024 ;
int test2 = 1024 ;
test3 int = 1024 ;
Ce sont les valeurs de jouer avec pour obtenir mieux (ou pire) résultats
marge int = 5 ; l’espace entre une lecture positive et négative
int vertraging = 1 ; la vitesse de la lecture ; un nombre inférieur est une plus grande vitesse
échantillons d’int = 70 ; la quantité d’échantillons à comparer pour faire une lecture
int resetsamples = 30 ; le nombre de cycles pour exécuter la lumière avant que vous n’approuvez pas la valeur plus
void setup() {}
pinMode (led, sortie) ;
Serial.Begin(9600) ; aucune partie réelle du programme, juste pour le débogage
pour (teller = 0; caissier < échantillons ; caissier ++) {/ / n’oubliez pas la valeur la plus faible de nombreuses lectures
sens = analogRead(sensorpin) ;
Si (sens < base) {base = sens;}
Delay(vertraging) ; le capteur nécessite un délai ici de reprendre son souffle
}
}
void loop() {}
pour (teller = 0; caissier < échantillons ; caissier ++) {/ / n’oubliez pas la valeur la plus faible de nombreuses lectures
sens = analogRead(sensorpin) ;
Delay(vertraging) ; le capteur nécessite un délai ici de reprendre son souffle
Si (sens < tester) {}
test3 = sens ; n’oubliez pas les 3 lectures plus bas
test2 = test3 ;
test = test2;}
}
Si (test < base-marge & & test2 < base-marge & & test3 < base-marge) {mus lectures basses //all 3 être < la lecture de base
digitalWrite (conduit, en haut) ;
resetteller ++ ; compter combien de temps le LED reste allumé
}
else {}
digitalWrite (led, faible) ;
base = test ; Si la lecture de test le plus bas est supérieure à la base, base sera réinitialisé
resetteller = 0 ;
}
Si (resetteller > resetsamples) {base = test;} Si la LED reste sur longtemps, nous ne lui faire confiance et réinitialiser la base
Serial.Print(basis) ; Serial.Print("") ; Serial.Print(test) ; Serial.Print("") ; Serial.println (sens); //just pour le débogage
test = 1024 ;
}