materialen:
1 x LED
5 x jumper draden
1 x arduino
1 x fotocel
1 x breadboard
1 x 10 k ohm weerstand
Hier is de code, type niet het spul na de / /, de code krijgt te lang:
Deze constanten niet gewijzigd:
Const int sensorPin = A0; PIN waarop de sensor is aangesloten
Const int ledPin = 9; PIN die is gekoppeld aan de LED
variabelen:
int sensorValue = 0; de waarde van de sensor
int sensorMin = 1023; minimale sensor waarde
int sensorMax = 0; maximale sensor waarde
VOID Setup {}
LED aan het begin van de periode van de kalibratie inschakelen:
pinMode (13, OUTPUT);
digitalWrite (13, hoge);
kalibreren tijdens de eerste vijf seconden
terwijl (millis() < 5000) {}
sensorValue = analogRead(sensorPin);
record de waarde van de maximale sensor
Als (sensorValue > sensorMax) {}
sensorMax = sensorValue;
}
record de waarde van de minimale sensor
Als (sensorValue < sensorMin) {}
sensorMin = sensorValue;
}
}
het signaal van het einde van de periode van de kalibratie
digitalWrite (13, laag);
}
void loop {}
Lees de sensor:
sensorValue = analogRead(sensorPin);
de kalibratie van toepassing op de sensorgegevens
sensorValue = kaart (sensorValue, sensorMin, sensorMax, 0, 255);
in geval valt de sensor-waarde buiten het bereik gezien tijdens de kalibratie
sensorValue = beperken (sensorValue, 0, 255);
vervagen de LED met behulp van de geijkte waarde:
analogWrite (ledPin, sensorValue);
}