Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Mini-Mülltonne Gadget

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mini-Mülltonne Gadget

    This topic has been deleted. Only users with topic management privileges can see it.
    • joergeli
      joergeli last edited by joergeli

      Moin zusammen,

      hier mal wieder ein kleines Hardware-Gadget von mir:

      Eine Mini-Mülltonne, die durch farbiges Pulsieren daran erinnert, daß am nächsten Tag eine Mülltonne geleert wird.
      Die Farbe ist dabei unseren Original-Mülltonnendeckelfarben nachempfunden.

      Warum das Ganze?
      Nun, eine Erinnerung könnte ich mir auch per eMail, Push-Nachricht, oder was auch immer schicken lassen.
      Dann schaue ich auf's Handy - aha, morgen wird Biomüll abgeholt - und 'ne Stunde später habe ich es doch wieder vergessen 🙄

      Also musste was ähemmm... "idiotensicheres" her.
      So ist dann die Mini-Mülltonne entstanden, die einen Tag vor der Müllabholung permanent in der Eßecke pulsiert.
      Das ist kaum zu übersehen. Einen Reset-Button - wenn die Tonne rausgestellt wurde - habe ich bewußt nicht vorgesehen, denn um Mitternacht hört das Blinken sowieso auf.

      tonne-gruen.jpg

      Notwendig sind dazu der Google-Kalender, die iCal-/MQTT-Adapter in ioBroker, sowie ein WEMOS D1 mini und ein WS2812B LED-Stripe.

      Ein kurzes Youtube-Vido habe ich hier hochgeladen: https://www.youtube.com/watch?v=qHmuvpSA8mkt

      Eine Beschreibung / Bauanleitung gibt's hier: http://arduino.joergeli.de/mini-muelltonne/mini-muelltonne.php

      Gruß
      Jörg

      H ? da_Woody 3 Replies Last reply Reply Quote 13
      • H
        Hansi1234 @joergeli last edited by

        @joergeli cooles Teil 🙂

        1 Reply Last reply Reply Quote 0
        • ?
          A Former User @joergeli last edited by

          @joergeli sauber gemacht! 👍
          Werde ich nachbauen, nur bei uns gibts ne schwarze Tonne, welches Signal/Farbe nehm ich da??

          joergeli Homoran 2 Replies Last reply Reply Quote 0
          • joergeli
            joergeli @Guest last edited by joergeli

            @ilovegym
            .... na, die schwarze Farbe 🤡 🤡 🤡

            Nee, im Ernst:
            Restmülltonne ist bei uns Original auch schwarz, deshalb verwende ich dort "orange".

            Bei mir:
            Gelber Sack / Gelbe Tonne: gelb
            Papiertonne: blau
            Restmüll: orange ( Original = schwarz)
            Bio-Abfall: grün (Original = braun)

            1 Reply Last reply Reply Quote 1
            • Homoran
              Homoran Global Moderator Administrators @Guest last edited by

              @ilovegym ich nutze dafür den Homematic Schaltaktor mit Signal-LED.
              so schwarz wie möglich ist da violett.
              gelb ist gelb, blau ist blau, und für die braune Tonne nehme ich grün(schnitt)

              1 Reply Last reply Reply Quote 0
              • joergeli
                joergeli last edited by

                @homoran
                Tja, die Geschmäcker sind hat verschieden.

                Wie ich unter ioBroker Mini-Mülltonne ganz unten auf der Seite erwähnte, kann - wer weiß was er macht - die Farben durchaus an das eigene Gusto anpassen.

                Allerdings sind dabei einige Änderungen sowohl im Javascript, als auch im Arduino-Sketch erforderlich:

                Im JS können folgende Farben eingetragen werden:
                red, green, blue, tuerkis, violet, yellow, orange, white und off.
                ( nur exakt diese Farbnamen verwenden ! )

                Diese Farben müssen allerdings mit den Farben im Arduino-Sketch korrespondieren:

                  if (ColorName.equals("red"))      { leds[LedIndex] = CRGB( 255, 0, 0);    }
                  if (ColorName.equals("green"))    { leds[LedIndex] = CRGB( 0, 255, 0);    }
                  if (ColorName.equals("blue"))     { leds[LedIndex] = CRGB( 0, 0, 255);    }
                  if (ColorName.equals("tuerkis"))  { leds[LedIndex] = CRGB( 0, 255, 255);  }
                  if (ColorName.equals("violet"))   { leds[LedIndex] = CRGB( 255, 0, 255);  }
                  if (ColorName.equals("yellow"))   { leds[LedIndex] = CRGB( 255, 110, 0);  }
                  if (ColorName.equals("orange"))   { leds[LedIndex] = CRGB( 255, 40, 0);   }
                  if (ColorName.equals("white"))    { leds[LedIndex] = CRGB( 255, 255, 255);}
                  if (ColorName.equals("off"))      { leds[LedIndex] = CRGB( 0, 0, 0);      }
                
                
                //__________  Gelber Sack gelb blinken ________________________
                  if ( LedIndex == 0 &&  ColorName.equals("yellow"))   {
                    Data[7] = payload[0]; //y
                    Data[8] = payload[1]; //e
                    Data[9] = payload[2]; //l
                  }
                  else if ( LedIndex == 0 &&  ColorName.equals("off"))   {
                    Data[7] = payload[0]; 
                    Data[8] = payload[1];
                    Data[9] = payload[2]; 
                  }
                
                  //__________  Papiertonne blau blinken ________________________
                  if ( LedIndex == 1 &&  ColorName.equals("blue"))   {
                    Data[10] = payload[0]; //b
                    Data[11] = payload[1]; //l
                    Data[12] = payload[2]; //u
                  }
                  else if ( LedIndex == 1 &&  ColorName.equals("off"))   {
                    Data[10] = payload[0]; 
                    Data[11] = payload[1];
                    Data[12] = payload[2]; 
                  }
                
                  //__________  Restmuell orange blinken ________________________
                  if ( LedIndex == 2 &&  ColorName.equals("orange")) {
                    Data[13] = payload[0]; //o
                    Data[14] = payload[1]; //r
                    Data[15] = payload[2]; //a
                  }
                  else if ( LedIndex == 2 &&  ColorName.equals("off"))   {
                    Data[13] = payload[0]; 
                    Data[14] = payload[1];
                    Data[15] = payload[2]; 
                  }
                
                //__________  Biomuell gruen blinken ________________________
                  if ( LedIndex == 3 &&  ColorName.equals("green"))   {
                    Data[0] = payload[0]; //g
                    Data[1] = payload[1]; //r
                    Data[2] = payload[2]; //e
                  }
                  else if ( LedIndex == 3 &&  ColorName.equals("off"))   {
                    Data[0] = payload[0]; //o 
                    Data[1] = payload[1]; //f
                    Data[2] = payload[2]; //f 
                  }
                

                Zusätzlich müssen im Sketch auch noch diese Code-Zeilen angepasst werden:

                // __________ Gelber Sack - gelb pulsieren ____________________________
                if( Data[7] == 'y' && Data[8] == 'e' && Data[9] == 'l'){
                  if (currentMillis - previousMillis < 2500 ) {
                    leds[0] = CRGB( 255, 110, 0);
                    leds[4] = CRGB( 255, 110, 0);
                
                    for ( i=0; i<=220; i++){
                      delay(6); 
                      FastLED[0].show(leds, 1, i); 
                      FastLED[4].show(leds, 5, i);
                    }     
                    for ( i=220; i>0; i--){
                      delay(6); 
                      FastLED[0].show(leds, 1, i); 
                      FastLED[4].show(leds, 5, i);
                    }    
                  }
                }
                
                // __________ Papiertonne - blau pulsieren ____________________________
                if( Data[10] == 'b' && Data[11] == 'l' && Data[12] == 'u'){
                  if (currentMillis - previousMillis < 2500) {
                    leds[1] = CRGB( 0, 0, 255);
                    leds[5] = CRGB( 0, 0, 255);
                
                    for ( i=25; i<=220; i++){
                      delay(6); 
                      FastLED[1].show(leds, 2, i); 
                      FastLED[5].show(leds, 6, i);
                    }    
                    for ( i=220; i>25; i--){
                      delay(6); 
                      FastLED[1].show(leds, 2, i); 
                      FastLED[5].show(leds, 6, i);
                    }    
                  }
                }
                  
                // __________ Restmuell - orange pulsieren ____________________________
                if( Data[13] == 'o' && Data[14] == 'r' && Data[15] == 'a'){
                  if (currentMillis - previousMillis < 2500) {
                    leds[1] = CRGB( 255, 40, 0);
                    leds[5] = CRGB( 255, 40, 0);
                
                    for ( i=25; i<=220; i++){
                      delay(6); 
                      FastLED[2].show(leds, 3, i); 
                      FastLED[6].show(leds, 7, i);
                    }
                    for ( i=220; i>25; i--){
                      delay(6); 
                      FastLED[2].show(leds, 3, i); 
                      FastLED[5].show(leds, 7, i);
                    }    
                  
                  }  
                }
                
                // __________ Biomuell - gruen pulsieren ____________________________
                if( Data[0] == 'g' && Data[1] == 'r' && Data[2] == 'e'){
                  if (currentMillis - previousMillis < 2500) {
                    leds[1] = CRGB( 0, 255, 0);
                    leds[5] = CRGB( 0, 255, 0);
                
                    for ( i=25; i<=220; i++){
                      delay(6); 
                      FastLED[3].show(leds, 4, i); 
                      FastLED[7].show(leds, 8, i);
                    }     
                    for ( i=220; i>25; i--){
                      delay(6); 
                      FastLED[3].show(leds, 4, i); 
                      FastLED[7].show(leds, 8, i);
                    }      
                  } 
                }
                

                Bei diesen Anpassungen ist zu beachten, daß in der ersten Zeile der entspr. if-Abfrage jeweils die ersten 3 Buchstaben der Farbe eingetragen werden.
                Beispiel für Gelb = yellow: if( Data[7] == 'y' && Data[8] == 'e' && Data[9] == 'l'){ ..........

                Zusätzlich müssen auch noch die CRGB-Werte für die Farbe angepasst werden.
                Als Beispiel: gelb = yellow --> CRGB( 255, 110, 0)

                Das klingt alles kompliziert, ist aber historisch gewachsen, weil ich auf meinem LED Status-Display auch andere, bzw. mehr Farben verwende.
                Mein Ehrgeiz bestand dort darin, daß wichtige Stati blinkend angezeigt werden.
                Das "Blinken" war aber nicht so einfach zu programmieren, deshalb der rel. aufwändige Code, der in Teilen ebenfalls bei der Mini-Mülltonne verwendet wird.

                Deshalb mein Vorschlag:
                Wer die Mini-Mülltonne nachbauen will, sollte erst mal meine Originale des JS und des Arduino-Sketch testen.
                Wenn das dann wie gewünscht funktioniert, können evtle. Farbanpassungen immer noch vorgenommen werden.

                1 Reply Last reply Reply Quote 1
                • da_Woody
                  da_Woody @joergeli last edited by

                  @joergeli rofl.gif
                  ihr kommt auf ideas... einfach herrlich. da fällt mir doch gleich was für iQontrol ein... 🙄

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  850
                  Online

                  31.9k
                  Users

                  80.1k
                  Topics

                  1.3m
                  Posts

                  3d-druck arduino mülltermine wemos d1
                  5
                  7
                  777
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo