LED nach dem Einschalten der Versorgungsspannung zeitgesteuert abschalten

Hallo zusammen,

ich bin ein absoluter Noob in Sachen Elektronik und habe gerade erst angefangen mich mit Elektronik und Arduino zu beschäftigen. Leser aber schon fleißig mit und werde bald mit eigenen Projekten beginnen um noch mehr zu lernen.

Aktuell baue ich allerdings ein fertiges Projekt für meine Tochter nach und habe folgenden Wunsch:

Arduino wird über 3,7V Lipo und 5V StepUp versorgt
Zwischen Lipo und StepUp befindet sich ein Schalter
Wird der Schalter und damit der Arduino eingeschaltet, soll ein LED Voltmeter sofort die aktuelle Spannung vom Lipo anzeigen. Zum Stromsparen, soll der Arduino nach dem starten und ein paar Sekunden Wartezeit das Voltmeter wieder abschalten.

Wie würdest Ihr das realisieren? Danke!

Gruß
Knut

Mit dem Prinzip, welches dir die Nachtwächter Erklärung nahe bringt.

Hi Knut,

allein für das verzögerte Ausschalten, also ohne weitere Funktionen, bräuchtest Du keinen Arduino, da reicht ein Monoflop.
Der macht genau das: Taste drücken, der Ausgang schaltet, und nach definierter Zeit (R-C-Glied) wieder aus. Fertig.

Aber ich gehe davon aus, Du möchtest Dich mit dem Arduino beschäftigen, dann ist es ja sinnvoll, den Arduino ebenfalls mit ein und auszuschalten. Das geht über eine Selbsthalteschaltung.
Über Taster alles einschalten, und der Arduino darf entscheiden wann ausgeschalten wird.

Gruß André

Der Arduino ist ja schon da, ein paar digitale Ausgänge sind auch noch frei und ein paar Zeilen Code bekommt man in dem Sketch auch noch unter. Ich möchte halt nicht einfach einen Transistor an einen Ausgang hängen und dann einschalten und wieder ausschalten. Sondern ich möchte wissen, wie die Schaltung aussehen muss, damit die "LED" sofort eingeschaltet wird und ich dann später im Sketch nach Bedarf abschalten kann.

Oder sehe ich den Wald vor lauter Bäumen nicht?

VG
Knut

Hi,

ein Arduino-Pin kann 20mA, wenn es mehr ist, dann z.Bsp. einen Transistor mit Basiswiderstand dran, mit dem Du das schaltest, was zu schalten ist. Was den Proprammablauf betrifft, da am besten dem Link von combie folgen, damit erst gar nicht der Gedanke aufkommt, dafür delay() verwenden zu wollen.
Ich sehe nichts kompliziertes, allerdings auch keine Schaltung oder Sketch, worüber man gezielt reden könnte.

Gruß André

Ja, soweit ist das natürlich bekannt. Aber wenn ich eine LED mit einem NPN-Transistor an einen Arduino-Pin hänge und den Strom einschalte, ist die LED erst Mal aus! Richtig?
Ich möchte aber, dass die LED sofort einschaltet wenn Strom da ist und der Arduino dann diese LED abschalten kann. Ob ich den PIN jetzt auf HIGH oder LOW ziehe, spielt ja keine Rolle.

Aber vielleicht ist das auch zu trivial...

Dafür mußt Du nur auf den absoluten Wert von millis() schauen. millis() starten beim starten bei 0- wenn Deine gewünschte Zeit überschritten ist, kannst Du Deine Funktion (also das Abschalten) starten. Du könntest auch den Arduino selbst damit abschalten.

Was hindert Dich daran, im Setup den entsprechenden Pin sofort einzuschalten?
Dann hast Du alle Zeit der Welt darüber zu entscheiden wie und wann Du den wieder ausschaltest.

Gruß André

xknut:
ist die LED erst Mal aus! Richtig?

Je, nachdem, wie du es gebaut hast, kann das schon so sein....
Gibts damit ein Problem?

xknut:
Ich möchte aber, dass die LED sofort einschaltet wenn Strom da ist und der Arduino dann diese LED abschalten kann.

Fein!
Und, was hindert dich daran, dein Vorhaben umzusetzen?

xknut:
Ob ich den PIN jetzt auf HIGH oder LOW ziehe, spielt ja keine Rolle.

Tue es!

xknut:
Aber vielleicht ist das auch zu trivial...

Weiß nicht......?
Vielleicht hast du vergessen zu sagen, wo das Problem ist...
Ich sehe keins.

Halllo,

eigendlich ist deine Aufgabe so simpel das viele hier nicht verstehen wiso du damit überhaupt ein Problem hast.Es ist ja auch eigendlich schon alles geschrieben worden um das zu lösen. Vermutlich stehst Du einfach auf der Bremse und hast das bewuste Stück Holz...

ich fasse noch mal die Aufgabe zusammen.

Beim Starten willst Du einen Ausgang einschalten und nach 10 sekunden soll er wieder ausgeschaltet werden. Dann kannst du das so machen.

im Setup einschalten und im loop nach 10000 millisekunden wieder ausschalten.

Natürlich kannst Du das auch invertieren und nach 10000 ms einschalten damit das mit dem Transistor passt.

Heinz

byte Voltmeter = 3; // Ausgang zu Ansteuerung des LED Voltmeters

void setup() {
  // put your setup code here, to run once:
  pinMode (Voltmeter, OUTPUT);
  digitalWrite( Voltmeter, HIGH); // einschalten
}

void loop() {
  // put your main code here, to run repeatedly:

  if (millis() > 10000) digitalWrite(Voltmeter, LOW); // nach 10s ausschalten


}

Oder geht es um die 1 sek Startverzögerung durch den bootloader ?
Den kannst du mit Tricks und Programmiergerät auch wegkriegen.

Heutzutage brauchen auch manche Netzteile eine Sekunde, bis am Ausgang etwas rauskommt.