INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Blutiger Anfänger/ Projekt: Visuelle Takthilfe
15.02.2020, 13:28 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2020 13:57 von bencha.)
Beitrag #1
Blutiger Anfänger/ Projekt: Visuelle Takthilfe
Liebes Forum!

Zunächst mein Projekt:
Ich möchte vier LEDs und einen Taster an den Arduino anschließen.
Bei Betätigen des Tasters soll zunächst LED1 aufleuchten, bei nächsten Betätigen des Tasters LED1 ausgehen und LED2 angehen. Nach diesem Prinzip bis LED4, dann wieder von vorne.
Der Taster soll mit dem Fuß betätigt werden. Hintergedanke ist, beim Gitarrenlernen ein besseres Taktgefühl zu bekommen, indem visuell dargestellt wird, bei welchem Schlag eines 4/4 Takts man sich gerade befindet.

Ich bin auf diesen Sketch gestoßen, den ich für meine Zwecke gerne umschreiben möchte:

Code:
int LEDblau=6;
int taster=7;
int tasterstatus=0;

void setup()
{
pinMode(LEDblau, OUTPUT);
pinMode(taster, INPUT);
}

void loop()
{
tasterstatus=digitalRead(taster);
if (tasterstatus == HIGH)
{
digitalWrite(LEDblau, HIGH);
delay (5000);
digitalWrite(LEDblau, LOW);
}
else
{
digitalWrite(LEDblau, LOW);
}
}

Ich bin leider blutiger Anfänger und schon etwas ratlos, deshalb hier meine (dumme) Frage: Muss ich bei diesem Sketch einen weiteren if-Befehl für jede der vier LEDs schreiben? Oder kann ich das irgendwie in einem if-Befehl unterbringen?
Hätte eventuell jemand eine Homepage o.ä. anhand derer ich das Problem lösen könnte? ..Natürlich erwarte ich keine fertigen Sketches oder Baupläne von euch!

Liebe Grüße Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.02.2020, 13:52
Beitrag #2
RE: Blutiger Anfänger/ Projekt: Visuelle Takthilfe
Hallo,
zuerst setze deinen Sketch bitte in Code-Tags, damit dieser von allen besser gelesen werden kann. Wie das geht, steht hier.
Und zu deiner if-Abfrage (kein Befehl) findest du hier oder hier weitere Informationen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.02.2020, 13:53
Beitrag #3
RE: Blutiger Anfänger/ Projekt: Visuelle Takthilfe
Es gibt mehrere Möglichkeiten. Da Du ja nur Anregungen und keine Lösungen willst, solltest Du mit den Beispielen in der IDE anfangen.

1. Einen Taster einlesen (am Bessten Tater nach GND und INPUT_PULLUP)
2. Eine LED ansteuern (Vorwiderstand nicht vergessen)
3. Einen Taster entprellen. Du willst ja bei jeder Betätigung 1 Schritt und nicht 10
4. Die Flanke am Taster erfassen (also nur die Änderung)

Danach kannst Du dann entweder

A) über 4 if (schreibintensiv, aber wenig Vorkenntnisse notwendig)
B) über switch/case (etwas weniger schreibintensiv, aber mehr Vorkenntnisse)
C) über ein Array (der einfachste Weg, der aber die meisten Vorkenntnisse erfordert)

Deine Lösung erarbeiten. Oft hilft dabei, wenn man sich ganz genau aufschreibt, was schrittweise wie ablaufen soll.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.02.2020, 15:18
Beitrag #4
RE: Blutiger Anfänger/ Projekt: Visuelle Takthilfe
(15.02.2020 13:53)Tommy56 schrieb:  Es gibt mehrere Möglichkeiten. Da Du ja nur Anregungen und keine Lösungen willst, solltest Du mit den Beispielen in der IDE anfangen.

1. Einen Taster einlesen (am Bessten Tater nach GND und INPUT_PULLUP)
2. Eine LED ansteuern (Vorwiderstand nicht vergessen)
3. Einen Taster entprellen. Du willst ja bei jeder Betätigung 1 Schritt und nicht 10
4. Die Flanke am Taster erfassen (also nur die Änderung)

Danach kannst Du dann entweder

A) über 4 if (schreibintensiv, aber wenig Vorkenntnisse notwendig)
B) über switch/case (etwas weniger schreibintensiv, aber mehr Vorkenntnisse)
C) über ein Array (der einfachste Weg, der aber die meisten Vorkenntnisse erfordert)

Deine Lösung erarbeiten. Oft hilft dabei, wenn man sich ganz genau aufschreibt, was schrittweise wie ablaufen soll.

Gruß Tommy

Danke für deine Antwort!
Also gegen fertige Lösungen hätte ich generell nichts zu einzuwenden, wollte nur keine dreisten Ansprüche direkt beim ersten Post schreiben Blush

