rgb controller

Vragen over licht effecten e.d.? Vraag het hier en wie weet gaat er wel een lampje branden.
19roland70
Berichten: 121
Lid geworden op: 30 september 2008, 00:00

rgb controller

Bericht door 19roland70 »

Ik ben bezig met een rgb controller waarmee ik de kleur instel met een potmeter, dit gaat goed. Nu wil ik ook de verzadiging gaan regelen met 2 pulsdrukkers mijn idee was om per puls van de schakelaar bij iedere kleur 10 optellen, maar dit werkt dus niet als dit gelukt is wil ik ook nog alles kunnen dimmen ,ook weer met 2 drukknoppen. kan iemand mij op weg helpen? [code] Device 16F688 Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, MCLRE_OFF ALL_DIGITAL=true Symbol IRCF0 = OSCCON.4 Symbol IRCF1 = OSCCON.5 Symbol IRCF2 = OSCCON.6 IRCF0 = 1 IRCF1 = 1 IRCF2 = 1 XTAL 8 Dim rood As byte Dim groen As byte Dim blauw As byte Dim kleur As float Dim pastel As byte dim waarde as word Symbol roodled= PORTA.0 Symbol groenled= porta.1 Symbol blauwled= porta.2 symbol meerpastel= porta.4 symbol minderpastel= porta.5 symbol sterkteplus= porta.3 symbol sterktemin= portc.3 'poorten rx en tx even tueel voor latere master slave functie ADCON0=%10001111 Declare ADIN_RES 10 Declare ADIN_TAD FRC Declare ADIN_STIME 500 hoofdmenu: waarde=ADIn 4 kleur = waarde / 4,8 Select Case kleur Case <84 groen=kleur rood=84-groen blauw=0 Case 85 To 169 kleur=kleur-85 blauw=kleur groen=84-blauw rood=0 Case 170 To 255 kleur=kleur-170 rood=kleur blauw=84-rood groen=0 End Select Pwm roodled,rood,1 Pwm groenled,groen,1 Pwm blauwled,blauw,1 GoTo hoofdmenu [/code]
Gebruikersavatar
Stynus
Site Admin
Berichten: 2878
Lid geworden op: 12 september 2008, 13:54
Locatie: Overpelt (België)
Contacteer:

Bericht door Stynus »

Ik denk niet dat je met pulsout leds kan dimmen. Daar heb je pwm voor nodig. Het kan zijn dat daardoor je programma niet doet wat je wil.
19roland70
Berichten: 121
Lid geworden op: 30 september 2008, 00:00

Bericht door 19roland70 »

@ stynus Ik heb het programma nu werkend met pwm ,dit werkt nu perfect . alleen de regeling met pastel en dimmen wil niet lukken, mijn opzet was bij de pastelregeling om bv rood =255 , groen = 0 ,blauw = 0 , meer richting wit te laten gaan dit moet dus nu worden bv : rood = 255 , groen = 180 , blauw = 180 en dit iedere keer in stappen van 10 met 2 drukknoppen. Bij het dimmen moet dan alle kleuren met 10 verkleinen Bij het feller laten branden alles met 10 verhogen tot de hoogste waarde 255 heeft bereikt Ik heb al veel dingen geprobeerd maar,of het programma blijft hangen ,of de led's knipperen als ik de drukkers in druk wat kan ik het beste doen?en waar moet ik de code tussenzetten?
Gebruikersavatar
Stynus
Site Admin
Berichten: 2878
Lid geworden op: 12 september 2008, 13:54
Locatie: Overpelt (België)
Contacteer:

Bericht door Stynus »

Als je pic blijft "hangen" dan zal die wel in een loop vast zitten :p. [quote]en waar moet ik de code tussenzetten?[/quote] Bedoel je hier op het forum? Tussen code tags. Boven het post venster staat een knop voor die tags in te voegen.
19roland70
Berichten: 121
Lid geworden op: 30 september 2008, 00:00

Bericht door 19roland70 »

Ik bedoel eigenlijk de code van de drukknoppen en waar ik die dan in het programma moet zetten.
Gebruikersavatar
Stynus
Site Admin
Berichten: 2878
Lid geworden op: 12 september 2008, 13:54
Locatie: Overpelt (België)
Contacteer:

Bericht door Stynus »

Ik denk dat voor zoiets het makkelijkste is om die aan portb te hangen en interrupt laten genereren. Dan kom je als er gedrukt wordt in een subroutine terecht. Daar verander je je waardes en je springt terug naar het programma waar je eerst was.
19roland70
Berichten: 121
Lid geworden op: 30 september 2008, 00:00

Bericht door 19roland70 »

zou je mij een beetje op weg kunnen helpen ,want als het programma terugspringt uit een sub dan staan de kleuren weer zoals daarvoor
Gebruikersavatar
Stynus
Site Admin
Berichten: 2878
Lid geworden op: 12 september 2008, 13:54
Locatie: Overpelt (België)
Contacteer:

Bericht door Stynus »

