Stap 3: 2.1 kalibratie
Het kalibratieproces bestaat meestal uit het houden van een wit object voor de sensor (het opzetten van de max waarden) en vervolgens het kalibreren door welke bibliotheek en sensor combinatie hebt. Zoals vermeld dat de sparkfun ADJD sensor nodig een heleboel kalibratie, de hele tijd.
Wij probeerden dit meerdere keren, en eindigde met vlekkerige resultaten, hetzij wij verkeerd het deed, of de kalibratie-code was gebrekkig in zekere zin.
Gebaseerd op onze eerdere bevindingen dat de sensoren zijn vaak meer geïnteresseerd in de relatieve mix van RGB-in plaats van absolute waarden, dus onze code is gebaseerd op de drempels. Dit betekent dat we niet zo veel over de werkelijke waarden voor RGB-, meer de interactie tussen RGB-waarden schelen. Dus wat we doen is alle waarden teruggezet op dezelfde basis, dus geen verschil duidelijk zichtbaar is.
Dus om onze sensor kalibreren herstellen wij alle waarden eens:
int redCal;
int greenCal;
int blueCal;
Als (redCal == 0) {//RUNS eens. MAAKT CAL-WAARDEN GELIJK AAN DE WAARDE VAN DE ECHTE SENSOR.
redCal = rood;
Als (greenCal == 0) {}
greenCal = groen;
(blueCal == 0) {
blueCal = blauw;
… Onze kalibreringsmethode neemt elke waarde en vervolgens wordt afgetrokken van het met zichzelf, dan wordt 100 toegevoegd aan hen.
r = rood-redCal + 100; MAAKT DE ECHTE SENSOR-WAARDE (0 + 100)
g = groen-greenCal + 100;
b = blauw-blueCal + 100;
Serial.Print("\tRED:\t");
Serial.Print(r);
Serial.Print("\tGREEN:\t");
Serial.Print(g);
Serial.Print ("\tBLUE: \t");
Serial.println(b);