Elektronica Stynus
 

Moodlight

Ik kon goedkoop aan 2 RGB led strips van bij Ledsee geraken. Daarom heb ik besloten een moodlight die al lang op men bureau op breadbord was opgebouwd daarmee te gaan maken. Ik ga de strips in aluminium U profiel maken met een plexi deksel en op de hoeken doppen met XLR connectoren om door te lussen. Per profiel komt er 1 ledstrip en 1 controller. De controller kan als master of als slave worden ingesteld. De slave's worden door de master gestuurd via een serieel protocol.

Foto's van de ledstrips:

RGB Ledstrip

RGB Ledstrip

RGB Ledstrip

De ledstrip in werking (gedimt):

RGB Ledstrip

(Foto van http://vdbeke.gnimsch.net/lichtorgel.htm)

Een tekening van hoe het er ongeveer moet gaan uitzien:

tekening

Het groene is de controller en het grijs verhoogt de ledstrip.

Voor de controller ga ik een SMD PIC16F628 gebruiken met een ULN2003 erachter Schema:

schema

(Klikbaar)

 

Printplaat: Printplaat

(Klikbaar)

Top

Update 26/03/08

Vandaag heb ik het printje geëtst en gesoldeert:

Moodlight printje

Moodlight printje

Moodlight printje

Moodlight printje

Top

Update 06/06/08

Gisteren ben ik aluminium gaan kopen en vandaag heb ik daar een behuizing met in elkaar gezet. Het deksel moet uit plexiglas gemaakt worden en dat heb ik nog niet liggen.

Een paar foto's:

moodlight behuizing

moodlight behuizing

Top

Update 13/06/08

De pcb layout:

- Top met componenten

- Top zonder componenten

- Bottom zonder componenten

- Bottom met componenten

 

Als er interesse is in deze print kan ik die eventueel professioneel laten etsen. De prijs daarvoor is dan ongeveer 3€ per pcb mits er in totaal 20 worden afgenomen. Als je interesse hebt in 1 of meer printplaten kan je mailen op info[apenkrol]elektronicastynus[puntje]be

Top

Update 15/06/08

Vandaag heb ik de code afgewerkt en de printen in de behuizing ingebouwd:

moodlight behuizing

moodlight behuizing

 

De code:

'****************************************************************
'*  Author  : Coenen Stijn [Stynus]                             *
'*  Notice  : Copyright (c) 2007 [www.elektronicastynus.be]     *
'*          : All Rights Reserved                               *
'*  Date    : 15/06/2008                                        *
'*  Version : 1.5                                               *
'*  Notes   : Ledstrip controller module                        *
'*          :                                                   *
'****************************************************************
    Device          16F627A
    Config          WDT_OFF, PWRTE_ON, MCLRE_ON, HS_OSC, LVP_off
    XTAL            = 20
    ALL_DIGITAL     = true    
'****************************************************************
'Declaraties
    Symbol Rood     = PORTB.7
    Symbol Groen    = PORTB.5
    Symbol Blauw    = PORTB.6
    Symbol Master   = PORTB.4 
    Symbol Slave    = PORTB.3 
    TRISB.7         = 0
    TRISB.6         = 0
    TRISB.5         = 0
    TRISB.4         = 1
    TRISA.3         = 1
    PORTB_PULLUPS   = 1
    Dim MasterSlave As Bit
    Dim Geval       As Byte
    Dim index       As Word
    Dim vertraging  As Byte
    'PWM
    Dim WaardeRood  As Byte
    Dim WaardeGroen As Byte
    Dim WaardeBlauw As Byte
    Dim WaardePWM   As Byte
    Dim roodUpDown  As Bit
    Dim groenUpDown As Bit
    Dim blauwUpDown As Bit
    Symbol snelheid = 5 'Hoe hoger dit getal hoe trager het prog
    'Seriele interface
    Dim serdata     As Byte
    Dim sergeval    As Byte
    Dim dataOfGeval As Bit
    HSERIAL_CLEAR   = On            
    HSERIAL_RCSTA   = 144
    HSERIAL_TXSTA   = 36
    HSERIAL_BAUD    = 2400			
    Symbol RCIF	    = PIR1.5		
    Symbol OERR	    = RCSTA.1		
    Symbol CREN	    = RCSTA.4			
    ON_INTERRUPT GoTo SeriIn		

    Clear                                                                        
'****************************************************************
'Checken voor master/slave 
    While 1 = 1
        If Master = 0 Then
            GoTo Masterprog
        EndIf
        If Slave = 0 Then
            GoTo Slaveprog
        EndIf
        High Rood
    Wend
'****************************************************************    
Masterprog:
    PIE1.5 = 0
    WaardeRood  = 255
    WaardeGroen = 0
    WaardeBlauw = 0
    Geval       = 0   
    
    HRSOut 1
    DelayUS 10
    HRSOut WaardeRood
    DelayUS 10
    HRSOut 2
    DelayUS 10
    HRSOut WaardeGroen 
    DelayUS 10
    HRSOut 3     
    DelayUS 10
    HRSOut WaardeBlauw 
    
    While 1 = 1
        For index = 0 To 255
            'Rood
            If WaardeRood >= index Then
                High Rood
            Else
                Low Rood
            EndIf
            'Groen
            If WaardeGroen >= index Then
                High Groen
            Else
                Low Groen
            EndIf
            'Blauw           
            If WaardeBlauw >= index Then
                High Blauw
            Else
                Low Blauw
            EndIf
        Next 
        Inc vertraging
        If vertraging = snelheid Then
            Select Geval
                Case 0
                    Inc WaardeGroen
                    GoSub GroenUit
                    If WaardeGroen = 255 Then
                        Geval = 1
                    EndIf      
                Case 1
                    Dec WaardeRood
                    GoSub RoodUit
                    If WaardeRood = 0 Then
                        Geval = 2
                    EndIf 
                Case 2
                    Inc WaardeBlauw
                    GoSub BlauwUit
                    If WaardeBlauw = 255 Then
                        Geval = 3
                    EndIf
                Case 3
                    Dec WaardeGroen
                    GoSub GroenUit
                    If WaardeGroen =  0 Then
                        Geval = 4
                    EndIf
                Case 4 
                    Inc WaardeRood
                    GoSub RoodUit
                    If WaardeRood = 255 Then
                        Geval = 5
                    EndIf
                Case 5 
                    Dec WaardeBlauw
                    GoSub BlauwUit
                    If WaardeBlauw = 0 Then
                        Geval = 0
                    EndIf
                Case Else
                    'Bij fout reset
                    WaardeRood  = 255
                    WaardeGroen = 0
                    WaardeBlauw = 0
                    Geval       = 0
            EndSelect
            vertraging = 0
            'GoSub seruit  
        EndIf
        
        If Slave = 0 Then
            GoTo Slaveprog
        EndIf
    Wend
'**************************************************************** 
Slaveprog:
    INTCON = %11000000
    PIE1.5 = 1
    WaardeRood = 0
    WaardeGroen = 0
    WaardeBlauw = 0
    Low Groen
    Low Rood
    Low Blauw
    While 1 = 1
        For vertraging = 0 To snelheid     
            For index = 0 To 255
                'Rood
                If WaardeRood >= index Then
                    High Rood
                Else
                    Low Rood
                EndIf
                'Groen
                If WaardeGroen >= index Then
                    High Groen
                Else
                    Low Groen
                EndIf
                'Blauw           
                If WaardeBlauw >= index Then
                    High Blauw
                Else
                    Low Blauw
                EndIf
            Next 
            If Master = 0 Then
                GoTo Masterprog
            EndIf
        Next
    Wend
'**************************************************************** 
'Subroutines:    
RoodUit:
    HRSOut 1
    DelayUS 10
    HRSOut WaardeRood
Return

GroenUit:
    HRSOut 2
    DelayUS 10
    HRSOut WaardeGroen 
Return

BlauwUit:
   HRSOut 3
   DelayUS 10
   HRSOut WaardeBlauw 
   sergeval = 0
Return

SeriIn:
    If dataOfGeval = 0 Then
        HSerIn [sergeval]
        dataOfGeval = 1
    Else
        HSerIn [serdata]
        Select sergeval
            Case 1
                WaardeRood = serdata
            Case 2
                WaardeGroen = serdata
            Case 3
                WaardeBlauw = serdata
            Case Else
                GoTo SeriIn
        EndSelect  
        dataOfGeval = 0
    EndIf
Context Restore
'****************************************************************
End

De hex file van deze code: link.

 

You-tube filmpje van de moodlight in werking:

(Sorry voor de slechte beeldkwaliteit)

Top

Update 10/07/08

Ik heb in de voorbije 2 weken het tweede printje en de behuizing ook afgewerkt.

Van het solderen van het printje heb ik een time-laps filmpje:

 

Voor het wat professioneler te maken heb ik op de zijkanten van de behuizingen stickers geplakt:

stickers

De stickers als pdf: Link.

 

Vandaag heb ik melkglas (van plastic :p) binnen gekregen en dat erop gemonteerd:

melkglas moodlight

melkglas moodlight

Met de moodlight in werking:

melkglas moodlight

melkglas moodlight

 

Het plexiglas komt van bij Daemen kunststoffen.

Top

Bestanden:

- Eagle bestanden: Download

Top

Reactie's

Naam: pm1
Datum: 10 Juni 2008, 23:42
Bericht:
ziet er al mooi uit :)

ik ben benieuwd als het af zal zijn hoe het er uit zal zien en hoe het werkt :).

greets

pm1 ^_^
Naam: kenneth
Datum: 13 Juni 2008, 12:40
Bericht:
hej,

ik zou graag dit project ook doen als dit mag van jou.
Maar dan zou ik graag de 2lagen van de printplaat hebben zodat ik kan belichten want heb namelijk geen programme.
en welke soort print heb je gebruikt?

mvg,

kenneth
Naam: Stynus
Datum: 13 Juni 2008, 13:09
Bericht:
Hoi,

Ja, dat mag van mij ;).

Ik ga het straks als pdf afdrukken en dan hierboven bijzetten.
Die printplaat is gewone dubbelzijdige printplaat.

Als er nog interesse is kan ik misschien een aantal printplaten professioneel laten maken. Dat soldeert ook veel beter. Maar dan moet ik er denk ik een 20 tal laten maken. En dat kost dan ongeveer 3€ per pcb.

Mvg,
Stynus
Naam: kenneth
Datum: 14 Juni 2008, 12:49
Bericht:
hej,

heel erg bedankt :D
ik ga het eerst eens zelf proberen :) ben op het moment een etsbak in elkaar aan het steken die verwarmt is zoals op http://www.meb.gerolf.be/index.htm?N205010
en als de printplaat niet goed lukt zal ik het zeker doen.

mvg,

kenneth
Naam: pm1
Datum: 11 Juli 2008, 14:02
Bericht:
dat melkglas kan je ook makkelijk zelf maken, normaal plexiglas even opschuren met staalwol ;-)
Naam: Stynus
Datum: 11 Juli 2008, 14:51
Bericht:
Hoi,

Dan heb je toch niet zo een mooi effect hoor. En dan moest ik daar nog bestellen want weet hier in de buurt nergens waar ik dat gezaagd kan krijgen.

Mvg,
Stynus
Naam: Jens
Datum: 20 Juli 2008, 00:19
Bericht:
nog mooier is om inbus schroefjes te gebruiken met een kop van 4MM lang ;)
Naam: beamer
Datum: 30 September 2008, 18:12
Bericht:
Mooi project! en moooi afgewerkt!
Er zit alleen een foutje in je schema.
in de hex file gebruik je poort RB5 RB6 RB7 als rgb output's
in je schema gebruik je RA0 RA1 RA2
Ook zit er in je programma nog een "slordigheidje"
Bij het 100% aan sturen van een kleur wordt hij toch 10us uit gezet dit zie je natuurlijk niet maar het kan wel storing opwekken.
Naam: Stynus
Datum: 30 September 2008, 18:16
Bericht:
Die fout was me nog niet opgevallen. Bedankt voor het melden.

