Nochtans, vond ik dat de code beetje moeilijk om te lezen was/bewerken, en het miste een uitgang voor seriële. Hieronder is de schoongemaakte code met uitgang voor seriële. Bovendien, ik vond dat het toevoegen van een 100R weerstand in serie met de sensing LED sterk de gevoeligheid verbetert. Deze wijziging verbetert het bereik van licht op de seriële poort van 290-270 tot 290-120.
#define Lees A0
#define LED 13
int basis = 0;
VOID Setup {}
pinMode (LED, uitvoer);
Serial.begin(57600);
}
void loop {}
int sens = readLED(50);
basis = sens - 20; instellen van gevoeligheid - nu het reageren zal als de LED 20 lager is dan de instelling hierboven is
voor (int y = 0; y < 1000; y ++) {/ / na elke 1000 tests zal het programma de heeft geleid tot het omgaan met veranderende licht reset
Sens = readLED(50);
Serial.println(Sens);
Als (sens < basis) / / testen is het lampje was in het donker
digitalWrite (LED, hoge);
anders
digitalWrite (LED, laag);
}
}
int readLED (int-nummer) {/ / analoge waarde n keer en avarage over deze n keer gelezen
int totaal = 0;
voor (int x = 0; x < getal; x ++) {}
totaal += analogRead(READ);
delay(10);
}
retourneren totaal/nummer;
}