Durchgang schalten Zu viele Befehle will doch nur was einfaches

Hallo Welt
Ich möchte nicht groß was nur diese Flut an Informationen :slightly_frowning_face:

Vorhanden ist: ein Arduino Mega 2560; Taster ; USB-Kabel
Können kann Code Kopieren und einfügen aufspielen :sunglasses:

Funktionen 1-3 habe ich im Kopf

  1. Taster 1 schaltet wenn das geht Zwei Pins zusammen oder Relai (muss nur schalter Kontakt sein)
    Timer hält ca. 1 Minute, unterbricht 30 sek, usw loop

  2. Taster 2 Startet oben nur mit längerer Zeit, ( 2 Minuten geschloßen,30 Sek offen)

  3. Taster 3 genau das selbe 5 Minuten geschloßen, 30 sek offen)

Bin auch schon über den Nachtwächter und Leuchtturm gefallen, aber nein keine Erleuchtung :confused: :confused: :confused:

Das schreit ja geradezu nach einer Funktion der man die Zeiten als Parameter übergibt

So langsam habe ich wohl verstanden wann man eine Funktion nutzen sollte.
Nur leider habe ich selbst kein Projekt wo ich dies in Zukunft nutzen oder etwas altes umprogrammieren kann.

(deleted)

Frage: nur bei "1" schreibst du loop, heißt dass 2 und 3 hören nach einer Sequenz EIN - AUS auf und es wird auf den nächsten Tastendruck gewartet?

Für dich:
mach mal folgende Beispiele aus der IDE:

  1. Digital | BlinkWithoutDelay
  2. Digital | Debounce

und das
02. Digital | Button

genau dazwischen ist - das schaust dir auch an.

Dann machst mal einen Versuch mit einem Button und wenn du dann noch Fragen hast, postest deinen Code und stellst eine Frage, was genau nicht klappt.

Edit: und nachdem du die Frage beantwortet hast,
die Beispiele durchgemacht hast, kannst du das mal aus Komponenten meiner Wühlkiste probieren:

-gelöscht-

Edit: Sketch nach 24h gelöscht, da sich der TO offenbar eh nicht mehr dafür interessiert.

Danke für die Anregungen, info.
Leider habe ich keine nachrichten über die antworten bekommen! hätte oben rechts in der Ecke mal lesen sollen.

also noch einmal für ganz ganz dumme:

int inPin = 2 // Taster 1 (1 min. an ; 30sek. aus)
int inPin = 3 // Taster 2 (2 min. an ; 30sek. aus)
int inPin = 4 // Taster 3 (5 min. an ; 30sek. aus)
int inPin = 5 // Taster 4 (Stop)
 
int outpin = 13 // Relais (5V Schließer)

int outPin = 13;       // 5V Relai (schließer)

int state = LOW;      // the current state of the output pin
int reading;           // the current reading from the input pin
int previous = HIGH;    // the previous reading from the input pin

long time = 0;         // the last time the output pin was toggled
long debounce = 200;   // the debounce time, increase if the output flickers

void setup()
{
  pinMode(inPin1, INPUT);
  pinMode(inPin2, INPUT);
  pinMode(inPin3, INPUT);
  pinMode(inPin4, INPUT);
  pinMode(outPin, OUTPUT);
}

void loop()
{
  reading = digitalRead(inPin1 & inPin2);
  reading = digitalRead(inPin2);
  reading = digitalRead(inPin3);
  reading = digitalRead(inPin4);
  
if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    if (state == HIGH)
      state = LOW;
    else
      state = HIGH;

    time = millis();    
  }

  digitalWrite(outPin, state);

  previous = reading;
}

Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
So ist er auch auf portablen Geräten lesbar. Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

so richtig ??

Hallo,

warum lernst Du nicht erst mal das was in #4 geschrieben wurde. Fang doch mal mit nur einem Taster an, Dann versuchst du den zweiten dazu zu nehmen, wenn das nicht klappt stellst Du den Sketch hier mit code Tags rein.

Heinz

hoschiJL:
so richtig ??

Kannst Du nicht lesen ?

nicht immer aber schnell überlesen.
aber warum immer alles so Kompliziert.
kann andere Sachen besser. aber diese Programmier sprachen und 100k Befehle.
Wenn andere die Lösung kennen warum nicht fragen!?!?
Es muss nicht jeder neu das Rad erfinden und erst selber PI errechnen???

Befehle:
if switch1 high = outPin millis 1000 high, millis 500 low loop
if switch4 high = outPin LOW

Danke schon einmal an alle

  1. es gibt keine Befehle, nur Funktionsaufrufe
  2. andere Sachen interessieren nicht
  3. Grundlagen lernen

Gruß Tommy

aber das nervt an Foren die Besserwisser !!
Ich dachte ein Forum ist ein Ort wo sich gleich gesinnte sich Treffen & Helfen.
Natürlich habt ihr Recht Grundlagen lernen, aber ganz ehrlich wenn ich & alle anderen alles gelernt hätte brauch keiner irgendein Forum. Es währe ja alles selbstverständlich. Weil jeder alles schon kennt & kann.

hoschiJL:
aber das nervt an Foren
die besserwisser

was willst Du noch , Du hast Hilfe und Anleitung bekommen wie Du dein Problem angehen kannst. das wir Dir keiner abnehmen. Und ich denke auch Du willst uns verar...n. Mach die Sachen die Du besser kannst.

schüss

Hi