Dat van dat niet 100% aan klopt. Daar is voor zover ik weet niks aan te doen.

Mvg,
Stynus
Naam: LHA
Datum: 02 December 2008, 10:35
Bericht:
Heel mooi project. Voor alle duidelijkheid ik ben een leek!
Het eerste filmpje wekt de suggestie dat het licht op geluid reageerd. Hierover vind ik niets terug in de beschrijving. Nogmaals ik ben echt een leek.
Mvg LHA
Naam: Stynus
Datum: 02 December 2008, 14:47
Bericht:
Nee het reageert niet op muziek.

De master controller moet ervoor gaan zorgen dat dat wel kan.
http://www.elektronicastynus.be/Projecten/Lichteffecten/Moodlight/Master/in dex.php

Mvg,
Stynus
Naam: Robert
Datum: 09 December 2008, 10:31
Bericht:
Leuk project! Al heb ik de nodige basiskennis van elektronica, het meeste heb ik al jaren niet meer gebruikt. Tijd om het een en ander op te frissen.

Ik zit er over na te denken om iets dergelijks te gaan bouwen, met het verschil dat ik een 3w high-power RGB LED ipv ledstrips wil gebruiken en een extra paar schakelaars.

Wat doet precies de ULN2003? Ik zie dat er 12v ingaat, maar komt er dan volgens altijd 500mA uit? De RGB LED die ik wil heeft volgens de spec:

Power: red=2,2V blue=3,55V green=3,55V
Current: 350mA each colour

Gaat dit lukken of moet ik een andere aanpak kiezen? Bv 3 NPN transistors aansturen?
Alvast bedankt voor de hulp,

Groeten,
Robert
Naam: Stynus
Datum: 09 December 2008, 18:21
Bericht:
Hoi,

Die uln is een darlington array. Die beperkt de stroom niet. Die 500mA is gewoon de maximum stroom per darlington.

Met 3 NPN transistoren moet dit ook gaan.

Mvg,
Stynus
Naam: Robert
Datum: 09 December 2008, 19:53
Bericht:
bedankt voor je antwoord. Het is mij nog niet helemaal duidelijk, wellicht dat je nog iets kunt verhelderen voor me.

Dus met deze darlington array stuur je een constante stroom uit die je dmv PWM felheid van de LED regelt. Klopt dit?
Wat is deze stroom en waar wordt die door bepaald? M.a.w. hoe regel je die (stel dat je er constant max 350mA uit wil krijgen ipv de 500mA)

Als laatste, in welk pakket maak je de tekeningen van het schema?
Bedankt voor je tijd.
Naam: Stynus
Datum: 09 December 2008, 20:02
Bericht:
Nee daar stuur je geen constante stroom mee uit.
De stroom wordt bepaald door de belasting (leds).

Op mijn ledstrips zitten weerstanden die de stroom beperken. Jij moet ook weerstanden gebruiken voor de stroom naar jouw leds te bekerken.

Die tekeningen maak ik in S-Plan.

Mvg,
Stynus
Naam: solid
Datum: 04 Maart 2009, 16:34
Bericht:
heb op school een iets geavanceerdere versie gezien met multi-color LED's, gaf een enorm mooi effect en zeer vloeiende overgangen. Heb jij een idee wat zo'n ledstrip kost ?
Naam: Stynus
Datum: 04 Maart 2009, 17:40
Bericht:
Hoi,

De ledstrips die ik gebruik kosten 7,5€ per stuk. Met rgb leds kosten 8,50€

Mvg,
Stynus
Naam: michiel
Datum: 18 November 2009, 13:26
Bericht:
hoi stynus

wat is de funtie van de master/slave knop?

mvg
Naam: Stynus
Datum: 18 November 2009, 18:01
Bericht:
Hoi,

De master stuurt de slave modules aan. Zodat alles een zelfde kleur krijgt. Dus het wisselen tussen kleuren gebeurd door de master en zend dat dan door.

