#define PsHiEc A5
#define PsHiTr A4
#define PsHiBe 3
#define PsHiWE 4
#define PsHiME 5
#define PsHiKE 6
#define PsVoEc A3
#define PsVoTr 1
#define PsVoBe 2
#define PsVoWE 9
#define PsVoME 8
#define PsVoKE 7
#define MoRuEr A2
#define MoVoEr A1
#define BliHeb A0
#define LeBlLi 10
#define LeBlRe 11
#define LeLeHi 12
#define LeLeVo 13
#define BeepHi 100
#define BeepVo 101
#define beep_startHi 20
#define min_distanceHi 5
#define beep_startVo 20
#define min_distanceVo 5
#define cHi 0.0343
#define cVo 0.0343
long tempoVo;
long tempoHi;
float spaceVo;
float spaceHi;
int potiPin = A0;
int BliHebVal = 0;
bool blinkModus = false;
void setup() {
pinMode(PsHiEc,INPUT);
pinMode(PsHiTr,OUTPUT);
pinMode(PsHiBe,OUTPUT);
pinMode(PsHiWE,OUTPUT);
pinMode(PsHiME,OUTPUT);
pinMode(PsHiKE,OUTPUT);
pinMode(PsVoEc,INPUT);
pinMode(PsVoTr,OUTPUT);
pinMode(PsVoBe,OUTPUT);
pinMode(PsVoWE,OUTPUT);
pinMode(PsVoME,OUTPUT);
pinMode(PsVoKE,OUTPUT);
pinMode(MoRuEr,INPUT);
pinMode(MoVoEr,INPUT);
pinMode(BliHeb,INPUT);
pinMode(LeBlLi,OUTPUT);
pinMode(LeBlRe,OUTPUT);
pinMode(LeLeVo,OUTPUT);
pinMode(LeLeHi,OUTPUT);
Serial.begin(9600);
}
void loop() {
blinkerSteuerung();
parkSensorik();
BliHebVal = analogRead(potiPin);
Serial.println(BliHebVal);
}
void blinkerSteuerung() {
if (BliHebVal < 400) {
blinkModus = true;
digitalWrite(LeBlLi, HIGH);
delay(1000);
digitalWrite(LeBlLi, LOW);
}
else if (BliHebVal > 600) {
blinkModus = true;
digitalWrite(LeBlRe, HIGH);
delay(1000);
digitalWrite(LeBlRe, LOW);
}
else {
blinkModus = false;
digitalWrite(LeBlLi, LOW);
digitalWrite(LeBlRe, LOW);
}
}
void parkSensorik() {
if (blinkModus) {
digitalWrite(PsHiTr, LOW);
digitalWrite(PsVoTr, LOW);
delayMicroseconds(5);
digitalWrite(PsHiTr, HIGH);
digitalWrite(PsVoTr, HIGH);
delayMicroseconds(10);
digitalWrite(PsHiTr, LOW);
digitalWrite(PsVoTr, LOW);
tempoHi = pulseIn(PsHiEc, HIGH) / 2;
tempoVo = pulseIn(PsVoEc, HIGH) / 2;
spaceHi = tempoHi * cHi;
spaceVo = tempoVo * cVo;
Serial.println("Distanz Vorne =" + String(spaceVo, 1) + " cm");
Serial.println("Distanz Hinten =" + String(spaceHi, 1) + " cm");
if (spaceHi < BeepHi) {
noTone(PsHiBe);
delay(spaceHi * 4);
delay(50);
}
if (spaceVo < BeepVo) {
noTone(PsVoBe);
delay(spaceVo * 4);
delay(50);
}
}
}
Hallo nochmal. Ich habe kräftig gecodet und versucht, alles so gut zu verstehen wie es geht und ich habe auch schon viele Fehler behoben aber nun stehe ich vor einem Problem. Der Parksensor Hinten "PsHi--" funktioniert. Der vordere "PsVo--" aber nicht. In TinkerCAD wird mir im Serial Monitor immer 0 cm angezeigt... Und außer dem höre ich in der Simulation keines der beiden Piezo-Elemente ("PsVoBe" z.B.). Der nahezu identische Code nur mit anderen Distanzwerten funktioniert mit einem einzelen Sensor/Piezo in der Simulation auch ohne Probleme...