Arduino Uno soll nach kurzer Zeit ohne Interaktionen ein Geräusch von sich geben

Wie der Titel schon sagt soll mein digitales Haustier nach kurzer Zeit meckern, da es keine Aufmerksamkeit bekommt. Ich habe dazu schon einen Code mit dem random() Befehl geschrieben (von einer anderen Person inspiriert), ist aber meiner Meinung nach nicht optimal. Was denkt ihr? Soll ich es behalten oder was anderes wie ein Counter schreiben?

Mein Befehl:

 if ((random(1001)==1)&&(analogRead(sensorPin)<lichtNormal+100)){


    tone(speakerPin,1200);
    delay(100);
    tone(speakerPin,800);
    delay(200);
    tone(speakerPin,1000);
    delay(200);
    tone(speakerPin,1200);
    delay(100);
    noTone(speakerPin);

  } else {
  }  

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

Das klingt nach Wachhund (watchdog) der regelmäßig gefüttert werden muß. Das entspricht einem Monoflop das bei jeder Interaktion zurückgesetzt wird und ohne Interaktion nach der vorgebenen Zeit etwas auslöst.

Code sollte reichlich zu finden sein, z.B. für Treppenhaus oder Hintergrund Beleuchtung die nach einer vorgegebenen Zeit ausgeht.

Hallo grumpywolf,

willkommen im Arduino-Forum.
Den Code den du gepostet hast ist kein vollständiges Programm.
Da fehlt so einiges.
Du solltest das komplette Programm posten. Von der ersten bis zur letzten Zeile.
vgs

Hallo grumpywolf

Herzlich Willkommen im weltbesten Arduino Forum.

Hier findest du einige zusätzliche Ideen.

Ich wünsche einen geschmeidigen Abend und viel Spass beim Programmieren in C++.

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
mfg ein Moderator.

.

schreib etwas anderes.