Mvg,
Stynus
Naam: michiel
Datum: 25 December 2009, 12:44
Bericht:
Hoi

Dus elke slave heeft zon controller nodig ?

Mvg
Naam: Stynus
Datum: 25 December 2009, 18:34
Bericht:
Hoi,

Klopt.

Mvg,
Stynus
Naam: mathias
Datum: 24 September 2010, 15:58
Bericht:
hoi

ik heb een paar onduidelijkheden over het schema bv hoeveel voedingen je nodig hebt om dit te realiseren .
graag hierbij hulp ;)
Naam: Stynus
Datum: 25 September 2010, 13:10
Bericht:
Hoi,

Op de in connector komt een 12V DC voeding (en eventueel een signaal van een andere module).

De 5V die in het schema staat wordt op het printje zelf opgewekt uit de 12V m.b.v. van de ams1117-5V

Mvg,
Stynus
Naam: mathias
Datum: 26 Oktober 2010, 19:57
Bericht:
hallo

Ik ben een beetje uitleg aan het zoeken over die pic16F628.
Weet je toevallig welke in- of uitgangen je gebruikt
vb. RA0 of AN0)want bij elke pin staan er minstens 2.
Ik weet dat dit niet van belang is voor het maken van het schema, maar ik gebruik dit gewoon voor extra informatie.
Naam: Stynus
Datum: 01 November 2010, 16:54
Bericht:
Hoi,

RA0 = PortA.0
AN0 = Analoge ingang 0

De functie van die pin is in de software te bepalen.

Ik raad je aan de cursus op picbasic.nl even door te nemen. Dan zal je al veel duidelijk worden op microcontroller vlak.

Mvg,
Stynus
Naam: mathias
Datum: 03 November 2010, 10:30
Bericht:
bedankt, nu begrijp ik er al veel meer van
Naam: mathias
Datum: 19 November 2010, 14:27
Bericht:
zou je eventueel het onderste deel van de schakeling kunnen weglaten en dit verplaatsen door een voeding van 5V maar kheb nog een paar onduidlijkheden wat er toekomt in de connectoren beneden
Naam: Stynus
Datum: 19 November 2010, 16:40
Bericht:
Hoi,

Ja dat kan, maar dan kan het ook zijn dat je last gaat hebben van spanningsval over de kabels. Daarom maak ik die 5V lokaal.

Mvg,
Stynus
Naam: mathias
Datum: 10 December 2010, 14:04
Bericht:
zou u eventueel mij kunnen zeggen waar ik de AMS1117 vind want bij de lokale elektronica handelaar kan het niet bestellen
grg reactie ;)
Naam: Stynus
Datum: 10 December 2010, 18:01
Bericht:
Hoi,

Farnell heeft die. Je elektronica winkel kan daar normaal wel voor je bestellen als je er achter vraagt denk ik.

Zorg wel dat je de juiste versie hebt. Want ze zijn er voor 3,3 en 5V.

Mvg,
Stynus
Naam: michiel 2
Datum: 26 December 2010, 12:19
Bericht:
zou het kunnen dat het schema niet helemaal overeenkomt met de printplaat?
in het schema gebruik je meer condensatoren en met andere waarden dan op de printplaat. die op het schema zijn 470uF en 100nF en die op de printplaat zijn er van 100uF.

mvg
Naam: Stynus
Datum: 26 December 2010, 13:19
Bericht:
Hoi,

Dan ben ik vergeten het schema aan te passen. Het plan was oorspronkelijk om 470µF te gebruiken maar die paste niet op de print.

Mvg,
Stynus
Naam: mathias
Datum: 28 Januari 2011, 15:47
Bericht:
hoi,

Hoeveel RGB-leds kan je aansturen met 1 sturingsmodule ?
Naam: Stynus
Datum: 28 Januari 2011, 16:20
Bericht:
Hoi,

Tot 1A per kleur.

Mvg,
Stynus
Naam: mathias
Datum: 04 Mei 2011, 18:39
Bericht:
Hoi,

