Étape 2: Le code
Copiez ce code dans un sketch Arduino et le télécharger vers votre microcontrôleur/*
Impulsions de moniteurs d’un compteur Geiger fondu entre 3 cordes
des lumières de LED dans l’ordre.
*/
const int geigerPin = 8 ; connecté à l’impulsion de compteur Geiger
lumières d’int = 1 ; compteur pour suivre où dans la séquence que nous sommes
Pis PWM que les chaînes de LED sont reliées à :
int lights1 = 9 ;
int lights2 = 10 ;
int lights3 = 11 ;
réglages de luminosité maximale pour les lumières - ajuster en fonction de
int bright1 = 250 ;
int bright2 = 250 ;
int bright3 = 250 ;
incréments pour décoloration dedans et dehors - plus grand résultat de nombres en plus rapidement les transitions
fadeIn int = 5 ;
fadeOut int = 2 ;
void setup() {}
Serial.Begin(9600) ; Utiliser la série pour le débogage
pinMode (geigerPin, entrée) ;
pinMode (lights1, sortie) ;
pinMode (lights2, sortie) ;
pinMode (lights3, sortie) ;
analogWrite (lights1, bright1) ;
analogWrite (lights2, bright2) ;
analogWrite (lights3, bright3) ;
Serial.println ("setup terminé") ;
}
int mené = faible ;
void loop() {}
int val = digitalRead(geigerPin) ;
tandis que (val == faible) {}
faire ce que jamais arrive quand il n’y a aucun signal
Val = digitalRead(geigerPin) ;
}
Serial.println("Low") ;
tandis que (val == HIGH) {}
attendre une impulsion à la fin, 100us est beaucoup de temps pour un Arduino
Val = digitalRead(geigerPin) ;
}
impulsions finis
lumières ++ ; incrémenter le compteur
Si (lumières == 1) {}
Serial.println("Lights1") ;
fondu en sortie de chaîne 3, fondu dans la chaîne 1
pour (int fadeValue = bright1 ; fadeValue > = 0; fadeValue = fadeOut) {}
analogWrite (lights1, fadeValue) ;
Delay(30) ;
}
pour (int fadeValue = 0; fadeValue < = bright3 ; fadeValue += fadeIn) {}
analogWrite (lights3, fadeValue) ;
Delay(30) ;
}
}
Si (lumières == 2) {}
Serial.println("lights2") ;
fondu en sortie de chaîne 1, fondu dans la chaîne 2
pour (int fadeValue = bright2 ; fadeValue > = 0; fadeValue = fadeOut) {}
analogWrite (lights2, fadeValue) ;
Delay(30) ;
}
pour (int fadeValue = 0; fadeValue < = bright1 ; fadeValue += fadeIn) {}
analogWrite (lights1, fadeValue) ;
Delay(30) ;
}
}
Si (lumières == 3) {}
Serial.println("lights3") ;
fondu en sortie de chaîne 2, fondu dans la chaîne 3
pour (int fadeValue = bright3 ; fadeValue > = 0; fadeValue = fadeOut) {}
analogWrite (lights3, fadeValue) ;
Delay(30) ;
}
pour (int fadeValue = 0; fadeValue < = bright2 ; fadeValue += fadeIn) {}
analogWrite (lights2, fadeValue) ;
Delay(30) ;
}
lumières = 0 ;
}
Serial.println(Lights) ;
}