Zwei Programm

Hallo und guter Abend,

ich bin gerade dabei mit dem Arduino ein wenig zu spielen / zu lernen
es ist eine tolle Sache und macht viel Spaß, klein Sketschs habe schon gemacht,
aber jetzt will ich gern für meinen kleinen Enkelsohn eine kleine Dosis mit 6 Leds ein Buzzer und ein Taster zu bauen, in Prinzip sind 2 Programm die zusammen gewerden werden, ein da von ist die Drei Minuten Zähne putzen und damit nicht langweilig wird mit der 6 Led hin und ihr blinken dachte auf einem schon fertiges Prg. Alle meine Ente,
Wenn de Kleine auf dem Taster drückt beginnt der ersten Led zu blinke und alle ente fängt zu spielen fertig.
Würde ich sehr frohen wenn wenn mir Elfen würde das hin zu bekommen?
Ich bedanke mich schon in voraus und hoffe auf Eure Hilfe danke.

Antonio.

Das klingt alles gut und auch ein sehr praktisches und nützliches Projekt. Ich denke jedoch, dass Sie im deutschsprachigen Arduino-Forum besser aufgehoben wären. Ich werde versuchen, einen Moderator zu benachrichtigen, der Ihren Beitrag in diesen Bereich verschieben kann.

That all sounds good and also a very practical and useful project. I think, however, you would be better served in the German Langauge Arduino Forum. I'll attempt to notify a moderator who can transfer your post to that section.

Hi Antonio,

da das offensichtlich verschoben wurde, die erste wichtige Frage:

Möchtest Du deutsch posten oder wäre Dir eine andere Sprache lieber?
Das was Du schreibst, hört sich eher nach einer Übersetzung an.

ledblu:
Hallo und guter Abend,

ich bin gerade dabei mit dem Arduino ein wenig zu spielen / zu lernen
es ist eine tolle Sache und macht viel Spaß, klein Sketschs habe schon gemacht,.

(deleted)

Moin an euch alle,

vielen danken für eure Antworten, erst möchte ich in eine Deutsche Forumbleibe, gestern als ich geschrieben habe sind viele Probleme aufgetreten, ich schreibe dose und das Prg. Ändert in dosis warum weis ich es nicht egal scheint jetzt alles gut zu sein.
Also geplant ist in eine Arduino mini Pro, sind kleinen Sketsches und passen alle mal, ich hoffe das Ihr mir helfen werdet.
Ich danke euch und Grüße aus Hamburg.
Antonio

Hallo,

schön das Du für Deinen Enkelsohn was bauen willst. Alle meine Entchen ist sicher nicht so kompliziert. Ich hab mich aber bisher nicht viel mit den standard Ton Anweisungen beschäftigt. Bei den Beispielen wird sicher delay verwendet um die Tonlänge festzulegen. Damit könntest Du dann mit jedem Ton eine der 6 LED gleichzeitig ansteuern.
Wenn die LEDs unabhängig davon blinken sollen wird das mit delay nichts werden. Da kommst Du nur mit dem intensiven Gebrauch von milllis() weiter.

Schau Dir also an wie das Beispiel blinkWithoutDelay funktioniert . Man könnte die einzelnene Noten mittels einer Ablaufsteuerung ,Schrittkette, Endlicher Automat zeitlich aufeinander folgen lassen. Jeder Ton ein Schritt. Und für für die LED´s eine zweite Schrittkette bauen. Wie man eine Schrittkette baut findest Du mit Google heraus , oder auch hier im Forum mal suchen.
Eine andere Variante wäre noch einen DF-Player Mini zu verwenden und die Musik damit abzuspielen. Damit werden dann mp3 Dateien abgespielt und eigendlich kannst Du alles auf die SD Karte packen. Sowas hab ich für meine Enkelin gebaut da sind Einschlaf Lieder drauf, inzwischen aber auch Lieder zum mitsingen und vorlese Geschichten.

Heinz

Hallo Heinz,
Vielen dank für deine Antwort, jedoch es muss kein Programm erstellt werden ich habe die fertigen Programme erste Programm ist eine 3 Minuten zähne putzen und das alles meine Ente ist auch fertig ich brauche Hilfe diese Zwei Programme zusammen zu fügen, damit mein Enkelsohn, wenn auf dem Taster drückt das alle funktioniert.
Vielen dank Heinz für deine Beitrag
Antonio

Na dann zeig uns doch mal deine Programme hier in Code-Tags.
Ohne die können wir nicht helfen.

Und so wissen wir nicht, ob das überhaupt funktionieren wird.

Hallo HotSystem,
gern werde ich die Zwei Prg. zeigen, dennoch bitte ich dich mir zu verraten wie ich das Code-Tags posten kann, wie Du sehen kannst kennen mich nicht sehr gut aus das ist meine erste mal in so einen Forum.
Ich hoffe auf deine Hilfe und vielen Dank.
Antonio

</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter oder gehe in der IDE auf Bearbeiten - Für Forum kopieren und füge es hier ein.

Gruß Tommy

Oder einfacher:
im IDE-Fenster rechte Maustaste und für "Forum kopieren klicken", danach hier einfügen.

Hallo,

benutze nicht unten das Quick Replay Fenster, benuze den Buton Replay. Dann gibts einen vollen Editor. Oben in der Leiste findest Du ganz links das Symbol mit den Tags um den Code einzustellen spitze Klammer auf / spitze klammer zu.

