Warum zum Teufel funktioniert der Code nicht?

#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 LeLeVo 12
#define LeLeHi 13

#define beep_start 100
#define min_distance  5
#define c 0.0343

long tempo;
float space;
int potiPin = A0;
int BliHebVal = 0;

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();
  BliHebVal = analogRead(potiPin);
  Serial.println(analogRead(potiPin));
}
void blinkerSteuerung() {
  if (potiPin < 400) {
    digitalWrite(LeBlLi, HIGH);
    delay(1);
    digitalWrite(LeBlLi, LOW);
  }
  else if (potiPin > 600) {
    digitalWrite(LeBlRe, HIGH);
    delay(1);
    digitalWrite(LeBlRe, LOW);
  }
  else {
    digitalWrite(LeBlLi, LOW);
    digitalWrite(LeBlRe, LOW);
  }
}

Hallo alle zusammen. Das hier ist der Code, der unter Anderem den Blinker eines Spielzeugautos ansteuern soll, aber genau daran scheitere ich. Ich möchte mittels eines Potentiometers als "Blinkerhebel" meine LEDs zum Leuchten kriegen, aber in der Simulation auf TinkerCAD leuchten die LEDs einfach durchegehend.
Bitte helft mir, ich habe kaum noch Haare zum Rausrupfen :smiley:

Sie definieren potiPin als A0 (die Nummer eines Pins).

Und wenn Sie dann den Wert dieser Pin-Nummer testen, wird es nicht viel bringen ➜ potiPin ist immer A0... es ist die Pin-Nummer.

Sie sollten ein analogRead(potiPin) durchführen...

1 Like

ist eine ms. Das siehst du nicht. Mach mal mind. 100 daraus.

ändere mal in

  BliHebVal = analogRead(potiPin);
  Serial.println(BliHebVal);
1 Like

Du bist Dir sicher, dass Du ein blinken siehst?

Das wird noch spannend....
Aber ist ja gelöst...

Ich nehme mal an daß der Controller ein ATmega328 ist.

Da beßt sich die serielle Schnittstelle mit dem was an Pin 1 angeschlossen ist.

Grüße Uwe