Hallo,
die Werte der Lichtsensoren des RP6 fragst Du mit adcLSL und adcLSR ab.
Jedoch würde ich Dir nicht empfehlen, die Beleuchtung mit nur einem Schwellwert zu steuern:
Nehmen wir mal an, dass der gemessene Lichtwert ständig um den Schwellwert pendelt. Das würde bedeuten, dass Deine Beleuchtung ständig ein- und ausgeschaltet wird - das sieht ziemlich unprofessionell aus![]()
Stattdessen solltest Du eine Hysterese (zwei Schwellwerte) einführen. Das bedeutet, dass Du die Lichter einschaltest, wenn ein Schwellwert SCHWELLWERT_AUS unterschritten wird und sie erst wieder einschaltest, wenn Schwellwert
SCHWELLWERT_EIN überschritten wird, wobei natürlich SCHWELLWERT_EIN>SCHWELLWERT_AUS gilt. SCHWELLWERT_AUS und SCHWELLWERT_EIN musst Du experimentell bestimmen - einfach so, wie es Dir gefällt![]()
In Pseudocode sieht das so aus:
Grüße,Code:#define SCHWELLWERT_AUS ... #define SCHWELLWERT_EIN ... ... ... ... if(adcLSL<= SCHWELLWERT_AUS){ //Schwellwert für "Licht aus" wurde unterschritten setLEDs(...);//Mach die Lichter aus }else if(adcLSL >= SCHWELLWERT_EIN){ //Schwellwert für "Licht ein" wurde überschritten setLEDs(...);//Schalte sie hier wieder ein }
Max







Zitieren


Lesezeichen