Ligne 78 : |
Ligne 78 : |
| | | |
| == Le code == | | == Le code == |
− | xxx
| + | Pas besoin de copier tout le code, vous pouvez le télécharger depuis |
| | | |
− | <nowiki>/* code */</nowiki> | + | <nowiki>/* |
| + | * Un programme simple qui modifie l'intensité |
| + | * d'une LED en fonction de la quantité de |
| + | * lumière frappant la photorésistance |
| + | */ |
| + | |
| + | // Pin de la photorésistance |
| + | int lightPin = 0; // la broche analogique |
| + | // sur laquelle la photorésistance est connectée n'est pas calibrée |
| + | // pour une unité particulière . Il s'agit donc simplement de la valeur |
| + | // brute du senseur (lumière relative) |
| + | |
| + | // Broche de la LED |
| + | int ledPin = 9; //Pin sur laquelle la LED est |
| + | // branchée. Comme nous contrôlons la luminosité nous utilisons une des |
| + | // broches PWM (modulation de longueur d'impulsion)</nowiki> |
| + | |
| + | void setup() { |
| + | // déclarer la pin de la LED comme sortie |
| + | pinMode(ledPin, OUTPUT); |
| + | } |
| + | |
| + | /* |
| + | * loop() - cette fonction démarre après |
| + | * l'initialisation puis se répète |
| + | */ |
| + | void loop() { |
| + | // lecture du taux d'éclairage |
| + | int lightLevel = analogRead(lightPin); |
| + | |
| + | // ajuste la valeur de 0 - 900 à 0 - 255 |
| + | lightLevel = map(lightLevel, 0, 900, 0, 255); |
| + | |
| + | // Assure que la valeur est entre 0 - 255 |
| + | lightLevel = constrain(lightLevel, 0, 255); |
| + | |
| + | // écrire la valeur |
| + | analogWrite(ledPin, lightLevel); |
| + | }</nowiki> |
| | | |
| == Cela ne fonctionne pas? == | | == Cela ne fonctionne pas? == |