Posts by dagget


    Vielleicht hilft dir das: AVR: Rundumlicht Sketch beziehungsweise AVR: Rundumlicht Sketch
    (dort verwendete ich besagten ATtiny84)
    Oder das dies und dies ...im Bezug auf millis() merken und entsprechend nutzen.

    Und mein nächster Tipp wäre nicht delay(); zu verwenden sondern stattdessen ebenfalls deine LowPower Funktionen von der Rocket Scream lib. Das hast du an eigen Stellen auch schon gemacht aber irgendwie nicht konsequent an allen. :s

    Danke für die Links, werd ich mir mal genauer ansehen.
    Dass nicht überall die LowPower Funktionen genutzt werden liegt daran, dass du nur fixe Werte für Sleep hast und nicht nach belieben wie bei delay (außer man schreibt eine Funktion mit einer Schleife dafür).

    jar: das mit der Helligkeit ist ein Argument. Daran hab ich noch gar nicht gedacht :denker:

    LG
    Markus

    Hallo Andreas!
    Die LEDs hängen an Schieberegistern, aber vom Prinzip her ist da ja nicht viel um. Die entsprechende LED hätte ich mit "<<" und "&" ausgewählt. Bis dahin ist mir noch alles klar.
    Jetzt will ich aber in einer Schleife die LEDs permanent durch"loopen" lassen, damits genau so aussieht wie jetzt, nur mit dem Unterschied, dass nur eine gleichzeitig an ist.
    Was mir noch nicht ganz klar ist, ist die Abbruchbedingung der Schleife. millis() läuft ja irgendwann über --> könnte zum Problem werden, aber vielleicht ist ja auch die Batterie vorher leer :D
    Und sonst fällt mir nichts ein, wie ich kontrollieren kann, wie lang/oft die Schleife durchläuft.

    LG
    Markus

    Ok, ich versteh ja schon, die Hardware ist nicht die beste Basis. Aber mit meiner Idee, die LEDs nach der Reihe zu schalten, müsste sich doch noch was rausholen lassen!?
    Angenommen es leuchtet nur eine LED nach der anderen statt alle 16 gemeinsam. Dann müsste sich doch der Stromverbrauch um Faktor 16 verringern.
    Ich hab bis jetzt noch keinen Grund gefunden, warum das nicht funktionieren sollte - allerdings auch noch keine Idee wie ich das Programm entsprechend anpassen kann.

    LG
    Markus

    Wie hast Du die denn angschlossen und welche hast Du verwendet (low current?) ...

    btw: -> hier <- ist auch noch was zum Thema Arduino und Strom sparen ...

    cu,
    -ds-

    Hallo dreamshader,
    dass die LEDs die Hauptverbraucher sind, ist mir schon bewusst. Deshalb auch die Idee immer nur eine statt alle gleichzeitig leuchten zu lassen. Die LEDs hatte ich noch rumliegen. Vor ca. 15 Jahren bei Conrad gekauft :shy: Ich hab mal mit 20mA gerechnet.
    Danke für den Link. Die Low-Power-Lib stammt aus dem ersten Link :)



    wie werden denn die überschüssigen 4V aus dem 9V Block umgesetzt?
    Doch hoffentlich mit einem DC/DC Schaltregler, sonst mit Linearregler hast du mindestens 50% Verlust

    mit einem 8MHz Arduino, einem DC/DC Wandler auf 3,3V und ultra helle LEDs >2Cd kannst du etliche mA sparen

    Hallo jar!
    Um die 9V auf verträgliche 5V zu bringen, hängt ein LM2596 zwischen Batterie und Arduino. Würde theoretisch auch mit dem on-board-Regler funktionieren, aber bei angenommenen 20mA pro LED wäre der fast an seiner Leistungsgrenze.
    Der Aufbau ist schon komplett verlötet und verklebt - will da eigentlich nur softwareseitig noch was rausholen. Ich kann doch nicht das Hochzeitsgeschenk meiner Frau wieder komplett auseinandernehmen :daumendreh2:



    Es gibt Softwareseitig noch weitere Möglichkeiten Strom zu sparen. Stichworte hierzu wäre: Interrupt, Watchdog, Sleep.

    Da du 10 Minuten Pause hast, sehe ich kein Grund darin wieso sich der Nano nicht für diese Zeit schlafen legen sollte. Das einzige was du zZt machst ist den ADC und den BOB abzuschalten, aber hast kein sleep_mode.


    Frage wäre also ob du dafür unbedingt einen Nano brauchst. Für nur 5 Pins reicht auch ein einzelner AVR Chip wie zB ATtiny84

    Hallo meigrafd,
    wenn ich die Beschreibung der LowPower-Lib richtig verstanden habe, schickt LowPower.powerDown den Atmega sehr wohl in den sleep_mode. Lässt ja auch nur maximal 8 Sekunden zu, was dem Watchdog zuzuschreiben ist (zumindest hab ichs so verstanden). sleepForever bräuchte dann einen externen Interrupt.
    Klar reicht da was kleineres locker aus, aber der Nano war halt schon da und mir gehts auch eher darum mehr über AVRs zu lernen.


    Falls ich irgendwo Blödsinn geschrieben habe, korrigiert mich bitte. Will eigentlich nur das Beste aus der vorhandenen Hardware rausholen.

    Liebe Grüße
    Markus

    Hallo Leute!

    Ich stehe gerade an einem Punkt an, wo ich nicht mehr ohne richtungsweisenden Tip weiterkomme.

    Zur Vorgeschichte:

    Habe für meine Frau zum Hochzeitstag LED-Herzen gebastelt. Insgesamt 16 LEDs an 2 Stück 74HC595 Schieberegister gesteuert über einen Arduino Nano.
    Funktioniert alles prima und sieht meiner Meinung nach sehr schön aus. ABER: nach spätestens 4 Stunden ist der 9V-Block leer. :(

    Hier mal die Version 1:

    Hab jetzt mal einiges zu Energiesparen gelesen und fürs erste viele delays mit PowerDown aus der LowPower-library ersetzt und auch teilweise die Pausen erhöht.
    Sieht dann so aus:

    Damit sollte die Batterie schon einiges länger halten, hab ich aber noch nicht getestet.
    Als nächsten Schritt werde ich die Power-on LED des Arduinos entfernen. Sollte nochmal ein paar mA sparen.

    Und jetzt der Punkt an dem ich nicht weiterkomme:
    Es müsste doch möglich sein, immer nur eine LED leuchten zu lassen. So wie das zB. bei 7-Segment Anzeigen gemacht wird.
    Nur fehlt mir jetzt der Plan, wie ich das umsetze.
    Zweiter Thread geht ja leider nicht. Also brauche ich eine while Schleife, die die LEDs durchläuft bis ... und genau da steh ich an. Auf was soll ich prüfen? Wenn ich auf millis() prüfe, wie weiß ich dann, wo ich im Programm stehe (also welche Sequenz als nächste laufen soll)? Und was passiert, wenn millis() überläuft?

    Ich hoffe auf eure Hilfe und sage jetzt schon mal :danke_ATDE:

    Liebe Grüße
    Markus

    Wenn nur ein Alarm, in welcher Form auch immer, bei nicht authorisierter Benutzung ausgegeben werden soll, seh ich da jetzt keine so großen Probleme wegen Freiheitseinschränkung. Gibt ja keine Sperren, die den Zutritt beschränken. Im einzelnen sollte aber vor Inbetriebnahme/Bastelbeginn abgeklärt werden ob das dann so machbar ist.

    Wie wäre es mit 2 Lichtschranken an der Treppe? Die untere löst den Alarm aus, falls nicht vorher freigeschaltet wurde, die obere deaktiviert die untere für eine bestimmte Zeit - somit kann man zumindest die Treppe hinuntergehen, ohne vorher freizuschalten.
    Fehlt noch die Möglichkeit einer bequemen Freischaltung (RFID, Bluetooth, Taster...) und wie Alarm gegeben werden soll.
    Den Alarm könnte man ja z.B. mittels Push-Nachricht aufs Handy aller Betreuer lösen.

    LG

    Quote


    Man bearbeitet nun diese temporäre Datei. Nach Bearbeiten und Speichern der Datei und dem Schließen des Editors erkennt das System, dass die Datei geändert wurde, liest sie neu ein, und schreibt die Einträge in der Datei zurück in die Crontab. Danach wird im Terminal-Fenster ein entsprechender Hinweis ausgegeben, dass die Crontab bearbeitet und neu erstellt wurde, oder eben, dass keine Änderungen an der Crontab vorgenommen wurden.
    Die Crontab selbst liegt unter „/var/spool/cron/benutzername“ und sollte nicht direkt bearbeitet werden.

    Quelle: https://wiki.archlinux.de/title/Crontab


    EDIT: führst du crontab -e als user aus, wird der cronjob für eben diesen angelegt.

    LG
    Markus

    Die Lösung meines Problems war dann doch ganz anders...:angel:

    Bin zufällig auf die Tomato-Firmware für meinen Router gestoßen. Mit der klappte die Verbindung beim ersten Versuch problemlos...

    Jetzt kann sich mein RPi wieder anderen Dingen widmen :)


    LG Markus

    weit bin ich ja nicht gekommen :angel:

    Mit Arch hatte ich das Problem, dass sich der Stick nicht auf Modem-Modus umschalten ließ. usb_modeswitch meldete zwar OK, aber der Stick war immer noch als Mass-Storage registriert.

    Mit raspbian meldet sich der Stick auch ohne usb-modeswitch als Modem (eigentlich als 3 Modems - ttyUSB0, ttyUSB1 und ttyUSB2), aber er lässt sich nicht ansprechen. Beim letzten Mal gings mit ttyUSB2, keine Ahnung wieso jetzt keine Reaktion mehr folgt (weder ttyUSB0/1/2).

    Jetzt steh ich erstmal an...

    LG Markus

    Danke erstmal für die schnelle Antwort!

    Etwas Linuxerfahrung bring ich zum Glück schon mit :)
    Wenn ich mit Arch nicht zurechtkomme, werd ich raspbian versuchen.

    Ich meld mich wieder sobald Fragen auftauchen ;)

    LG Markus

    Hallo Leute!

    Meine Internetverbindung läuft zur Zeit über einen 3WebCube. Dieser lässt aber nur 5 Wlan-Verbindungen zu, hat keine Ethernet-Ports und ist sonst auch nicht gerade zuverlässig...

    Ich hab mir dann vor einiger Zeit einen Surfstick (Huawei E353) und eine externe Antenne dazu besorgt. Der Surfstick sollte dann mit einem Linksys E3200 (dd-wrt) den WebCube ersetzen. Hat aber leider nicht wirklich funktioniert. Übers Webinterface vom Router lässt sich zwar Mobile Broadband einstellen, aber die Verbindung wird nicht hergestellt. Mit BusyBox komm ich auch nicht wirklich klar.

    Meine Idee wäre jetzt, den RPi die 3G-Verbindung herstellen zu lassen und über den Router zu verteilen. Auf dem RPi läuft ein raspbian-minimal und die Verbindung lässt sich auch mit ppp herstellen. Allerdings sind im raspbian-minimal-Kernel lt. Fehlermeldung keine ip-tables kompiliert. Bin nach dieser Anleitung in leicht abgeänderter Form vorgegangen. Würde gerne auf Arch umsteigen. Bin beim rumspielen in der VirtualBox super damit zurechtgekommen.

    Welche Variante wäre denn eigentlich für mein Problem besser geeignet? Den RPi als Router einrichten und den Linksys nur die Verwaltung von DHCP überlassen, oder den RPi an den WAN-Port des Linksys und den Router die Arbeit überlassen? Oder einen neuen 3G-Fähigen Router kaufen und meine Idee verwerfen?
    Apropos RPi und WAN-Port: Brauch ich in diesem Fall ein Crossoverkabel?

    Die Variante RPi an WAN-Port würde mir am besten gefallen, nur wie konfigurier ich dann Router und RPi? Und ist der RPi dann noch übers Netzwerk erreichbar?


    LG Markus