Loading...
 

OM32, OC32 and LichtOrgel


OC32 hoe verlichting in huisje aan/uit zetten.

Netherlands

Kan iemand mij misschien helpen aan een voorbeeld definitie voor een OC32/N waarmee ik verlichting in huisjes aan en uit kan laten gaan ?
Wat ik in gedachten heb is om met 3 a 4 pinnen (uitgangen) van een OC32/N verlichting op verschillende plaatsen in huisjes afwisselend te laten banden, maar er ook momenten zijn dat alles aan is en er momneten zijn dat er deels iets aan is.
En dan de definitie aan/uit zetten met een schakelaar in het programma Koploper. Het laatste is voor mij niet het probleem maar hoe ik het aan de OC32 moet vertellen om de lampje te laten branden wel. Ik ben er al een tijd mee bezig maar krijg het niet werkend. Hopelijk kunnen jullie mij hiermee helpen.

Mvg. Gerard Woerdenbach.

Netherlands

In bijgaand bestand heb ik een voorbeeld geplaatst. Op de pinnen 0 en 1 heb ik een lamp aangesloten en op pin 8 een contact. Bij pin 8 heb ik in beide aspecten een extra opdracht gezet.
De -8 verwijst naar pin 0. De Multibit 2 omdat het de pinnen 0 en 1 betreft (2 naast elkaar). Bij het aanzetten komt dan 3 te staan. Want bij meerdere lampen naast elkaar zijn hun afzonderlijke waarden steeds een macht van 2: 1, 2, 4, 8, 16 enz. Als beide lampen aan moeten dan is dat: 1 + 2 = 3.

Ik hoop dat het zo werkt.

Netherlands

Beste Martin,
Bedankt voor het bestandje, ik zal je het resultaat ervan laten weten.
Alleen zal het een paar dagen gaan duren, rede ik er momenteel even niet aan kan werken.

mvg. Gerard Woerdenbach.

Netherlands

Beste Martin,
Ik heb je voorbeeld werkend, alleen gaan alle lampjes gelijk aan of alle tegelijk uit.
Bedoeling is uiteindelijk dat lampjes onafhankelijk van elkaar een tijd aan/uit gaan.
Wat ik heb geprobeerd is bij een Pin een opdracht gezet dat deze een bepaalde tijd aan of uit kan gaan.
Als ik alleen de betreffende Pin test werkt dit, maar het werkt niet als ik je gehele voorbeeld mee laat draaien, dan gaat alles aan of uit.
Ik ga nog even verder puzzelen met je voorbeeld, wel geleerd nu hoe ik div. pinnen gelijk kan laten werken.

mvg.
Gerard.


Netherlands

Hallo Gerard,

Wat je constateert is correct. Multibit zet meerdere uitgangen in een vast patroon. Feitelijk is deze instructie bedoeld voor het besturen van seinen. Het staat uiteraard iedereen vrij hem te misbruiken voor wat dan ook, maar je gaat het beoogde effect in dit geval niet bereiken.

Eerlijk gezegd ben je ook niet erg duidelijk: "Bedoeling is uiteindelijk dat lampjes onafhankelijk van elkaar een tijd aan/uit gaan"

Tja, dat is nogal wat variatie. Met de OC32 kun je nagenoeg alles bereiken, maar dan zul je zelf wel moeten bedenken wat het gedrag als functie van de tijd moet zijn. Je kun het best gebruik maken van de random functies die de OC32 biedt.

Meerdere pinnen tegelijk schakelen kan met een Event. Dat is echter niet het meest eenvoudige om te doorgronden, dus ik adviseer je in eerste instantie dat iets minder elegant te doen.

Stel dat je de pinnen 4, 5, 6 en 7 wilt gebruiken.
De trigger (het Koploper commando) stuurt bijvoorbeeld Aspect 1 van Pin 4 aan.
Kies bij Pin voor 4 Aspects, anders heb je erg weinig instructies.
Onder instructie #0 van Aspect 1 Pin 4 schrijf je:
"SetAspect1, PO=1, Time/Base=1/0"
Dit betekent: De volgende Pin (=5) moet (ook) Aspect 1 uitvoeren over 20ms. Ja, dat moet eigenlijk 0s zijn, maar die 20ms ga je niet zien en als je echt 0 wilt moet je het Event mechanisme toepassen. Dan kan later altijd nog.

Instructie #1 kan zijn: "SetLevel & WtRnd 0, 0, 24, 2"
Deze instructie zet de uitgang op niveau 0 (uit), dat geeft een gedefinieerde toestand, en wacht vervolgens een willekeurige tijd tussen 0 en ca 30s.

Instructie #2 is dan bv: "SetRnd & WtRnd 0, 25, 24, 2". Nadat de willekeurige wachttijd van de vorige instructie is verstreken zet deze instructie de uitgang aan met een kans van 25/32 (= 78%) en wacht vervolgens weer een willekeurige tijd tussen 0 en 30s.
En zo bouw je door tot je een effect hebt dat je aan staat.