Post je programma is zoals het nu is.
19roland70
Berichten: 121
Lid geworden op: 30 september 2008, 00:00

Bericht door 19roland70 »

Hier is de code, ik heb het dimmen/sterkte nog even laten zitten [code] Device 16F688 Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, MCLRE_OFF ALL_DIGITAL=true Symbol IRCF0 = OSCCON.4 Symbol IRCF1 = OSCCON.5 Symbol IRCF2 = OSCCON.6 IRCF0 = 1 IRCF1 = 1 IRCF2 = 1 XTAL 8 Dim rood As byte Dim groen As byte Dim blauw As byte Dim kleur As float Dim pastel As byte dim sterkte as byte dim waarde as word dim kleurrood as byte dim kleurgroen as byte dim kleurblauw as byte Symbol roodled= PORTA.0 Symbol groenled= porta.1 Symbol blauwled= porta.2 symbol meerpastel= porta.4 'meer wit toevoegen dus bv. rood 255 ,groen 0 ,blauw 0 ,naar rood 255 ,groen 200 ,blauw 200 symbol minderpastel= porta.5 'in stappen van 10 *** met minder hetzelfde maar omgedraaid symbol sterkteplus= porta.3 'alle kleuren in stappen van 10 dimmen of sterker instellen symbol sterktemin= portc.3 ' 'poorten rx en tx even tueel voor latere master slave functie ADCON0=%10001111 Declare ADIN_RES 10 Declare ADIN_TAD FRC Declare ADIN_STIME 500 pastel = 0 sterkte = 0 goto hoofdmenu calckleur: if meerpastel then pastel = pastel + 10 if minderpastel then pastel = pastel - 10 kleurrood = rood + pastel + sterkte kleurgroen = groen + pastel + sterkte kleurblauw = blauw + pastel + sterkte return hoofdmenu: waarde=ADIn 4 kleur = waarde / 4,8 Select Case kleur Case <84 groen=kleur rood=84-groen blauw=0 Case 85 To 169 kleur=kleur-85 blauw=kleur groen=84-blauw rood=0 Case 170 To 255 kleur=kleur-170 rood=kleur blauw=84-rood groen=0 End Select gosub calckleur Pwm roodled,kleurrood,1 Pwm groenled,kleurgroen,1 Pwm blauwled,kleurblauw,1 GoTo hoofdmenu [/code]
Gebruikersavatar
Stynus
Site Admin
Berichten: 2878
Lid geworden op: 12 september 2008, 13:54
Locatie: Overpelt (België)
Contacteer:

Bericht door Stynus »

Probeer zo is: [code]Device 16F688 Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, MCLRE_OFF ALL_DIGITAL=true Symbol IRCF0 = OSCCON.4 Symbol IRCF1 = OSCCON.5 Symbol IRCF2 = OSCCON.6 IRCF0 = 1 IRCF1 = 1 IRCF2 = 1 XTAL 8 Dim rood As Byte Dim groen As Byte Dim blauw As Byte Dim kleur As Float Dim pastel As Byte Dim sterkte As Byte Dim waarde As Word Dim kleurrood As Byte Dim kleurgroen As Byte Dim kleurblauw As Byte Symbol roodled= PORTA.0 Symbol groenled= PORTA.1 Symbol blauwled= PORTA.2 Symbol meerpastel= PORTA.4 'meer wit toevoegen dus bv. rood 255 ,groen 0 ,blauw 0 ,naar rood 255 ,groen 200 ,blauw 200 Dim pastelplusbit As Bit Symbol minderpastel= PORTA.5 'in stappen van 10 *** met minder hetzelfde maar omgedraaid Dim pastelminbit As Bit Symbol sterkteplus= PORTA.3 'alle kleuren in stappen van 10 dimmen of sterker instellen Symbol sterktemin= PORTC.3 ' 'poorten rx en tx even tueel voor latere master slave functie ADCON0=%10001111 Declare ADIN_RES 10 Declare ADIN_TAD FRC Declare ADIN_STIME 500 pastel = 0 sterkte = 0 GoTo hoofdmenu calckleur: If meerpastel Then If pastelplusbit = 0 Then pastel = pastel + 10 pastelplusbit = 1 Else pastelplusbit = 0 EndIf If minderpastel Then If pastelminbit = 0 Then pastel = pastel - 10 pastelminbit = 1 Else pastelminbit = 0 EndIf kleurrood = rood + pastel + sterkte kleurgroen = groen + pastel + sterkte kleurblauw = blauw + pastel + sterkte Return hoofdmenu: waarde=ADIn 4 kleur = waarde / 4,8 Select Case kleur Case < 84 groen=kleur rood=84-groen blauw=0 Case 85 To 169 kleur=kleur-85 blauw=kleur groen=84-blauw rood=0 Case 170 To 255 kleur=kleur-170 rood=kleur blauw=84-rood groen=0 End Select GoSub calckleur PWM roodled,kleurrood,1 PWM groenled,kleurgroen,1 PWM blauwled,kleurblauw,1 GoTo hoofdmenu End[/code]
Plaats reactie