Arduino: Använd LED som en ljussensor
Dock fann jag att de var ganska svårt att läsa eller redigera och det missade en seriell utgång. Nedan är den rensade upp kod med seriell utgång. Dessutom fann jag att lägga ett 100R motstånd i serie med den sensing ledde kraftigt förbättrar känsligheten. Denna förändring förbättrar spänna av ljus på den seriella porten från 290-270 till 290-120.
#define läsa A0
#define LED 13
int grund = 0;
void setup() {
pinMode (LED, OUTPUT);
Serial.BEGIN(57600);
}
void loop() {
int sens = readLED(50);
bas = sens - 20; ställa in känslighet - nu det kommer att reagera om lampan är 20 lägre än inställningen ovan
för (int y = 0; y < 1000; y ++) {/ / efter varje 1000 test programmet återställs led att hantera skiftande ljus
Sens = readLED(50);
Serial.println(Sens);
om (sens < grund) / / testning är led var i mörkret
digitalWrite (LED, hög);
annat
digitalWrite (LED, låg);
}
}
int readLED (int antal) {/ / analoga värde n gånger och Snittade över de n gånger
int totaal = 0;
för (int x = 0; x < nummer; x ++) {
totaal += analogRead(READ);
Delay(10);
}
återgå totaal/nummer.
}