Beiträge von Cosmicbase

    Hallo an alle.
    Ich habe meine Ws2801 durch APA102 ausgetauscht.


    • FastLED Sketch auf Arduino, LED Typ APA102, Serial Baud Rate 460800,

    Nun leider hängen die APA102 mit der Ausgabe hinterher.
    Ich habe was von Puffer Erhöhung gelesen, womit man den Puffer im Arduino von 64 auf 256 byte erhöhen kann.


    Habe meine KabelKonfig vom WS2801 so übernommen. Ich weiß natürlich nicht ob die APA102 ne andere Kosmetik brauchen was das Feintuning angeht.


    Bitte um Hilfe.

    Jupp der Sat Receiver war schuld. Der hatte nur 100MBit. Dank USB 3.0 LAN Ethernet Adapter habe ich nun die Probleme nicht mehr.
    Hatte es zufällig im Netzwerkschrank festgestellt das die Konnektivität gelb statt grün blinkt und somit statt 1Gbit nur 100MBit hat.

    Hallo, auch ich will mal ein Problem in die Runde schmeißen, wo mich sehr verärgert und ich keine Lösung gefunden habe.

    Ich nutze an meinem Odroid N2 CE 9.2.1 und schaue mein Sat TV über das PVR VU Plus Enigma2 Addon.

    Leider verliert der Odroid ca. alle 5 Minuten die Verbindung zu meinem 4K Linux Receiver. Habe schon 2 verschiedene Sat Receiver probiert. Leider immer das selbe Problem.

    Mit meinem Raspberry 3B + und OSMC und Libreelec hatte ich nie Probleme mit dem PVR Enigma2 Addon. Erst seit CE habe ich wie gesagt diese absehbaren Verbindungsabbrüche.
    Die Verbindung wird aber automatisch wieder hergestellt.

    Nur macht so kein Fernsehen Spaß.

    Vielleicht wisst ihr weiter.

    Ich habe doch das Ambilight via Arduino Uno R3 an einem Odroid N2 am laufen.

    Außerdem befindet sich noch ein 4K Linux Sat Receiver bei mir im Netzwerk mit Openatv.

    1. Kann ich vom Sat Receiver auf das Hyperion.ng vom Odroid N2 zugreifen?

    2. Ich würde gerne auch Ambilight am Sat Receiver haben ohne einen USB Grabber.

    Bitte um Hilfe.
    Danke

    hi

    Ich gehe mal davon aus, daß du diesen Grabber meinst Ambient light

    Schau mal hier Youtube Video Wollte es erst testen, da ich zu Anfang im Land der Ahnungslosen verweilt habe und Ambilight mit Coreelec nicht richtig zu laufen bekommen habe

    Wenn du den von mir verlinkten Grabber meinst, dazu braucht man keine zusätzliche Hardware wie einen SBC. Aber dieser Grabber läuft nur bei Android Programmen, wenn du normal TV (DVB) schaust, funktioniert es nicht. Wird auch im Video erklärt.
    Tschau nepo

    Hi Danke für den Tip.

    Ich meine ja ohnehin nur Android oder besser gesagt Android TV auf dem Odroid N2.
    Die Light Box schein ein gewöhnlicher Arduino Uno zu sein. Den habe ich auch an meinem Odroid N2 drann.
    Allerdings läuft bei mir aktuell Hyperion.ng über CoreElec. Aber das scheint ja wahrscheinlich egal zu sein.

    Sind die Sketche auf dem Arduino die gleichen?
    Fahre im Moment per Dualboot (Petitboot) auf CoreElec und ATV.
    Als LEDs nutze ich 5m (160 LEDs) WS2801.
    Gesteuert wird die Sache über einen Arduino Uno R3 via USB.
    Ich habe die neueste FastLED Bibiothek installiert und als Sketch nutze ich https://github.com/hyperion-proje…ht/adalight.ino

    Vielleicht könntest du mir behilflich sein, was Sketch ,Anpassungen, etc. angeht?

    Ich weiß das sämtliche Einstellungen über Webui getätigt werden.
    Aber wie schaut es mit den Daten Pins aus?
    Müssen die im Sketch vor dem Hochladen angepasst werden?
    Hast du die arduino.ino runter geladen oder nur den Inhalt ins Fenster und geflasht?

    #include "FastLED.h"
    #define ANALOG_MODE_AVERAGE 0
    #define ANALOG_MODE_LAST_LED 1
    /**************************************
    S E T U P
    set following values to your needs
    **************************************/
    #define INITIAL_LED_TEST_ENABLED true
    #define INITIAL_LED_TEST_BRIGHTNESS 32 // 0..255
    #define INITIAL_LED_TEST_TIME_MS 500 // 10..
    // Number of leds in your strip. set to "1" and ANALOG_OUTPUT_ENABLED to "true" to activate analog only
    // As of 26/1/2017:
    // 582 leaves ZERO bytes free and this
    // 410 is ok
    // tested with 500 leds and is fine (despite the warning)
    #define MAX_LEDS 500
    // type of your led controller, possible values, see below
    #define LED_TYPE WS2812B
    // 3 wire (pwm): NEOPIXEL BTM1829 TM1812 TM1809 TM1804 TM1803 UCS1903 UCS1903B UCS1904 UCS2903 WS2812 WS2852
    // S2812B SK6812 SK6822 APA106 PL9823 WS2811 WS2813 APA104 WS2811_40 GW6205 GW6205_40 LPD1886 LPD1886_8BIT
    // 4 wire (spi): LPD8806 WS2801 WS2803 SM16716 P9813 APA102 SK9822 DOTSTAR
    // For 3 wire led stripes line Neopixel/Ws2812, which have a data line, ground, and power, you just need to define DATA_PIN.
    // For led chipsets that are SPI based (four wires - data, clock, ground, and power), both defines DATA_PIN and CLOCK_PIN are needed
    // DATA_PIN, or DATA_PIN, CLOCK_PIN
    #define LED_PINS 6 // 3 wire leds
    //#define LED_PINS 6, 13 // 4 wire leds
    #define COLOR_ORDER GRB // colororder of the stripe, set RGB in hyperion
    #define OFF_TIMEOUT 15000 // ms to switch off after no data was received, set 0 to deactivate
    // analog rgb uni color led stripe - using of hyperion smoothing is recommended
    // ATTENTION this pin config is default for atmega328 based arduinos, others might work to
    // if you have flickering analog leds this might be caused by unsynced pwm signals
    // try other pins is more or less the only thing that helps
    #define ANALOG_OUTPUT_ENABLED false
    #define ANALOG_MODE ANALOG_MODE_LAST_LED // use ANALOG_MODE_AVERAGE or ANALOG_MODE_LAST_LED
    #define ANALOG_GROUND_PIN 8 // additional ground pin to make wiring a bit easier
    #define ANALOG_RED_PIN 9
    #define ANALOG_GREEN_PIN 10
    #define ANALOG_BLUE_PIN 11
    // overall color adjustments
    #define ANALOG_BRIGHTNESS_RED 255 // maximum brightness for analog 0-255
    #define ANALOG_BRIGHTNESS_GREEN 255 // maximum brightness for analog 0-255
    #define ANALOG_BRIGHTNESS_BLUE 255 // maximum brightness for analog 0-255
    #define BRIGHTNESS 255 // maximum brightness 0-255
    #define DITHER_MODE BINARY_DITHER // BINARY_DITHER or DISABLE_DITHER
    #define COLOR_TEMPERATURE CRGB(255,255,255) // RGB value describing the color temperature
    #define COLOR_CORRECTION TypicalLEDStrip // predefined fastled color correction
    //#define COLOR_CORRECTION CRGB(255,255,255) // or RGB value describing the color correction
    // Baudrate, higher rate allows faster refresh rate and more LEDs
    //#define serialRate 460800 // use 115200 for ftdi based boards
    #define serialRate 115200 // use 115200 for ftdi based boards
    //#define serialRate 500000 // use 115200 for ftdi based boards
    /**************************************
    A D A L I G H T C O D E
    no user changes needed
    **************************************/
    // Adalight sends a "Magic Word" (defined in /etc/boblight.conf) before sending the pixel data
    uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;
    unsigned long endTime;
    // Define the array of leds
    CRGB leds[MAX_LEDS];
    // set rgb to analog led stripe
    void showAnalogRGB(const CRGB& led) {
    if (ANALOG_OUTPUT_ENABLED) {
    byte r = map(led.r, 0,255,0,ANALOG_BRIGHTNESS_RED);
    byte g = map(led.g, 0,255,0,ANALOG_BRIGHTNESS_GREEN);
    byte b = map(led.b, 0,255,0,ANALOG_BRIGHTNESS_BLUE);
    analogWrite(ANALOG_RED_PIN , r);
    analogWrite(ANALOG_GREEN_PIN, g);
    analogWrite(ANALOG_BLUE_PIN , b);
    }
    }
    // set color to all leds
    void showColor(const CRGB& led) {
    #if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
    LEDS.showColor(led);
    #endif
    showAnalogRGB(led);
    }
    // switch of digital and analog leds
    void switchOff() {
    #if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
    memset(leds, 0, MAX_LEDS * sizeof(struct CRGB));
    FastLED.show();
    #endif
    showAnalogRGB(leds[0]);
    }
    // function to check if serial data is available
    // if timeout occured leds switch of, if configured
    bool checkIncommingData() {
    boolean dataAvailable = true;
    while (!Serial.available()) {
    if ( OFF_TIMEOUT > 0 && endTime < millis()) {
    switchOff();
    dataAvailable = false;
    endTime = millis() + OFF_TIMEOUT;
    }
    }
    return dataAvailable;
    }
    // main function that setups and runs the code
    void setup() {
    Serial.begin(serialRate);
    // analog output
    if (ANALOG_OUTPUT_ENABLED) {
    // additional ground pin to make wiring a bit easier
    pinMode(ANALOG_GROUND_PIN, OUTPUT);
    digitalWrite(ANALOG_GROUND_PIN, LOW);
    pinMode(ANALOG_BLUE_PIN , OUTPUT);
    pinMode(ANALOG_RED_PIN , OUTPUT);
    pinMode(ANALOG_GREEN_PIN, OUTPUT);
    }
    int ledCount = MAX_LEDS;
    if (ANALOG_MODE == ANALOG_MODE_LAST_LED) {
    ledCount--;
    }
    #if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
    FastLED.addLeds<LED_TYPE, LED_PINS, COLOR_ORDER>(leds, ledCount);
    #endif
    // color adjustments
    FastLED.setBrightness ( BRIGHTNESS );
    FastLED.setTemperature( COLOR_TEMPERATURE );
    FastLED.setCorrection ( COLOR_CORRECTION );
    FastLED.setDither ( DITHER_MODE );
    // initial RGB flash
    #if INITIAL_LED_TEST_ENABLED == true
    for (int v=0;v<INITIAL_LED_TEST_BRIGHTNESS;v++)
    {
    showColor(CRGB(v,v,v));
    delay(INITIAL_LED_TEST_TIME_MS/2/INITIAL_LED_TEST_BRIGHTNESS);
    }
    for (int v=0;v<INITIAL_LED_TEST_BRIGHTNESS;v++)
    {
    showColor(CRGB(v,v,v));
    delay(INITIAL_LED_TEST_TIME_MS/2/INITIAL_LED_TEST_BRIGHTNESS);
    }
    #endif
    showColor(CRGB(0, 0, 0));
    Serial.print("Ada\n"); // Send "Magic Word" string to host
    boolean transmissionSuccess;
    unsigned long sum_r, sum_g, sum_b;
    // loop() is avoided as even that small bit of function overhead
    // has a measurable impact on this code's overall throughput.
    for(;;) {
    // wait for first byte of Magic Word
    for (i = 0; i < sizeof prefix; ++i) {
    // If next byte is not in Magic Word, the start over
    if (!checkIncommingData() || prefix[i] != Serial.read()) {
    i = 0;
    }
    }
    // Hi, Lo, Checksum
    if (!checkIncommingData()) continue;
    hi = Serial.read();
    if (!checkIncommingData()) continue;
    lo = Serial.read();
    if (!checkIncommingData()) continue;
    chk = Serial.read();
    // if checksum does not match go back to wait
    if (chk != (hi ^ lo ^ 0x55)) continue;
    memset(leds, 0, MAX_LEDS * sizeof(struct CRGB));
    transmissionSuccess = true;
    sum_r = 0;
    sum_g = 0;
    sum_b = 0;
    int num_leds = min ( MAX_LEDS, (hi<<8) + lo + 1 );
    // read the transmission data and set LED values
    for (int idx = 0; idx < num_leds; idx++) {
    byte r, g, b;
    if (!checkIncommingData()) {
    transmissionSuccess = false;
    break;
    }
    r = Serial.read();
    if (!checkIncommingData()) {
    transmissionSuccess = false;
    break;
    }
    g = Serial.read();
    if (!checkIncommingData()) {
    transmissionSuccess = false;
    break;
    }
    b = Serial.read();
    leds[idx].r = r;
    leds[idx].g = g;
    leds[idx].b = b;
    #if ANALOG_OUTPUT_ENABLED == true && ANALOG_MODE == ANALOG_MODE_AVERAGE
    sum_r += r;
    sum_g += g;
    sum_b += b;
    #endif
    }
    // shows new values
    if (transmissionSuccess) {
    endTime = millis() + OFF_TIMEOUT;
    #if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
    FastLED.show();
    #endif
    #if ANALOG_OUTPUT_ENABLED == true
    #if ANALOG_MODE == ANALOG_MODE_LAST_LED
    showAnalogRGB(leds[MAX_LEDS-1]);
    #else
    showAnalogRGB(CRGB(sum_r/MAX_LEDS, sum_g/MAX_LEDS, sum_b/MAX_LEDS));
    #endif
    #endif
    }
    }
    } // end of setup
    void loop() {
    // Not used. See note in setup() function.
    }

    alles klar. funktioniert nun. :)

    danke für die infos und hilfe

    Hallo, ich habe meine ws2801 bisher immer über RPi3 am laufen gehabt. Seitdem ich jetzt einen Odroid N2 habe ist leider alles anders.
    Bisher liefen meine LEDs über den SPI am RPi. Am. Odroid scheint das nicht zu gehen oder bisher habe ich nix gefunden wie ich sie aktivieren kann. Also mit dtparam=spi=on hat es nicht geklappt.
    Ich hätte noch einen Arduino Uno hier liegen.

    1. Kann mir jemand bei SPI an Odroid N2 helfen?
    2. Hat jemand einen FastLed Sketch für Arduino, der dann auch mit Odroid N2 läuft?
    3.Welche Einstellungen benötige ich bei Hyperion.ng?

    Vielen Dank für Eure Hilfe.

    Hallo miteinander.

    Ich suche eine Air Mouse Fernbedienung für Odroid N2. Es sollte in der Lage sein, Android und CoreElec zu bedienen.

    Ich beziehe mich auf

    Rii MX9 kabellose Airmouse mit Mini Tastatur Wireless/Gyro-Funktion/Infrarot Learning-Funktion - ideale Fernbedienung für Android TV Boxen/Sticks/Mini PCs/HTPCs/Raspberry Pi/OpenELEC(DE Layout) https://www.amazon.de/dp/B07RYT9LGF/ref=cm_sw_r_other_apa_i_7Ka4DbVPT9TQN?tag=kodinerds04-21 [Anzeige]

    Und

    ASHATA Air Mause Wireless Mini Tastatur,2.4G Wireless Voice Airmouse Airmaus Fernbedienung Tastatur,Tragbar Air Mouse Keyboard Fernbedienung mit Gyroskop für TV/Set-Top-Box/PC Schwarz https://www.amazon.de/dp/B07M6QNCND/ref=cm_sw_r_other_apa_i_7Ha4DbBGZ7EWX?tag=kodinerds04-21 [Anzeige]

    1. Würde diese Fernbedienung funktionieren?
    2. Funktioniert es für Android?
    3. Funktioniert es für CoreElec?
    4. Funktioniert die Sprachsteuerung?
    5. Muss ich eine Keymap oder remote.xml ändern oder wo befinden sich die .xml-Dateien?

    PS: Die ASHATA Airmouse schaut aus wie die vom Beelink GT-King... :thumbup:

    Freue mich auf eure Antworten *P