Projekt: Steuerung einer LED Lampe über Infrarot (Software)

  • Also dann, wie angekündigt, hier mal die Software zum Ansteuern der LED-Lampe.
    Dieser Beitrag inklusive des Anhangs wird bis zum Abschluss laufend aktualisiert, damit ihr nicht lange suchen müsst. Fragen werden natürlich fortlaufend beantwortet.

    Optimal wäre es natürlich, wenn ihr den kompletten Aufbau wie -> hier <- im Hardware-Teil beschrieben, hättet. Allerdings reicht zum Testen der Oberfläche und der zugehörigen (Teil-)Funktionen auch ein Arduino und ein Nokia 5110 LCD. Das Display bitte wie im Anhang dargestellt verkabeln.

    Zunächst mal benätigt das Programm folgende zusätzliche Libraries:

    An dieser Stelle noch mal ein dickes Danke an die Autoren o.g. Zusatzlibs für ihre hervorragende und nützliche Arbeit.

    Am Anfang des sketch findet ihr zwei Makros:

    Code
    #define DEBUG
    #define DISPLAY_ONLY

    Mit DEBUG werden diverse Ausgaben auf die rs232 aktiviert. Dadurch werden allerdings auch mehr lokale Texte usw. benötigt und der verbleibende verfügbare RAM des Arduino kommt an seine Grenzen.
    Das kann zu Instabilitäten führen, deshalb sollte die Ausgabe wirklich nur dann aktiviert werden, wenn sie benötigt werden.
    Mit DISPLAY_ONLY werden die RTC, die 1Wire-Funktionen sowie der Drehencoder abgeschaltet bzw. gar nicht erst initialisiert. Hier dient die rs232-Verbindung zur Simulation des Drehencoders. Durch die Eingabe eines 'c' wird ein Klick, durch 'k' ein Doppelklick, durch 'u' ein Aufwärtsdrehen und durch 'd' ein Abwärtsdrehen des Drehencoders simuliert.
    Dieser Modus dient nur zum Erweitern/Testen des Menüs.
    Für den realen Einsatz bitte beide Makros durch

    Code
    #undef DEBUG
    #undef DISPLAY_ONLY


    deaktivieren.

    Und dann gibt es noch eine Besonderheit: ich fand das Display sieht besser aus, wenn es so montiert wird, dass die breite, sichtbare Edelstahl-Umrahmung unten ist. Deshalb wird die Darstellung auf dem Display durch die Anweisung

    Code
    display.setRotation(2);


    in der setup()-Funktion um 180° gedreht. Wenn bei Euch also die Darstellung auf dem Kopf steht, o.g. Anweisung einfach auskommentieren.

    Das war's jetzt erst mal und nicht vergessen, hin und wieder hier mal nachzusehen.

    History:
    01.06.2015: alle Funktionen der Original IR-Fernbedienung
    01.06.2015: update - Zeit/Datum der RTC setzen / Beleuchtung bug behoben


    Viel Spass damit,
    -ds-

  • Projekt: Steuerung einer LED Lampe über Infrarot (Software)? Schau mal ob du hier fündig wirst!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!