Arduino Library für den Grove Led Bar

Ich habe den durchgeknallten Democode für die Grove Led Bar mal in eine saubere Arduino Library verpackt.

Für die Ansteuerung werden zwei Pins des Arduino benötigt. Einer für Data und einer für Clock.

Sweepdemo

Der Methode sendLED wird ein 16Bit-Wert zwischen 0 (alle aus) und 1023 (alle an) übergeben. Die einzelnen Bitwerte entsprechen den einzelnen LEDs.

SinglebarDemo

Mit der Methode setSingleBar wird nur eine LED aktiviert, die anderen sind aus. Werte von 0-10 sind möglich. 0 = alle aus, 1 = erste LED, 2 = zweite LED, usw…

 

Git-Repo: https://github.com/sysrun/GroveLedBar
Download: https://github.com/sysrun/GroveLedBar/archive/master.zip
(Entpacken, in ein Verzeichnis “GroveLedBar” schieben und ab in den Arduino Library-Folder)

Mehr Infos im Wiki von Seeedstudio: http://www.seeedstudio.com/wiki/Grove_-_LED_Bar

3 Gedanken zu „Arduino Library für den Grove Led Bar“

  1. Saubere Arbeit! Die Library ist 1000x besser, als die inzwischen veröffentlichte Library auf der seeedstudio Seite.

    Das einzige Problem: es mag nicht so richtig mit dem Arduino Due zusammen funktionieren. Wenn man das zum Kompilieren bekommt, scheinen die Timings bei Datenkommunikation nicht zu stimmen. Ich werde bei Gelegenheit mal das Datenblatt des MY9221 durchlesen und versuchen die Timings für den Due zu finden.

    Leo

  2. Sehr cooler Aufbau.

    Zusammen mit nem Lichtsensor kann man ne schöne 10er-Anzeige der Helligkeit:

    void loop()
    {
    int value = 0;
    int sensorValue = analogRead(0)/102.3;

    switch(sensorValue)
    {
    case 0: value = 0; break;
    case 1: value = 512; break;
    case 2: value = 768; break;
    case 3: value = 896; break;
    case 4: value = 960; break;
    case 5: value = 992; break;
    case 6: value = 1008; break;
    case 7: value = 1016; break;
    case 8: value = 1020; break;
    case 9: value = 1022; break;
    case 10: value = 1023; break;
    default: value = 0; break;
    }

    if(lastValue != value)
    {
    strip.setCmdMode();
    strip.sendLED(value); // Set LED States
    strip.latchData();
    lastValue = value;
    }

    delay(500);
    }

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">