Arduino Anfänge, Taster funktion will nicht

Hallo,

ich fange gerade neu mit dem Arduino an und habe mich jetzt erstmal durch die LED Spiele durchgearbeitet.
Nun wollte ich den Taster mal einbauen, nur leider will dieser absolut nicht den weg für HIGH frei machen.
Daher hab ich die Hoffnung, dass ihr vielleicht einen Fehler in meiner Schaltung oder dem Sketch findet.
Ich bin in bester Hoffnung, bei so einem eigentlich doch recht einfachen Programm^^.


int tasterstatus=0;

void setup()
{
pinMode(5, OUTPUT);
pinMode(7, INPUT);
}

void loop()
{
tasterstatus=digitalRead(7);
if (tasterstatus==HIGH)
{
digitalWrite(5, HIGH);
delay (500);
digitalWrite(5, LOW);
}
else
{
digitalWrite(5, LOW); 
}
}

So wie es in deinem Bild aussieht, ist dein Tasterstatus immer HIGH.
Du musst den den Taster gegen HIGH schalten, den Widerstand auf GND stecken.

Edit:
Setze deinen Sketch bitte in Code-Tags, dann kann jeder den besser lesen.
Verwende dazu die Schaltfläche </> oben links im Editorfenster. Das kannst du auch noch nachträglich in deinem Post machen.

auf dem Bild sieht es so aus, das der Taster auf 3,3V statt auf 5V liegt

Steck mal den Taster um 90° gedreht ein. Und überprüfe, ob die Anschlüsse des Tasters auch wirklich Kontakt mit dem Breadboard haben.

Was passiert, wenn du die Led anstatt auf Pin5 an 5V einsteckst?

Was passiert, wenn du Pin7 per Kabel mit 5V verbindest?

Natürlich jeweils nur eines von beiden testen

Hi

Wenn Du schon GND zum Steckbrett bringst, dann benutze dort bitte auch die entsprechende Kontaktreihe - GND auf ROT ist nämlich eher ungewöhnlich.
Der Übersicht sind auch dem Sinn der Drähte verschiedene Farben zu geben - aber ok, Das mache ich auch nicht wirklich - würde aber helfen, gerade, wenn man so grundlegende Kleinigkeiten falsch gemacht hat, wie z.B. statt Plus GND irgendwo hinzubringen.

Kann mir nur vorstellen, daß Du den Taster falsch eingesteckt hast - jeweils zwei der Pins sind miteinander verbunden - wie schon vorgeschlagen wurde: dreh Den Mal um 90°.

Für die Zukunft kannst Du Dir überlegen, ob Du nicht lieber INPUT_PULLUP und die Abfrage auf LOW benutzen willst (inverse Logik, spart aber den Pull-Widerstand). - Taster gedrückt ist dann LOW, nicht gedrückt HIGH.

MfG

Hallo.

HotSystems:
So wie es in deinem Bild aussieht, ist dein Tasterstatus immer HIGH.
Du musst den den Taster gegen HIGH schalten, den Widerstand auf GND stecken.

Der Widerstand steckt auf GND. Ich habe erst das Kabel zu PIN7 gelegt und dahinter geht der Widerstand runter ins Breadboard, wo ich dann eine Verbindung zu GND gesteckt habe. Auch das GND auf der Power Seite macht keinen Unterschied. Leider.

ardubu:
auf dem Bild sieht es so aus, das der Taster auf 3,3V statt auf 5V liegt

Ich hab nochmal nachgesehen. Steckt auf 5V. Das täuscht auf dem Bild wohl etwas.

ElEspanol:
Steck mal den Taster um 90° gedreht ein. Und überprüfe, ob die Anschlüsse des Tasters auch wirklich Kontakt mit dem Breadboard haben.

Was passiert, wenn du die Led anstatt auf Pin5 an 5V einsteckst?

Was passiert, wenn du Pin7 per Kabel mit 5V verbindest?

