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:
![]()
![]()
De ledstrip in werking (gedimt):
(Foto van http://vdbeke.gnimsch.net/lichtorgel.htm)
Een tekening van hoe het er ongeveer moet gaan uitzien:
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:
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:
De pcb layout:
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
Vandaag heb ik de code afgewerkt en de printen in de behuizing ingebouwd:
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 '**************************************************************** EndDe hex file van deze code: link.
You-tube filmpje van de moodlight in werking:
(Sorry voor de slechte beeldkwaliteit)
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:
De stickers als pdf: Link.
Vandaag heb ik melkglas (van plastic :p) binnen gekregen en dat erop gemonteerd:
Met de moodlight in werking:
Het plexiglas komt van bij Daemen kunststoffen.
Datum: 10 Juni 2008, 23:42
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 ^_^
Datum: 13 Juni 2008, 12:40
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
Datum: 13 Juni 2008, 13:09
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
Datum: 14 Juni 2008, 12:49
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
Datum: 11 Juli 2008, 14:02
dat melkglas kan je ook makkelijk zelf maken, normaal plexiglas even opschuren met staalwol ;-)
Datum: 11 Juli 2008, 14:51
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
Datum: 20 Juli 2008, 00:19
nog mooier is om inbus schroefjes te gebruiken met een kop van 4MM lang ;)
Datum: 30 September 2008, 18:12
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.
Datum: 30 September 2008, 18:16
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
Datum: 02 December 2008, 10:35
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
Datum: 02 December 2008, 14:47
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
Datum: 09 December 2008, 10:31
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
Datum: 09 December 2008, 18:21
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
Datum: 09 December 2008, 19:53
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.
Datum: 09 December 2008, 20:02
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
Datum: 04 Maart 2009, 16:34
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 ?
Datum: 04 Maart 2009, 17:40
Hoi,
De ledstrips die ik gebruik kosten 7,5€ per stuk. Met rgb leds kosten 8,50€
Mvg,
Stynus
Datum: 18 November 2009, 13:26
hoi stynus
wat is de funtie van de master/slave knop?
mvg
Datum: 18 November 2009, 18:01
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
Datum: 25 December 2009, 12:44
Hoi
Dus elke slave heeft zon controller nodig ?
Mvg
Datum: 25 December 2009, 18:34
Hoi,
Klopt.
Mvg,
Stynus


















