#define TRIG_PIN D3
#define ECHO_PIN D2
#define LED_PIN D5
long duration;
int distance;
int ledBrightness;
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH, 30000);
distance = duration * 0.0343 / 2;
if (distance >= 30 || distance == 0) {
ledBrightness = 0;
}
else if (distance <= 2) {
ledBrightness = 255;
}
else {
ledBrightness = map(distance, 30, 2, 0, 255);
}
analogWrite(LED_PIN, ledBrightness);
delay(50);
}Loading
st-nucleo-c031c6
st-nucleo-c031c6