Um 90° drehen bringt nichts, da mein Taster nur 2 statt 4 Beine hat. Ich habe ihn allerdings mal um 180° gedreht. Kein Unterschied. Wie überprüfe ich das mit dem Kontakt der Anschlüsse am besten? Ich hab ihn jetzt mal direkt an die Kontakte der Kabel gehalten, da passiert auch nichts.

Wenn ich die LED an 5V anschließe leuchtet sie.
Wenn ich PIN7 an 5V anschließe passiert nichts.

Wie kann dass den jetzt sein? Ist mein 1kOhm Widerstand hinterm Taster zu groß ? Wie kann ich besser bestimmen, wie groß dieser sein muss?
Ich hab jetzt auch mal probiert PIN7 zu ersetzen, das macht auch keinen Unterschied, also muss der Fehler davor liegen.

postmaster-ino:
Hi

Wenn Du schon GND zum Steckbrett bringst, dann benutze dort bitte auch die entsprechende Kontaktreihe - GND auf ROT ist nämlich eher ungewöhnlich.
Der Übersicht sind auch dem Sinn der Drähte verschiedene Farben zu geben - aber ok, Das mache ich auch nicht wirklich - würde aber helfen, gerade, wenn man so grundlegende Kleinigkeiten falsch gemacht hat, wie z.B. statt Plus GND irgendwo hinzubringen.

Kann mir nur vorstellen, daß Du den Taster falsch eingesteckt hast - jeweils zwei der Pins sind miteinander verbunden - wie schon vorgeschlagen wurde: dreh Den Mal um 90°.

Für die Zukunft kannst Du Dir überlegen, ob Du nicht lieber INPUT_PULLUP und die Abfrage auf LOW benutzen willst (inverse Logik, spart aber den Pull-Widerstand). - Taster gedrückt ist dann LOW, nicht gedrückt HIGH.

MfG

Hallo,

die ganze Aufbau- und Farbenregeln sind mir noch komplett ungeläufig. Sobald ich diese jedoch kenne werde ich sie natürlich anwenden.
Die Idee von INPUT_PULLUP, ist echt schön, die merke ich mir. Danke.
Wie oben, leider hat mein Tater nur 2 Beine und um 180° bringt keinen Unterschied.

LG

Rot == Power (heiß)
Schwarz == GND (kalt)

Steckbrett: Blau == GND (kalt)

1k passt schon.

...

Versuche mal die LED nur mit dem Taster zu schalten, ganz ohne Arduino.
Dann weißt du ob Taster ok.

Scota:
.
Wenn ich PIN7 an 5V anschließe passiert nichts.

Das ist nicht gut.

Teste nochmal mit diesem Sketch

void setup()
{
pinMode(5, OUTPUT);
pinMode(7, INPUT);
}

void loop()
{
digitalWrite(5, digitalRead(7));
}

Hast du einen Multimeter? Teste den Taster und die Kabel mal auf Durchfluss, und teste die LED mit dem Diodentest, wenn dein Multimeter das anbietet. Defekte Bauteile sind nie auszuschließen.

Auf den ersten Blick sehe ich in der Schaltung keine Probleme.


An Pin 13 ist eine LED angeschlossen. Verwende zu Anfang mal dieses Pin für die Kontrolle ob der Taster gelesen wird.

Die LED hat eine Richtung. Der längere Anschluß gehört Richtung +.

Diese Taster sind nicht für Steckbretter gemacht. Man hat Schwierigkeiten sie so hineinzustecken, daß sie auch Kontakt machen.
Versuch mal statt des Tasters einen Kabel zu nehmen. Stecke den orangen Kabel mal auf +5V (langer schwarzer Kabel) um so den Taster zu simulieren.

Grüße Uwe

ElEspanol:
Das ist nicht gut.
Teste nochmal mit diesem Sketch

Okay hab ich... hat auch nicht geklappt. Aber, ob man es glaubt oder nicht, mit anderen Kabeln klappt es. Ich hab anscheinend in einem neuen Set ein defektes Kabel und genau das hatte ich nicht bedacht.
Ich danke dir vielmals fürs auf die Sprünge helfen. Jetzt kann ich weiterspielen...ohne dieses eine Kabel!! ^^

combie:
Rot == Power (heiß)
Schwarz == GND (kalt)
Steckbrett: Blau == GND (kalt)

Danke schön, werde ich demnächst berücksichtigen.

Scota:
Danke schön, werde ich demnächst berücksichtigen.

Wieso demnächst ?
Das solltest du unbedingt sofort bei jedem Projekt berücksichtigen.
Dann führst du auch keine weiteren Helfer, die nur zu bequem sind, alles genau anzusehen, in die Wildnis. :wink:

Ich danke allen vielmals für die schnelle Hilfe.

wapjoe:
Defekte Bauteile sind nie auszuschließen.

Und defekte Kabel anscheinend auch nicht^^.

Ich erfreue mich jetzt wieder an dem Lieben und werde demnächst bei Problemen erstmal die Bauteile und Kabel alle durchwechseln. :slight_smile:

LG
Scota

Durchmessen ist effektiver.

Gruß Tommy

Tommy56:
Durchmessen ist effektiver.

Gruß Tommy

Nur wenn man eine Fehlersuche machen möchte. :wink:

Scota:
Ich danke allen vielmals für die schnelle Hilfe.

Und defekte Kabel anscheinend auch nicht^^.

Deswegen schrieb ich ja ...Kabel... messen. :wink: Auch das Steckbrett kann eine nicht unerhebliche Fehlerquelle sein.

wapjoe:
Nur wenn man eine Fehlersuche machen möchte. :wink:

Man kann sich natürlich auch einfach davorsetzen und warten, dass der Fehler von allein weg geht.

Da tendiere ich eher zur Fehlersuche.

Gruß Tommy

Hi

Auch hier möchte ich dem TO neben einem DMM (digitales Multi Meter) einen Bauteil-Tester ans Herz legen.
DMMs gibt's ab 5€ im Baumarkt in der Krabbelkiste - einen Bauteil-Tester (Der eben auch Widerstände messen kann) für wenige Euro bei 'den üblichen Verdächtigen' - also Ali und eBay.

Ein Labor-Netzgerät, ein LA (LogicAnalyser), ein DSO (digitales Speicher Oszilloskop) gibt's auch für schmales Geld - wenn nicht gleich direkt für Taschengelder.

Ein Normales Oszilloskop (also ohne Speicher-Zeugs) kann man ebenfalls für wenige Euro finden - wobei ich nicht verheimlichen möchte, daß ein billiges DSO (gibt's als USB-Gerät) Einem durchaus einfacher ans Ziel bringt.

Mein normales Oszi ist ein Fluke (Marke!) PM3082 - 2/4 Kanal, OHNE Speicher-Funktion - eben ein recht normales 08/15-Oszi.
Irgendwo habe ich auch noch ein günstiges DSO (digitales Speicher Oszilloscop) als USB-Stöpsel - läuft unter Win ohne Probleme - unter Linux .. jo ... da kann man aber eine Win-VM nutzen - Problem gelöst!

MfG

Hi, nur nützen all die tollen Mess- und Analyse-Geräte leider nur dann wirklich etwas, wenn man auch weiss , wie sie benutzt werden und was einem die angezeigten Werte sagen.

Also wer mit Elektronik bastelt, sollte zumindest ein einfaches Multimeter mit Spannung / Strom / Widerstand (evtl Ton zum Durchklingeln) und wenn möglich Diodentest haben.
Wenn er das nicht versteht, soll er Bücher lesen oder sich ein anderes Hobby suchen (Figurenschnitzen z.B.)

Gruß Tommy