Advertentie | |
|
![]() |
|
Enkele maanden geleden heb ik hier al een beetje mee geholpen: http://forum.scholieren.com/showthread.php?t=1697106
In dat topic kun je dus al een beetje inspiratie gaan opdoen. Let wel: mijn oplossing daar is allesbehalve flexibel (je kan dus niet instellen hoe lang elke cyclus duurt per licht, ik heb ze daar dan ook gewoon symmetrisch genomen voor zover mogelijk; maar ik dacht wel met een wachtcyclus (rood/rood) tussen, zoals bij echte lichten ook het geval is). De oplossing daar is dus iets uitgebreider dan wat jij moet doen. In zekere zin kan je jouw opgave dan ook iets simpeler oplossen als je tenminste geen beperkingen hebt op je aantal gebruikte poorten. De manier om dat aan te pakken is als volgt: probeer die tabel al eens aan te vullen. Dus vul eens in bij welke toestanden je bepaalde lichten aan/uit moeten (per toestand is dat maar een lamp per verkeerslicht). Verder geef je elke toestand een nummertje (gewoon 0, 1, 2 en 3), de reset mag je even open laten. Zoals je merkt, heb je daarvoor maar twee bits/variabelen nodig. Dat is dus de reden dat je niets met de reset moet doen: als je van je teller gewoon de laatste twee bits gebruikt, zal je teller gewoon steeds hetzelfde patroon herhalen (en blijven voorttellen, maar voor de schakeling eigenlijk gewoon in een cirkeltje blijven werken, waarvoor je anders expliciet moet gaan resetten). In het binair staat je reset om het mooi te zeggen dus op 1002 (ofwel op 4 decimaal), maar daar ben je niet verplicht die ook daadwerkelijk te verbinden. Daarna kun je uitgaan van je twee bits als ingang; ik ga ze hier even V en S noemen (respectievelijk om het verkeerslicht en de status (groen/oranje) te kiezen). Het rood gebruik ik zoals in dat andere topic (dus rood = NOT(groen OR oranje) per verkeerslicht). Als uitgang hebben we zes signalen (2 verkeerslichten met elk 3 lampen), door dat rood = NOT(groen OR oranje), kunnen we elk verkeerslicht aansturen met 2 signalen, zodat we als tussenliggende uitgang slechts 4 uitgangen nodig hebben (Ao, Ag, Bo, Bg, waarbij die kleine o en g voor oranje en groen staan). Als ingang, hebben we dus V en S; en impliciet dus ook NOT(V) en NOT(S) (teken dat ook al maar op je schema). Hiermee gaan we een decoder aanmaken, met de tussenliggende ingangssignalen V, S, NOT(V) en NOT(S). Ik ga je eerste status al voor je implementeren: je hebt n = 0, dus in het binair 00, en daarmee komt overeen rood/groen, ofwel in je laatste kolommen (0 = uit, 1 = aan): 1 0 0 0 0 1 Dat rode licht van A valt makkelijk aan te sturen: Ao = 0 en Ag = 0 moet je bekomen. Dat gaan we dus eigenlijk laten liggen tot het laatste (als je alles goed doet, zal je merken, dat je aan de rode lichten geen werk meer zal hebben). Dat groene licht, is een andere zaak: je hebt V =0, S = 0 (dat wilt zeggen NOT(V) = 1 en NOT(S) = 1, en je wilt daaruit Bg = 1 halen). Als je in de tabel kijkt, zie je ook dat dat de enige positie is waar je Bg moet aansturen, dat wilt zeggen dat een OR-poort het groene licht te vaak zou doen branden, en als je kijkt met een AND-poort, zie je dat die wel zou doen wat je zou willen, namelijk met volgende schakeling: Ag = NOT(V) AND NOT(S). Als je deze redenering herhaalt voor alle toestanden, krijg je een schakeling die doet wat je wilt. Let wel: je gaat niet altijd twee keer NOT moeten gebruiken, maar je gaat wel elke keer een AND moeten gebruiken. Daarna kan je vanuit dat ruwe schema eventueel nog gaan vereenvoudigen; wat je schakeling zal doen is perfect, maar hoogstwaarschijnlijk kan je het ook realiseren met minder componenten. Als je booleanse rekenregels wat kent, kan je normaal hier of daar wel enkele componenten wegwerken (ik heb hier niet het ganse schema opgesteld, maar een decoder zoals ik je hier heb laten bouwen, is een aanpak die naar ik vermoed meer componenten zal gebruiken dan de meest optimale oplossing). edit: ik heb het even uitgetekend, en de oplossing waar ik je heen stuur, is te verwezenlijken met 10 componenten. En de meest optimale lijkt mij op het eerste zicht 6 componenten (4 AND-poorten in dezelfde decoder, en 2 NOT-poorten in dezelfde decoder; de extra 4 componenten zijn dus mijn constructie rood = NOT(groen OR oranje); door de rode lichten aan je V/NOT(V) te hangen).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Laatst gewijzigd op 11-11-2008 om 19:32. |
![]() |
||
Citaat:
Anyhow, ik heb even uit het hoofd mijn oplossing opgeschreven in Dia; het is een beetje slordig (en ik vrees dat ik S en V geswitch heb). Als je niet vertrouwd bent met die symbolen: zo'n driehoek met een bolletje achter is een NOT-poort; dat rechthoek-achtige symbool is een AND-poort. Dit is de meest optimale oplossing die ik zo direct zie (eventueel zou het kunnen zijn dat S en V omgewisseld zijn, of dat ik mijn kabels naar de lampen verkeerd om heb gezet; maar dat zou je zelf makkelijk moeten kunnen nakijken).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
|
![]() |
||
![]() |
Citaat:
![]() ![]() 'Can not connect 2 input in drivers' ofzoiets. |
![]() |
||
![]() |
Citaat:
Ik denk trouwens dat ik joun schakeling verkeerd begrijp ![]() |
![]() |
|
Je moet de figuur enerzijds een kwartslag draaien (maar dat kon ik niet in Dia, dus heb ik gewoon daarvan de figuur gebruikt).
Let er in het deel met de rechte kabels op, dat niet elk kruispunt een verbinding voorstelt. Normaal zou je wel zelf moeten kunnen uitmaken welke al dan niet verbonden zijn: met uitzondering van S als input, heb ik de kabels steeds naar eenzelfde rechte gebracht (en van die rechte moet je zonder veel moeite kunnen zien welke input daarbij hoort). MMLogic ken ik niet, maar ik durf met 99% zekerheid zeggen dat deze schakeling geen fouten in schakelen bevat (bv. een NOT met twee ingangen, kan niet). Wat de correctheid van de oplossing betreft, kan ik wel zeggen dat ik niet helemaal zeker ben, maar dat je er dan zelf hoogstwaarschijnlijk wel uitkomt door enkele kabeltjes te verwisselen (sowieso raad ik niet aan een schakeling af te geven als je de werking ervan niet begrijpt). Maar ik geef wel toe dat ik dergelijke opdracht 6 jaar geleden ook niet zou gevonden hebben (toen ik ook op school logische schakelingen moest ineen steken; nu nog steeds, maar gaat het al eerder een niveau hoger dan dergelijk verkeerslicht).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
|
Advertentie |
|
![]() |
|
|
![]() |
||||
Forum | Topic | Reacties | Laatste bericht | |
Verkeer & Vervoer |
Rijles- en Rijbewijstopic #14 Verwijderd | 502 | 15-06-2009 23:12 | |
Huiswerkvragen: Exacte vakken |
[PO] systeembord hulp? sandurrtje | 3 | 11-06-2008 14:41 | |
Verkeer & Vervoer |
Sirenes vs. door rood rijden (verkeerslicht) coopergirl | 36 | 04-03-2008 20:20 | |
De Kantine |
Knip en plak maar weer! hasseltboy | 500 | 23-03-2006 18:31 | |
Algemene schoolzaken |
Hoe beinvloeden d bussen verkeerslicht?? mc_hamza | 6 | 13-10-2005 21:01 |