Ankündigung

Einklappen
Keine Ankündigung bisher.

Konnekting Dimmer Software

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Du meinst wohl Variante 3?

    Kommentar


      #32
      Nein, 2 passt schon. Ich denke 3 wird zu kompliziert...
      Wenns da dumm läuft blockiert sich der Dimmer selbst weil ständig irgendwelche Werte kommen.

      Ich denke wenn ich 2 mit einem Flexiblen Delay habe reicht das.
      Gruß
      Michael

      Kommentar


        #33
        DimmerControl ist ab sofort in der Arduino IDE direkt verfügbar. Ich habe gleich mehrere Beispiel-Sketch eingebaut.

        Kommentar


          #34
          Zitat von Eugenius Beitrag anzeigen
          Aus dem letzten Link resultiert richtig einfache Formel:
          Code:
          int result = (pow((float)i / (float)max_in, gamma) * max_out + 0.5));
          Wobei durch gamma kann man den Kurvenverlauf beeinflussen. Eigentlich was ich gesucht habe (gamma = 1 ist dann linear)
          Nur wenn man auch bei adafruit genau liest, schreiben die, dass die ersten 27 Werte "0" sind, somit sind die LEDs aus.
          Und je nach Dimmer/LED-Kombination/PWM-Auflösung können es unterschiedlich sein.
          Mein Ziel ist, eine Formel, wo ich Gamma vergeben kann und auch den ersten Wert:
          f(0) = 0,
          f(1)= meinStartWert,
          ...
          f(n-1)=maxPwmValue;
          basierend auf der Formel habe ich endlich das, was ich gesucht habe:

          Code:
          word getLogValue(byte index, float gamma, byte startValue, word maxValue, word steps){
              if (index > 0){
                  word result = round(pow((float)index / (float)(steps - 1.0), gamma) * (float)(maxValue - startValue) + startValue);
                  if(result > maxValue)
                      return maxValue;
                  else
                      return result;
              }else{
                  return 0;
              }
          }

          Kommentar


            #35
            Ich habe gestern DimmerControl Lib um die Netzteil-Steuerung erweitert.

            So, atmega32u4 stirbt langsam ab... Ich habe meinen Dimmer Sketch noch nicht mal fertig...

            Code:
            Der Sketch verwendet 23958 Bytes (83%) des Programmspeicherplatzes. Das Maximum sind 28672 Bytes.
            Globale Variablen verwenden 3247 Bytes (126%) des dynamischen Speichers, -687 Bytes für lokale Variablen verbleiben. Das Maximum sind 2560 Bytes.
            Zuletzt geändert von Eugenius; 04.12.2018, 21:44.

            Kommentar


              #36
              Zitat von Eugenius Beitrag anzeigen
              Code:
              (126%)
              und das geht so durch?

              Kommentar


                #37
                2,5KB RAM ist halt schon wenig verglichen mit den 32k des SAMD21 :-) Ich will nicht wissen wie voll der RAM beim 32u4 wäre, wenn ich den Roto-Aktor damit versucht hätte zu betreiben....

                wobei:

                Code:
                Der Sketch verwendet 61696 Bytes (23%) des Programmspeicherplatzes. Das Maximum sind 262144 Bytes.
                Ich hätte den Sketch ja schon gar nicht auf den Speicher bekommen, unabhängig vom RAM...

                Kommentar


                  #38
                  Zitat von Sonnengruesser Beitrag anzeigen
                  und das geht so durch?
                  natürlich nicht wollte nur anmerken.
                  Ich habe ein wenig umgeschrieben und jetzt bin ich bei:
                  Code:
                  Der Sketch verwendet 26968 Bytes (94%) des Programmspeicherplatzes. Das Maximum sind 28672 Bytes.
                  Globale Variablen verwenden 1245 Bytes (48%) des dynamischen Speichers, 1315 Bytes für lokale Variablen verbleiben. Das Maximum sind 2560 Bytes.
                  Zitat von tuxedo Beitrag anzeigen
                  2,5KB RAM ist halt schon wenig verglichen mit den 32k des SAMD21 :-) Ich will nicht wissen wie voll der RAM beim 32u4 wäre, wenn ich den Roto-Aktor damit versucht hätte zu betreiben....

                  wobei:

                  Code:
                  Der Sketch verwendet 61696 Bytes (23%) des Programmspeicherplatzes. Das Maximum sind 262144 Bytes.
                  Ich hätte den Sketch ja schon gar nicht auf den Speicher bekommen, unabhängig vom RAM...
                  Jetzt kompiliere wirklich deinen Sketch für 32u4 und du wirst sehen, dass es keine 61696 bytes dafür gebraucht werden... ARM hat zu viel Overhead.

                  Kommentar


                    #39
                    Ja es werden weniger sein. Aber passen wird es bei der Menge an Code und vor allem logausgaben sicher trotzdem nicht. Vor allem auch der RAM müsste viel zu gering sein.

                    Kommentar


                      #40
                      So, gute Nachrichten:
                      ich habe gerade eine neue Version für meinen 4CH Dimmer hochgeladen: https://github.com/Adminius/Dimmer_4CH_UFI
                      Ich würde sagen das ist in einem Release Candidate Zustand.
                      Da ich den 32u4 Prozessor praktisch komplett ausgenuzt habe:
                      Code:
                      Der Sketch verwendet 27104 Bytes (94%) des Programmspeicherplatzes. Das Maximum sind 28672 Bytes.
                      Globale Variablen verwenden 1255 Bytes (49%) des dynamischen Speichers, 1305 Bytes für lokale Variablen verbleiben. Das Maximum sind 2560 Bytes.
                      werde ich wohl keine neue Funktionen für 32u4 einbauen...

                      Kommentar


                        #41
                        Hat mir jetzt keine Ruhe gelassen ... Dein Sketch hat rund 27k an reinem Sourcecode (ohne KONNEKTING). Hab ich so ganz grob überschlagen anhand des GitRepos.

                        Mein DFF4.1 hat rund 57k an reinem Sourcecode (ebenfalls ohne KONNEKTING). D.h. selbst wenn der 32u4 Core kleiner ist und weniger Overhead aus dessen SDK hat, passt der Roto-Sketch nie im leben in einen 32u4 wenn er schon da doppelte an reiner Sketch-Größe hat :-)

                        Allein die Kanal-Logik (RotoChannel.cpp) hat 41,8k im Sourcecode ;-)

                        Kommentar


                          #42
                          Hat jemand einen Dimmer mit RGB(W)/HSV Steuerung? Kann derjenige schauen wie es die "großen" machen?

                          Situation:
                          Ich habe RGB Strip.
                          Ich habe DPT 232.600 als Input für RGB
                          Ich habe DPT 232.600 als Input für HSV
                          In diesem Fall da wo die letzte Nachricht ankommt, gewinnt. D.h. wenn nach HSV RGB kommt, dann wird RGB genutzt.
                          Als Statusobjekte hat man RGB, HSV oder beides? (beides heißt RGB<>HSV hin und her umrechnen)
                          Eigentlich kann man den Auswahl beschränken und sagen: entweder RGB (input&output) oder HSV (input&output)...

                          Jetzt wird es komplexer. Ich habe einzelne DPT 5.00x für R,G,B und/oder H,S,V. Meistens, wird nur die geänderte Farbe gesendet. D.h. wenn ich vorher RGB:255,255,255 hatte und danach RGB:127,255,255 kommt, wird nur R:127 gesendet. Kann es vorkommen, dass als nächsten H:127 kommt? Heißt es, ich muss von RGB:127,255,255 auf HSV umrechnen und dann H auf 127 setzen?

                          Und damit es euch nicht langweilig wird:
                          Ich habe RGBW Strip
                          Ich habe DPT 232.600 als Input für RGB
                          Ich habe DPT 251.600 als Input für RGBW
                          Ich habe DPT 232.600 als Input für HSV

                          Es gelten die selben Fragen wie oben. Zusätzlich: Input DPT 232.600 RGB -> heißt es, dass W auf 0 geschaltet wird?

                          Und noch komplexer: es kommt eine Nachricht an DPT 251.600, also RGBW, zum Beispiel: 50,0,0,255 (wärmeres weiß).
                          Was soll im Status beim DPT 232.600 RGB und beim HSV stehen?



                          Und etwas anders: Wie dimmt man warm/kaltweiß?
                          So?
                          K: 0 1 2 3 4 ... 96 97 98 99 %
                          W: 99 98 97 96 95 ... 3 4 1 0 %
                          Ich glaube so hat man einigermaßen konstante Helligkeit...
                          Zuletzt geändert von Eugenius; 10.12.2018, 21:48.

                          Kommentar


                            #43
                            Also bei den RGB Geschichten kann ich dir leider nicht helfen, aber WW/KW ist meiner Meinung nach nicht Linear.
                            Ich hab bei mir solche Strips verbaut und mach es "manuel" also Wert and WW und Wert an KW schicken.
                            Wenn ich in richtung WW gehen möchte muss ich KW ziemlich früh stark Dimmen das KW gefühlt "stärker" ist.
                            Also der Eindruck das es eher Kaltes Licht ist weit länger bestehen bleibt als nur bis 50%/50%.

                            Weiß jetzt nicht ob das überall so ist aber bei mir ist es definitiv so.
                            Da ich aktuell aber nur ein paar fixe Szenen habe hab ich das nicht weiter verfolgt sonder per Trial and Error gemacht
                            Gruß
                            Michael

                            Kommentar


                              #44
                              gulp2k hast du irgend ein Beispiel? Code?

                              Kommentar


                                #45
                                Naja, wie gesagt, war händisch Lichtverstellen bis es gepasst hat. Code gibts da keinen.
                                Ich hab hier mal die Szenen dran gehängt, vielleicht hilfts ja.
                                Wobei ich denke das das auch sehr stark von den LED´s abhängt...

                                S1=AUS 0 0
                                S2=Morgen 50 20
                                S3=Mittag 100 100
                                S4=Abend 0 50
                                S5=Nacht 0 20
                                S6=Voll 100 100

                                Morgens fühlt sich aktuell wenn es draußen noch richtig dunkel ist schon fast zu grell an...
                                Gruß
                                Michael

                                Kommentar

                                Lädt...
                                X