Liebe Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.02.2020, 15:27
Beitrag #5
RE: Blutiger Anfänger/ Projekt: Visuelle Takthilfe
Ich halte den Weg des Lernens für die bessere Lösung.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2020, 17:36 (Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2020 18:09 von bencha.)
Beitrag #6
RE: Blutiger Anfänger/ Projekt: Visuelle Takthilfe
Soo, ich befinde mich auf dem Weg des Lernens, das ist tatsächlich die bessere Lösung (:

Code:
int LED1=3;
int LED2=4;
int LED3=5;
int LED4=6;
int taster=8;
int tasterstatus=0;

void setup()
{
pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT);
pinMode (LED3, OUTPUT);
pinMode (LED4, OUTPUT);
pinMode (taster, INPUT);
}

void loop()
{
tasterstatus= digitalRead (taster);
if (tasterstatus == HIGH) // wenn der Taster betätigt wird...
{
digitalWrite (LED1, HIGH);// ...soll LED1 leuchten
}
else // ansonsten...
{
digitalWrite (LED1, LOW);
digitalWrite (LED2, LOW);
digitalWrite (LED3, LOW);
digitalWrite (LED4, LOW);//...sollen die LED´s ausbleiben,
}


if (tasterstatus== LOW); (LED1= HIGH); // wenn LED1 leuchtet, und der Taster nochmals betätigt wird...
{
  digitalWrite (LED1, LOW);//...soll LED1 ausgehen
  digitalWrite (LED2, HIGH);//....und LED2 aufleuchten
}

else
{
digitalWrite (LED1, LOW);
digitalWrite (LED3, LOW);
digitalWrite (LED2, LOW);
digitalWrite (LED4, LOW);//..ansonsten sollen alle LEDs ausbleiben
}
}


-Das wären jetzt die ersten beiden Schritte. Das Programm zeigt mir bei der zweiten Abfrage die Meldung "else without a previous if", ich komme leider nicht auf meinen Fehler..
- Ich würde als Taster einen Touch Sensor benutzen, muss ich dazu beim Entprellen etwas besonderes beachten?
- Kannst du mir erklären, was "Flanke am Taster erfassen" genau bedeutet? Bin dazu im Handbuch nicht wirklich fündig geworden..

Liebe Grüße (:
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2020, 17:43
Beitrag #7
RE: Blutiger Anfänger/ Projekt: Visuelle Takthilfe
Ja, lernen ist immer wichtig.

Dann sieh dir mal deine Fehlermeldung genau an.
Der Fehler ist doch genau beschrieben, nur man wird nie genau mit der Nase drauf gestoßen.
Ich sehe bei "if" ein Semikolon zu viel.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2020, 18:11
Beitrag #8
RE: Blutiger Anfänger/ Projekt: Visuelle Takthilfe
(20.02.2020 17:43)hotsystems schrieb:  Ja, lernen ist immer wichtig.

Dann sieh dir mal deine Fehlermeldung genau an.
Der Fehler ist doch genau beschrieben, nur man wird nie genau mit der Nase drauf gestoßen.
Ich sehe bei "if" ein Semikolon zu viel.

Danke für deine Antwort (:

Auch nachdem ich das Semikolon nach "(tasterstatus == LOW)" entfernt habe, kommt diese Meldung...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Simple if Bedingung funktioniert nicht (Anfänger) Maxcruiser 12 193 22.09.2020 16:12
Letzter Beitrag: hotsystems
  Projekt Stellwerk Arduino DB Nico 17 1.426 01.07.2020 13:27
Letzter Beitrag: DB Nico
  Projekt: Bewegunsmeldung per Lorawan Bodycocoon 23 1.679 19.05.2020 14:05
Letzter Beitrag: GuaAck
  Kleines Projekt mit RFID Stefu1987 31 2.078 11.05.2020 20:24
Letzter Beitrag: Retian
  Neuling mit Fragen für sein Projekt Inferno481 8 1.112 19.04.2020 20:53
Letzter Beitrag: Tommy56
  Erstes Projekt Ampelsteuerung HankfromHell 13 1.203 02.04.2020 21:56
Letzter Beitrag: hotsystems
  Projekt Haushaltsplaner Eisverkäufer 1 680 06.11.2019 13:00
Letzter Beitrag: Tommy56
  Anfänger braucht Hilfe Schrittmotorsteuerung für den Hund dg8ngj 4 1.089 25.08.2019 17:00
Letzter Beitrag: dg8ngj
  Hilfe für Kita-Projekt gesucht. cyberiss 8 2.145 06.08.2019 07:57
Letzter Beitrag: Der Hobbyelektroniker
  Anfänger: Fehlermeldung expected primary-expression before Reiseeck 5 1.903 31.05.2019 12:09
Letzter Beitrag: amithlon

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste