Hallo,
ich will bei meinem beigefügten Programm den Taster zu einem Schalter werden lassen. Dies pobiere ich nun schon seit mehreren Tagen ohne Erfolg.
Wäre nett wenn mir jemand helfen könnte.
Arduino_FIP_Technik.ino (1 KB)
Hallo,
ich will bei meinem beigefügten Programm den Taster zu einem Schalter werden lassen. Dies pobiere ich nun schon seit mehreren Tagen ohne Erfolg.
Wäre nett wenn mir jemand helfen könnte.
Arduino_FIP_Technik.ino (1 KB)
You had some double code !! anyway, this should work as you intended if the button is active LOW.
bool geschaltet = false;
int LED = 4;
int Pieps = 5;
int Taster = 7;
int Tasterstatus = 0;
void setup()
{
pinMode(LED, OUTPUT);
pinMode(Pieps, OUTPUT);
pinMode(Taster,INPUT_PULLUP);
}
void loop()
{
Tasterstatus = digitalRead(Taster);
if (Tasterstatus == LOW) { // you forgot this brace and since you are using
// pinMode(Taster,INPUT_PULLUP); you should test for a 'LOW' level
// that means you 'taster' should have one side to the pin and the other to GND
digitalWrite(LED, HIGH); // therefore only this line was conditionally executed
digitalWrite(Pieps, HIGH);
delay(1000);
digitalWrite(LED, LOW);
digitalWrite(Pieps, LOW);
}
}
Du mußt auf Zustandsänderung suchen.
siehe https://www.arduino.cc/en/tutorial/switch und https://www.arduino.cc/en/Tutorial/StateChangeDetection
Hallo,
dürfen wir im englischen Unterforum auch deutsch schreiben?
Klar, die englischen scherts ja auch nicht.
schön das noch jemand gewissen Humor hat
Doc_Arduino:
schön das noch jemand gewissen Humor hat
Danke, aber das war durchaus ernst gemeint.
Wenn hier jemand im "deutschprachigen Teil" in englisch antwortet, warum dann nicht auch umgekehrt?
Ein deutschgeschriebener Tread im englisch-sprachigen Forum wird ziemlich schnell von den englischen Moderatoren zum deutschen Teil verschoben.
Darum erübrigt sich die Antwort:
dürfen wir im englischen Unterforum auch deutsch schreiben?
Grüße Uwe
Hallo,
auch wenn es von mir nicht sooo ernst gemeint war, nimmt die Unsitte zu in deutschen Threads immer mal wieder englische Antworten lesen zu müssen. Muss man eben dulden. Dann kam mir der Gedanke was passieren würde wenn man das umgekehrt macht. Ich meinte das so, ob es unhöflich wäre in englischen Threads Antworten in deutsch dazwischenzuwerfen. Ich meinte nicht im englischen Teil einen Thread in deutsch zu eröffnen. Das wäre wirklich dumm. Ich möchte das nicht weiter ausführen, wollte nur meine Gedanken zur Unsitte kundtun.
Etwas ... aber ...
Hatte was gelesen - mag von Facebock oder sonstigen dubiosen Quellen stammen:
Irgend ein holländischer Schauspieler o.Ä. ist gestorben und in Holland wurde die Niederländische Flagge gehisst und die Nationalhymne gesungen ... und jetzt stelle Dir Das in Deutschland vor.
Zwei Mal 'die gleiche Unsitte' mit vollkommen verschiedenen Werdegängen
MfG
Doc_Arduino:
Hallo,
dürfen wir im englischen Unterforum auch deutsch schreiben?
Ich nehme mal an der Tread begann im englischen Forum, Deva_Rishi hat geantwortet und der Tread wurde in den deutschen Teil verschoben.
Nachgeschaut (bin ja nicht unnütz auch Global Moderator) :
Moved "Programmieren" from "Programming Questions" to "Deutsch" Jan 18, 2019, 04:00 pm AWOL
Grüße Uwe
Hallo,
okay, dann nehme ich fast alles zurück.
@ TO:
Der "Trick" ist, man muss sich den Tasterzustand merken und bei Bedarf umschalten.
Dazu machen wir uns es ganz einfach, nehmen die Bounce2 Lib und lagern die Tasterabfrage in eine Funktion aus.
#include <Bounce2.h> // https://github.com/thomasfredericks/Bounce2
const byte pin_LED = 4;
const byte pin_Pieps = 5;
const byte pin_Taster = 7;
Bounce debouncer = Bounce(); // Instantiate a Bounce object
void setup()
{
pinMode(pin_LED, OUTPUT);
pinMode(pin_Pieps, OUTPUT);
pinMode(pin_Taster, INPUT_PULLUP);
debouncer.attach(pin_Taster);
debouncer.interval(40);
}
void loop()
{
if (update_Taster() ) { // wenn Rückgabewert true
digitalWrite(pin_LED, HIGH);
digitalWrite(pin_Pieps, HIGH);
}
else {
digitalWrite(pin_LED, LOW);
digitalWrite(pin_Pieps, LOW);
}
}
// ****** Funktionen ******
bool update_Taster () // Funktionalität eines Schalters
{
static bool state = false;
debouncer.update(); // aktualisiere bounce instance
if ( debouncer.fell() ) {
state = !state; // toggle Rückgabewert
}
return state;
}
uwefed:
Ich nehme mal an der Tread begann im englischen Forum, Deva_Rishi hat geantwortet und der Tread wurde in den deutschen Teil verschoben.
Genau !Und i habe versucht meine gedanke auf Deutsch zu machen aber weil ich kaum auf Deutch programmiere hab entslossen auf English zu antworten. Ist die Losung shon dar ?
Deva_Rishi:
Ist die Losung shon dar ?
Right in front of you.