Programmierung mit Arduino, Fehler?

2 Antworten

digitalRead(TON, HIGH) ergibt absolut keinen Sinn.

digitalWrite ist der Befehl.. und wenn kein aktiver piezo buzzer verwendet wird ist auch das falsch dann brauchst du den tone befehl.

Woher ich das weiß:Berufserfahrung – Backend Developer

al23ma 
Beitragsersteller
 20.03.2024, 11:44

den piezo Buzzer hatte ich vor zu verbauen

0
Ginpanse  20.03.2024, 11:49
@al23ma

empfehle dir einen Arduino Grundkurs. hier scheiterts schon bei einfachen basics.

0
al23ma 
Beitragsersteller
 20.03.2024, 11:52
@Ginpanse

Wir haben nur wenige Grundlagen von unseren Lehrer bekommen und sollen nun eigenständig ohne richtig programmieren zu können diese Aufgabe meistern

0
Ginpanse  20.03.2024, 11:56
@al23ma

bezweifle ich. bin mir sicher dass euer Lehrer euch dinge wie digitalread und write erklärt hat. ansonsten ist google und youtube dein kostenloser Freund.

0

Versuch mal:

int LEDgr = 2;

int LEDge = 3;

int LEDro = 4;

int Draht = 5;

int ton = 6;

int Reset = 7;

int x = 0;

boolean Start1 = LOW;

boolean Start2 = LOW;

void setup () {

 pinMode(LEDgr, OUTPUT);

 pinMode(LEDge, OUTPUT);

 pinMode(LEDro, OUTPUT);

 pinMode(ton, OUTPUT);

 pinMode(Draht, INPUT);

 pinMode(Reset, INPUT);

}

void loop() {

 if (digitalRead(Draht) == LOW && Start1 == LOW) {

  Start1 = HIGH;

 }

  

 if (digitalRead(Draht) == LOW && Start2 == LOW && Start1 == HIGH) {

  x++;

 }

  

 if (digitalRead(Draht) == LOW && Start1 == HIGH) {

  Start2 = HIGH;

 }

  

 if (digitalRead(Draht) == HIGH) {

  Start2 = LOW;

 }

  

 Start1 = LOW;

 if (x <= 2) {

  digitalWrite(LEDgr, HIGH);

  tone(ton, 1000);

 } else if (x == 3) {

  digitalWrite(LEDgr, LOW);

  digitalWrite(LEDge, HIGH);

  tone(ton, 1000);

 } else if (x == 4) {

  digitalWrite(LEDge, LOW);

  digitalWrite(LEDro, HIGH);

  tone(ton, 1000);

 } else if (x >= 5) {

  digitalWrite(LEDro, HIGH);

  tone(ton, 1000);

 }

 if (digitalRead(Reset) == LOW) {

  digitalWrite(LEDgr, LOW);

  digitalWrite(LEDge, LOW);

  digitalWrite(LEDro, LOW);

  noTone(ton);

  x = 0;

 }

}


al23ma 
Beitragsersteller
 20.03.2024, 11:12

Ist da schon eingebaut, dass bei der 1. bis 4. Berührung der Ton nur an ist, wenn der Draht berührt wird, wusste nicht, wie ich das einbauen soll

0