Ik heb enkele vraagjes over de programmeercode.

- In het begin van de programmeercode staat er dat je gebruik maakt van een 16F627A en in je schema's gebruik je een 16F628
- je hebt ook een instructie "TRISA.3 = 1" zou dat kunnen dat dit "TRISB.3 = 1" moet zijn
Zou dit invloed kunnen hebben op de werking van de moodlight?

En moet de 12V aangesloten worden aan de leds en "klem 9 van de ULN2003" en al de condensatoren behalve "C4"?

alvast bedankt
Naam: Stynus
Datum: 04 Mei 2011, 21:35
Bericht:
Hoi,

Beide zijn mogelijk. Ik meen dat er een 627 op zit omdat ik alleen die in smd had liggen. Maar de 627 is gewoon een 628 met wat minder geheugen.

Dat tris staat idd fout. Maar picbasic stelt ze zelf ook nog eens in dus zo heel erg is het niet.

Over het schema: Dat komt niet helemaal overeen met de pcb. Ik zal de eagle file's ook even toevoegen. Daar staat alles wel juist in.

Mvg,
stynus
Naam: mathias
Datum: 05 Mei 2011, 19:55
Bericht:
hoi,

Bedankt voor de eagle file's maar ik heb nog nooit met dit programma gewerkt en ik begrijp niet goed wat het symbool "J1" is en waarmee die klemmen zijn aangesloten.

Mvg, Mathias
Naam: Stynus
Datum: 07 Mei 2011, 12:58
Bericht:
Hoi,

Waar zie jij J1 in het schema staan?

Mvg,
Stynus
Naam: mathias
Datum: 07 Mei 2011, 13:14
Bericht:
Hoi,

In dat bestand stond er bij mij een symbool (een rechthoek met 20 klemmen) met de naam J1.

Maar ondertussen heb ik al gevonden wat er "fout" was, op het schema dat je eerst gegeven had stonden de voeding voor de PIC niet op aangeduid.

Mvg, Mathias
Naam: Lenn
Datum: 15 Mei 2011, 17:47
Bericht:
Hoi,

ik zie dat je de leds van bij "ledsee" zijn en het is daar wel erg goedkoop. en aangezien ik al een tijdje opzoek ben naar een led strip voor boven mijn bureau leek de 14.4w led strip warm wit me wel iets. alleen welke verzendmethode heb jij gebruikt want ik kom er niet uit. ik kan kiezen tussen de onderstaande waaronder er eentje blijkbaar niet mogelijk is

DHL / TNT / UPS / FedEx (3-5 business days) Recommended for big orders! Zone_5_6 0,5kg EUR 24,00

EMS (Express Mail Service) (5-8 business days) NOT AVAILABLE AT THIS MOMENT! EMS Zone_5_6 0,5kg EUR 14,00
Registered Airmail (7-15 business days) World 0,1kg EUR 3,00

Mvg,
Lenn
Naam: Stynus
Datum: 15 Mei 2011, 17:51
Bericht:
Hoi,

Ik bestel niet rechtstreeks bij ledsee, maar via de acties op samenkopen.net. Daar is alles ook een beetje goedkoper.

Er loopt op dit moment 1 actie van (LEDs, componenten, meters, lampen, motors).

Mvg,
Stynus
Naam: Flenkie
Datum: 31 Oktober 2011, 13:20
Bericht:
Beste,

Ik ben net nieuw in de hele elektronica en wil beginnen met zo'n zelfde ambilight effect voor om mijn pc. Ik heb gezien dat u hier nogal goed in bent en wil vragen of u contact met mij kunt opnemen via email, om mij te helpen met dit kleine project. ik weet niet wat ik moet kopen of wat het beste is.. hoe het werkt

Alvast bedankt!
Frank
Naam*:
Email: (Wordt niet weergegeven)
  Waarschuw me als er reacties op deze pagina zijn
Tekst*:
 
Powered by Scriptsmill Comments Script

Top

© 2002-2012 Elektronica Stynus.
Valid XHTML 1.0