Als je wilt dat een wachttijd niet 0 kan zijn gebruik je geen WtRnd maar de Wait variant (dan wacht je een vaste, dus minimale tijd) en schrijf je als volgende instructie "Wait Random" (doe niks, maar wacht een willekeurige tijd).
Als je wilt dat een uitgang 100% zeker aan gaat gebruik je geen SetRnd, maar SetLevel 31 (100%)
Als je wilt dat een uitgang 100% zeker uit gaat gebruik je SetRnd 0 (kans van 0%) of SetLevel 0 (niveau van 0%)

Ben je tevreden, dan kun je de hele definitie kopiëren (klik op de tekst "Aspect") en plakken in de volgende Pin, en de volgende, etc. Het enige dat je dan nog moet doen is Instructie #0 weghalen bij de laatste Pin (7). Klik op de "0" in de kolom onder "#" en kies "Delete Step"

Het klinkt in eerste instantie wellicht complex, maar het is gewoon een kwestie van bij elke stap logisch denken "wat wil ik dat er nu gebeurt?" en gewoon proberen, kijken en aanpassen totdat het naar je zin is. En let op bij het kijken: Test de Aspect meerdere keren want de random functies zorgen ervoor dat het bij elke volgende test weer anders is.

Mvg,
Leon

Netherlands

Beste Leon,
Ik heb je voorbeeld werkend, het doet precies zoals ik het zou willen dat het zo werkt.
Alleen nog een beetje spelen met de tijden maar dat komt helemaal goed.

Rest mij alleen nog de vraag; hoe krijg ik de pinnen 4,5,6,7 in één keer uit.
Bedoeling is om met één schakelaar in Koploper de vier pinnen aan en ook weer uit te zetten.
Ik heb in Koploper nu een schakelaar aangemaakt op pin 4, al ik deze aanzet gaan al de vier pinnen werken.
Maar om bij pin 4 onder Aspect 0 alle pinnen uit te zetten met de zelfde schakellaar wil bij mij maar niet goed lukken.
Ik heb het al met de OFF functie, Level 0 functie , SetAspect(.)functies geprobeerd.
Iets doe ik niet goed, meer onwetendheid van mijzelf.

Hopelijk kun je mij hierin ook mee helpen.

Mvg.
Gerard Woerdenbach.

Netherlands
Multibit 3 met P.O. = 1 en Patt. = 0.
Netherlands

Dezelfde constructie als bij Aspect1
Alleen gebruik je nu Aspect0
De eerste instructie is dan SetAspect0, PO=1, Time/Base=1/0, behalve bij de laatste Pin
De volgende instructie SetLevel&Wait, Level=0, Time/Base=0/0
De onderliggende truc is dat je de timers moet stoppen. Dat gaat niet met een multibit.
Misschien heb je het al gedaan, maar lees anders ook eens de handleiding OC32 Advanced Configuration.

Netherlands

Martin en Leon,
Bedankt voor jullie snelle reactie en raadgevingen.

Leon,
Het werkt nu goed.
Ik had het wel werkend maar na enige tijd ging alles weer vrolijk opnieuw werken.
Maar zoals je al vermelde, de truc is om de timmer te stoppen, en daar had ik dus niet aan gedacht.
Weer wat geleerd, ik ben er blij mee.

Als alles goed naar mijn zin werkt wil ik tzt. het bestandje wel plaatsen voor andere die er misschien ook wat aan hebben.

Mvg.
Gerard Woerdenbach

Netherlands

Mooi dat het werkt.
Overigens is (vind ik) het fraaier om bij uitschakelen dat ook met een "programma" te doen. Dus minimaal als eerste instructie een Wait Random en vervolgens uit. Dat laatste mag dan zonder timer, want die is dan toch al gestopt.
Immers in het echt gaan ook nooit alle lampjes tegelijk uit.

Netherlands

Leon,
Weer bedankt voor het idee, ga het er zeker inbouwen.

Ben nu bezig om de pinnen op verschillende tijden te zetten.
Zodat het geheel nog meer een afwisselend patroon krijgt.

In de huisje uit mijn vorige modelbaan zitten op verschillende plaatsen lampjes die ik met schakelaars aan en uit kon zetten.
Nu in mijn nieuwe baan ben ik vanaf eind vorig jaar ook bezig met MCC.
Auto's, servo's, verkeerslichten, en een autogarage met een laslichtje werken al.
Dus nu de verlichting in de huizen.
Ik moet nog is kijken op hoeveel verschillend plaatsen ik destijds lampjes heb ingebouwd, alles is met stekkers door te verbinden zodat het centraal uitkomt.
Weet dan ook hoeveel pinnen er nodig zijn, en als de stroom te hoog wordt kan ik altijd nog relaistjes gebruiken.

Als het weer buiten zo blijft als de laatste dagen schiet ik lekker op. haha

mvg.
Gerard.


Netherlands

Beste Leon,
Bedankt voor je uitleg, wordt weer een nieuwe uitdaging maar zeker leuk om te doen.
Ik laat het je weten.

Goed weekend en mvg.
Gerard.


 
British English (en-uk)Dutch (Nederlands, nl)German (Deutsch, de)