Batteriebetriebene uhrzeitabhängige LED

Hallo,

ich arbeite mich über die Weihnachtstage etwas tiefer in Arduino und Mikroprozessoren ein. Damit ich dann, wenn ich soweit bin, auch richtig loslegen kann, würde ich ich über eine knappe Materialempfehlung zu folgendem Projekt freuen. Mein Ziel ist, auf dem Arduino Mega zu testen und zu entwickeln, aber dann das Projekt in eigene Hardware zu bauen, damit ich mit dem Mega weiterspielen kann.

Mein erstes Testprojekt soll folgendes können:

  • mit Batterie betrieben
  • Abhängig von der Uhrzeit soll eine LED leuchten (entweder grün oder rot). Mir ist grds. egal, ob ich mit zwei LEDS arbeite oder einer RGB LED
  • Die Uhrzeit kann ich gerne hardcoden, muss also nicht über WiFi oder ähnliches von "außen" editierbar sein.

Ich konnte günstig an ein paar ATMEGA328P-PU DIP-20 Microcontroller mit ARDUINO UNO Bootloader kommen. Würde den also für den Livebetrieb als Basis nehmen. Was wäre denn aus Eurer Sicht noch an Material für dieses Vorhaben sinnvoll? Batterie, Uhrzeit, ... Würde das gerne jetzt bestellen und über Weihnachten dann basteln.

Aus reinem Interesse: Hätte es für das Projekt auch ein anderer Microcontroller getan?

Vielen Dank für Eure Mühen vorab.

ich persönlich bin ein Fan der Digisparks für so kleine Aufgaben:
http://shop.cboden.de/Digispark/Development-Board/
Das Ding wird auch über eine Arduino IDE programmiert und kann zum Aufspielen des Programms direkt in den USB-Port des Rechners gesteckt werden ... man braucht also kein Adapter, Kabel oder sonstiges.

Für den Batterie-Betrieb bietet sich dann noch ein Boost-Shield an:
http://shop.cboden.de/Digispark/Shields/Boost-Erweiterungssatz.html
oder alternativ der Betrieb z. B. mit einer 9V Block-Batterie

einzelne LED's lassen sich direkt anschließen ... Beispiel:
http://cboden.de/mikro-controller/digispark/2-uncategorised/46-modellbau-ampelsteuerung

In der "Luxus-Version" kannst Du noch ein Real-Time-Shield dazu packen:
http://shop.cboden.de/Digispark/Shields/RTC-Erweiterungssatz.html
dann kannst Du den Controller schlafen legen, wenn er nicht benötigt wird. Theoretisch sollte es möglich sein, ihn dann per Interrupt wieder aufzuwecken, wenn eine bestimmte Zeit erreicht wurde - das hab ich aber selber noch nie gemacht.

Wenn Du statt dem Digispark etwas anderes nimmst, solltest Du aber dennoch die oben genannten Shields - dann natürlich passend zu Deiner Hardware - besorgen.

Danke für die schnelle Antwort.

Mein Ziel war eigentlich, das Ganze möglichst kosteneffizient zu betreiben. Werde mir aber gerne mal Deine Vorschläge genauer anschauen.

Viel billiger wirst Du es nicht hinbekommen. Du kannst auch auf ein vorgefertigtes Board verzichten und zum Beispiel den im Digispark verbauten ATtiny 85 verbauten Controller als Basis für eine eigene Entwicklung nehmen. Dennoch wirst Du Dir dann Gedanken über eine Spannungsanhebung sowie über eine Real-Time-Clock machen müssen.

Natülich läßt sich das auch alles in eine Eigenentwicklung packen ... allerdings ist das auch nicht viel billiger (schon gar nicht, wenn man die Zeit einrechnet). Die Shield-Systeme - egal ob jetzt vom Digispark oder von einem "richtigen" Arduino - ermöglichen es halt schnell und flexibel zu einer Lösung zu kommen. Oft geht man auch nur her und nutzt die Dinger nur für das Prototyping. Wenn dann klar ist, was wie zusammengehört, dann kann man sich an die Entwicklung einer eigenen Schaltung machen. Ich mach das auch oft so und ich muss sagen, dass mir diese Shield-Systeme schon viel Geld und vor allem Zeit gespart haben.

tschiwek:
Mein Ziel war eigentlich, das Ganze möglichst kosteneffizient zu betreiben.

Wenn Du Deine Spielerei ein Jahr lang betreiben möchtest, werden das teuerste die Batterien sein.

Mal angenommen, bei Deiner LED-Spielerei leuchtet ständig eine LED, die 10 mA verbraucht. Der nackte Controller werde überwiegend im Sleepmodus betrieben und verbrauche daher mal vernachlässigbar gar nichts.

Dann braucht Deine LED in einem Jahr:
365 Tage * 24 Stunden * 10 mA = 87600 mAh

Wenn Du Deine Batteriesätze aus preiswerten AA-Batterien zusammenstellst und die entnehmbare Kapazität einer Zelle mit 2000 mAh annimmst, verbrauchst Du pro Jahr

87600 mAh / 2000 mAh = ca. 44 Sätze Batterien, also fast einen Batteriesatz pro Woche.

Mal angenommen, Du taktest den nackten Controller auf 8 MHz herunter, so dass der Controller statt mit 5V auch mit 3*AA Zellen im Bereich von 4,5V bis 3,5V laufen kann, hat ein Batteriesatz 3 AA Zellen.

3 AA Batterien * 44 = 132 AA Batterien pro Jahr.

Auf Dauer geht so eine dauerleuchtende LED mit Batteriebetrieb ganz schön ins Geld und produziert eine Menge Müll.

Hast Du schon mal über zwei Akku-Packs nachgedacht, die Du im Wechsel verwenden und laden könntest?
Oder soll die LED vielleicht doch nicht ständig leuchten?

Die Wahl des Kontrollers hängt primär davon ab, wie die Zeitintervalle aussehen. Sind das wenige Wechselzeiten die sich regelmäßig wiederholen oder werden sie errechnet oder müpssen sie aus einer großen Tabelle entnommen werden weil sie zu unregelmäßig sind? Je nach dem brachst Du einen Kontroller mit mehr Flash oder mehr RAM oder kannst ein EPROM dranhängen.
Für die Uhrzeit schlage ich eine RTC vor. Es gibt viele verschiedene ICs, die meisten mit I2C Schittstelle und für einige gibt es Arduino Bibliotheken. Wenn Du eine RTC mit einem 1Hz Ausgang nimmst kannst Du damit den Kontroller alle Sekunde aus dem Sleepmodus aufwecken.
Grüße Uwe

hi,

wäre statt einen unausgelasteten controllers nicht eine DS3231 mit zwei programmierten alarmzeiten und ein dual-flip-flop-chip einfacher?
aber die led bleibt ein stromfresser...

gruß stefan

Also wenn schon mit Boostconverter, dann würde ich einen beim freundlichen Chinesen kaufen: http://www.ebay.de/itm/PFM-0-9-5V-to-5V-100W-Adjustable-DC-DC-Step-up-Boost-Voltage-Converter-Module-/301042876934?pt=Wissenschaftliche_Geräte&hash=item46178dc206. Man beachte: 1 Euro inkl. Versand. Das dürfte kaum noch zu schlagen sein.

von denen hab' ich letztens 5 stück gekauft. nur weil sie so billig sind.

und es ist gut, wenn man weiß, daß man' hat, wenn man's braucht... :slight_smile:

gruß stefan