void setup() {
pinMode(PA6, OUTPUT);
pinMode(PA1, INPUT);
// LDR: 0 to 1023
analogReadResolution(10);
}
void loop() {
int lightLevel = analogRead(A0);
int motion = digitalRead(PA1);
// BRIGHT → OFF
if (lightLevel <= 500) {
analogWrite(PA6, 0);
}
// DARK
else {
// Motion detected → FULL brightness
if (motion == HIGH) {
analogWrite(PA6, 255);
}
// No motion → DIM brightness
else {
analogWrite(PA6, 30);
}
}
delay(100);
}Loading
stm32-bluepill
stm32-bluepill