In der IDE gibt es einen Menuepunkt "für Forum Kopieren" dann ist das mit den codetags in der Zwischenablage. Mit rechte Maustaste einfügen dann hier im Fenster einfügen

Heinz

Nachtag : ich war der langsamste :sob:

Rentner:
Nachtag : ich war der langsamste :sob:

Naja...alle guten Dinge sind drei.

Ich danke euch sehr und hoffe das es richtig ist was ich gemacht habe

const int ledPins[] = {7, 8, 9, 10, 11, 12};
const int buttonPin = 2;

long myTimer = -200000;

void setup() {
  for (int i = 0; i < 6; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);

  for (int i = 0; i < 6; i++) {
    digitalWrite(ledPins[i], LOW);
  }
}

void loop() {
  if (digitalRead(buttonPin) == LOW) {
    myTimer = millis();
  }

  if (millis() - myTimer < (30000)) { // 30 Sekunden
    digitalWrite(ledPins[0], ((millis() - myTimer) % 1000) > 500);
  } else if (millis() - myTimer < (60000)) { // 60 Sekunden
    digitalWrite(ledPins[1], ((millis() - myTimer) % 1000) > 500);
  } else if (millis() - myTimer < (90000)) { // 90 Sekunden
    digitalWrite(ledPins[2], ((millis() - myTimer) % 1000) > 500);
  } else if (millis() - myTimer < (120000)) { // 120 Sekunden
    digitalWrite(ledPins[3], ((millis() - myTimer) % 1000) > 500);
  } else if (millis() - myTimer < (150000)) { // 150 Sekunden
    digitalWrite(ledPins[4], ((millis() - myTimer) % 1000) > 500);
  } else if (millis() - myTimer < (180000)) { // 180 Sekunden
    digitalWrite(ledPins[5], ((millis() - myTimer) % 1000) > 500);
  } else if (millis() - myTimer < (190000)) { // nach 180 Sekunden
    for (int i = 0; i < 6; i++) {
      digitalWrite(ledPins[i], ((millis() - myTimer) % 1000) < 500);
    }
  } else {
    for (int i = 0; i < 6; i++) {
      digitalWrite(ledPins[i], LOW);
    }
  }
  delay(10);
}

Wenn man die Arduino-IDE geöffnet hat und der Cursor im Texteditor blinkt
Die Tastenkombination Strg-T drücken dadurch wird der Code automatisch formatiert.

Dann mit der Maus irgendwo im Texteditor rechte Maustaste drücken und aus dem erscheinenden Menü
die Option "Für Forum kopieren" auswählen.
Dadurch wird das gesamte Programm in die Ziwschenablage kopiert und zusätzlich noch ganz am Anfang
[.code.]
und ganz am Ende [./code]
hinzugefügt.

Dann einfach den Inhalt der Zwischenablage durch Drücken der Tastenkombination Strg-V in das Posting-Fenster des Arduino-Forums einfügen

schon fertig.

vgs

So und diese ist der Zweite

//  Spielt das Leid alle meine Entchen.

const int pin = 6;
const int ganzerton = 1500;
const int pause = 50;
const int c = 262, d = 294, e = 328, f = 349, g = 392, a = 440, h = 494;
int lied[][2] = {         {c, 4}, // ganzer ton = 16
  {d, 4}, // halber ton = 8 ...
  {e, 4},
  {f, 4},
  {g, 8},
  {g, 8},
  {a, 4},
  {a, 4},
  {a, 4},
  {a, 4},
  {g, 16},
  {a, 4},
  {a, 4},
  {a, 4},
  {a, 4},
  {g, 16},
  {f, 4},
  {f, 4},
  {f, 4},
  {f, 4},
  {e, 8},
  {e, 8},
  {g, 4},
  {g, 4},
  {g, 4},
  {g, 4},
  {c, 16}
};
int lieddauer;

void setup() {
  lieddauer = sizeof(lied) / 4;
  pinMode(pin, OUTPUT);
  for (int i = 0; i < lieddauer; i++) {
    tone(pin, lied[i][0], lied[i][1]*ganzerton / 16);
    delay((lied[i][1]*ganzerton / 16) + pause);
  }
}

void loop() {
}

Hallo,

hab´s vermutete , das Delay muss erst mal raus.

Mal ein grober Vorschlag

for schleife auflösen, durch einen zähler ersetzten , if (millis -altzeit >=tondauer) einbauen. Natürlich aus dem Setup raus und in den loop.

Wenn das dann läuft den zweiten Sketch dazu , die etwas seltsame Lauflicht Konstruktion in eine eigene Funktion gepackt und im loop ständig aufrufen.

Hallo,

bitte kann mir jemand Schreiben ob alles so richtig ist, ich bin mir unsicher vielen danken.

ledblu:
Hallo,

bitte kann mir jemand Schreiben ob alles so richtig ist, ich bin mir unsicher vielen danken.

Ja beide Sketche sind richtig dargestellt , gut gemacht :wink:

Heinz

Hallo Rentner,

danke für deine Antwort ich werde mal versuchen,

das andere Programm ist keine seltsame Lauflicht sondern wenn man auf der Taster drückt
fängt der erste Led an zu blinken bis 30 Sekunden dann der Zweite und so weiter bis 3 Minuten und dann blinken alle 6 Led 10 mal.

Antonio