Was besonders in den Foren nervt, sind die kleinen Kinder, Die Alles haben wollen, dafür aber Nichts selber tun wollen und sich dann auch noch zu fein sind, halbwegs auf die Rechtschreibung zu achten oder auch nur auf die Fragen der Anderen zu reagieren.

Auch solltest Du den Leuten, von Denen Du (DU) Hilfe haben willst, nicht vor den Kopf stoßen - also Deine 'Freunde gewinnen-Skills' sind definitiv noch ausbaufähig.

MfG

Edit
Ein Forum ist kein 'Du kannst Das, also mach mir Das', sonder ein Forum ist HILFE ZUR SELBSTHILFE - und Da bist Du auch wieder im Boot - Du musst den Kram SELBER können, wenn Du Das halt haben willst. Wir sind 'nur' dafür da, Dich in die richtige Richtung zu schubsen!
Wenn nicht, brauchste Das halt nicht - dann frage ich mich aber: Was willst Du hier?

hoschiJL:
Natürlich habt ihr Recht Grundlagen lernen, aber ganz ehrlich wenn ich & alle anderen alles gelernt hätte brauch keiner irgendein Forum.

Das schließt ja nicht gegenseitig aus. Wir geben dir gerne Tips zu Detail-Fragen. Und oft werden auch fertige Beispiele oder Ausschnitte geliefert. Aber das heißt nicht dass mit nicht lernen muss zu programmieren. Arduino suggeriert manchmal dass das auch ohne geht, aber in der Praxis stimmt das nicht

Hallo auch,
Ach ja die Rechtschreibung, wurde Multilingual erzogen.
Der Gedanken wert liegt meines Willens, Zeit Ersparnis!
Fähigkeiten meiner Natur sind Handwerklicher.
Bin Selber froh das ich von Beton; Holz über Metal bearbeiten kann.
meine PC Kenntnisse von Dos 4.0 und Norton Commander Helfen hier nicht.
Auch der aufbau meiner Veralteten Homepage, und Kodi auf einen Raspberry zu spielen habe ich geschaft.
Nur mal im ernst.
Es gibt genug Kinder die heutzutage mehr Programmieren können als ich.
Aber können keinen Hammer halten. Dennoch sage ich freiwillig was sie falsch machen.

Aber irgendwie habe ich mein Arduino Buch verlegt, so kann ich nicht nachlesen.

mfg JL

Hi

Schön, daß Du Dir auch Mühe geben kannst - große Buchstaben haben durchaus Sinn.
Leider verweigerst Du uns immer noch jegliche Information, mehrfaches Nachfragen zu den noch schuldig gebliebenen Antworten zu #4 werden auch komplett ignoriert.
Man darf durchaus auch sämtliche neuen Posts lesen und auch auf Nachfragen reagieren.

Klar, wir treiben uns hier rum, weil uns Programmieren Spaß macht, wir kamen (wohl Alle), weil wir ein Problem hatten, Das wir nicht selber lösen konnten.
Teilweise sind wohl Programmierer unter uns - also Leute, Die Das richtig gelernt haben - nicht wie ich, Der sich sein Wissen nur zusammen geklaubt hat.

Aber anscheinend, uns gibt Es ja noch, ist uns der Spaß nicht vergangen.
... wahrscheinlich, weil uns die gebratenen Tauben nur so hinterher geworfen wurden ...
(ja, Da war Ironie drin)

Nun darfst Du wieder - entweder auf niedrigem Niveau weiter heulen, oder langsam versuchen, das Problem gepackt zu bekommen.
Wie Du anfangen könntest, wurde in #4 schon erwähnt - es bringt Dir Nichts, wenn Du mit zwölf Tastern, zwei LED einem Servo und drei Steppern Deinen 3D-Drucker zur Kirmes-Attraktion umgestallten willst - zuerst muß EINE LED funktionieren.
Das mit vollen Programm auf Anhieb hinbekommen, ist eher wie ein 6er im Lotto.
Dort lauert in jeder Kleinigkeit mindestens eine Stolperfalle, Die Du zielsicher erwischen wirst.

Warum also nicht die Anzahl der möglichen Fallen auf Nahe Null reduzieren?
Man fliegt weniger auf die Fresse und die Motivation bleibt weiterhin oben - und wenn das Eine funktioniert, liegen beim Erweitern die neuen Fehler zu >90% im neuen Code - wesentlich weniger Arbeit, den Fehler in dem kleinen neuen Teil zu finden.

Du darfst davon ausgehen, daß hier ein Großteil der Helfer Dir nur helfen will.
Der Anteil Derer, Die Dich nur ärgern wollen, kann mit Null angenommen werden.

MfG

PS: Zu Deiner multilingualen Erziehung beneide ich Dich, ernsthaft! Sprachen sind an mir, leider, vorbei gegangen.
Zumindest früher hatte der FireFox aber eine Rechtschreibprüfung, Die für, Seiner Meinung nach, falsch geschriebener Worte, einen Vorschlag parat hatte - ist seit einigen Sub-Versionen aber etwas aus dem Tritt gekommen, mit Umlauten hat Er's nicht mehr so, vll. habe ich aber meinen FF auch nur vorschriftlich zerschossen :wink:

hoschiJL:
.....
Es gibt genug Kinder die heutzutage mehr Programmieren können als ich.
Aber können keinen Hammer halten. Dennoch sage ich freiwillig was sie falsch machen.

Toller Vergleich.

Aber genau das wurde dir doch hier schon mehrfach geschrieben, wie du es machen sollst.

Also was willst du noch ?

(deleted)