Allt du behöver veta om färg sensorer (3 / 9 steg)
Steg 3: 2.1 kalibrering
Kalibreringsprocessen består vanligt av innehav ett vitt föremål framför sensorn (ange max-värden) och sedan kalibrera det genom beroende på vilket bibliotek och sensor kombination du har. Som nämnts sparkfun ADJD sensorn behövs en hel del kalibrering, hela tiden.
Vi försökte detta flera gånger, och slutade med ojämn resultat, antingen vi gjorde det fel eller kalibrering koden var felaktigt på något sätt.
Baserat på våra tidigare resultat att sensorerna är ofta mer intresserade av den relativa blandningen av RGB snarare än absoluta värden, så vår kod är baserad på trösklar. Detta innebär att vi inte så mycket bryr sig om de faktiska RGB-värden, mer samverkan mellan RGB-värden. Så vad vi gör är att återställa alla värden till samma basen, så någon skillnad syns tydligt.
Så för att kalibrera sensor återställs alla värden en gång:
int redCal;
int greenCal;
int blueCal;
om (redCal == 0) {//RUNS en gång. GÖR CAL-VÄRDEN LIKA VERKLIGA SENSOR VÄRDET.
redCal = röd;
om (greenCal == 0) {
greenCal = grön,
(blueCal == 0) {
blueCal = blå;
… Vår kalibreringsmetod tar varje värde och sedan subtraherar det med honom, sedan ger dem 100.
r = röd-redCal + 100. GÖR RIKTIGA SENSOR VÄRDET (0 + 100)
g = grön-greenCal + 100.
b = blå-blueCal + 100.
Serial.Print("\tRED:\t");
Serial.Print(r);
Serial.Print("\tGREEN:\t");
Serial.Print(g);
Serial.Print ("\tBLUE: \t");
Serial.println(b);