#define ALARM_LED PB9
#define TRIG PB8
#define ECHO PB7
#define BREAK PB6
void setup() {
Serial.begin(115200);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(ALARM_LED, OUTPUT);
pinMode(BREAK, OUTPUT);
}
int getDistance() {
digitalWrite(TRIG, HIGH);
delay(1);
digitalWrite(TRIG, LOW);
return pulseIn(ECHO, HIGH) / 58;
}
void loop() {
digitalWrite(ALARM_LED, !digitalRead(ALARM_LED));
int distance = getDistance();
Serial.print("Distance in CM: ");
Serial.println(distance);
bool emergencyBreak = distance < 50;
digitalWrite(BREAK, emergencyBreak);
delay(distance);
}
Loading
stm32-bluepill
stm32-bluepill