Relais
Sommige speelgoedjes werken op 12V AC en anderen werken op DC. Dus moeten we aan een gepaste schakeling denken die de gevraagde stroom van alle speelgoedjes respecteert. Eerst dachten we om mosfets te gebruiken, maar we zijn snel van dit idee afgestapt gezien deze onderdelen enkel op DC kunnen werken. Dit zou een probleem geven met de speeltjes die op AC werken. Het tweede waar aan we dachten waren optocouplers. Deze gingen de schakeling te ingewikkeld maken en zochten dus naar een gepast alternatief:
We hebben uiteindelijk gekozen voor een relais. Dit onderdeel is zeer eenvoudig (in vergelijking met bovengenoemde) en zeer praktisch.
Op volgend schema zien we dat poorten 6 en 2 verbonden zijn met een spoel. Poorten 14 en 8 zijn verbonden met een schakelaar. Wanneer er 5V over de spoel staat, wordt er een magnetisch veld gecreëerd. Dit zorgt ervoor dat de schakelaar tussen poorten 14 en 8 sluit. Als het speelgoedje in werking is, is het circuit dus gesloten. Wanneer er 0V komt van de voeding zal het speeltje niet werken, ongeacht of deze ingeschakeld is of niet.
Hieronder zie je een schema van de relais die we gebruikt hebben. Merk op dat in de relais een diode parallel geplaatst is met de spoel. Dit is aangebracht ter bescherming van de elektrische componenten die verbonden zijn met de relais.
Schakelaar
Het eerste waar we aan hebben gedacht, waren de schakelaars. Op de website van de arduino zien we het schema van de schakelaar.
Waaraan we als eerst dachten, was het verbinden van de 5V-pin van de arduino met de schakelaar die we kregen van de technieker, Jean Paul. De output van de schakelaar verbonden wij met de grond (via een weerstand) en met de input van de arduino (kanaal 2). We gebruikten een weerstand van 10kOhm. Op de arduino was er een LED dat we via deze schakelaar konden controleren. We moeten hier opmerken dat we de arduino eerst hebben geprogrammeerd voor deze actie. Het lukte ons dit te doen, maar naar het einde toe merkten we dat we een pull-up weerstand bij moesten plaatsen bij de arduino. Dit is te wijten aan het floatend karakter van bepaalde pinnen. Dit komt tot uiting doordat de arduino dacht dat de schakelaar ingedrukt was, terwijl dit niet het geval is. Met onderstaand nieuw schema hebben we dit probleem opgelost.
Voeding
De gebruikte speeltjes werken op 12V AC, 3V en 5V. We gebruiken ook de spanningsomzetter van de discobal. Deze omzetter zet 230V AC om in 12V AC. We kunnen deze spanning rechtstreeks gebruiken als de spanning van de speeltjes die werken op 12V AC. We gebruiken dan een bruggelijkrichter om DC te krijgen. We hebben nu 14V. Deze spanning wordt dan omgezet naar 12V en 5V. Hier verbinden we de speeltjes die werken op 5V met de microcontroller. Tenslotte wordt deze spanning omgezet naar 3V. Deze spanning kan gebruikt worden als voeding van de speeltjes die werken op 12V.
Microcontroller
De controle van de speeltjes gebeurt via een simpel programma. Het programma is opgebouwd voornamelijk uit 2 delen. In het eerste deel worden de poorten op de juiste waarden gezet en worden de pinnen gedefinieerd als outputs of inputs. In het tweede deel wordt het controle mechanisme geimplementeerd.
Het eerste deel spreekt voor zich. Alles wordt geïnitialiseerd naar de juiste waarden zodat het programma op een correcte manier werkt.
Het tweede deel is iets langer in code, en daarom zullen we over dit deel iets meer uitleg geven.
Allereerst, het controle mechanisme bestaat een grote oneindige while-lus, waar de waardes van de schakelaars de hele tijd worden gecontroleerd. In deze grote while-lus vinden we kleinere lussen. Deze lussen checken het volgende:
- Waarden van de links/rechts – knop
- Waarden van de drukknop, wat in dit geval een voetpedaal is
Eenmaal deze waardes gecontroleerd zijn, geven we de poorten, in dit geval de speeltjes, een “1”. Aangezien we de keuze moeten hebben om de speeltjes af te zetten, moet er een extra controle worden gedaan. Dit wordt gedaan door een andere while-lus die het volgende controleert:
- “Toestand” van de verschillende speeltjes
Als de “toestand” uit wordt gezet (“0”), dan mogen de speeltjes niet geactiveerd worden. Als de “toestand” aan wordt gezet (“1”), dan MOETEN de speeltjes geactiveerd worden via de voetpedaal.
Een snelle kijk op de code wordt hieronder gegeven:
Algemeen beeld
We zullen nu alle aparte onderdelen samenbrengen. De elektronische delen dat voor de omzetting zorgen zullen op een PCB geplaatst worden en alle andere elementen dat voor de sturing van de speeltjes zorgen op een andere PCB. Hieronder vindt u een schema dat voor de sturing van de speeltjes zorgt.
De voeding zal binnenkomen in de doos met de verschillende knoppen en zal vandaar gaan naar een kleine PCB waar de voeding voor de hoofd-PCB en de speeltjes wordt gegenereerd. Er zijn 2 kabels die de kleine PCB binnenkomen. De spanning op deze kabels is 12V AC. 12 kabels komen uit de PCB. Een grond, 4 3V kabels voor de 3V-speeltjes, 3 5V kabels voor de 5V-speeltjes én voor de voeding van de hoofd-PCB en 4 kabels met een spanning van 12V AC. Deze kabels gaan naar de hoofd-PCB. Daar controleert een microcontroller de relais die de speeltjes kan activeren. Aan de output van de hoofd-PCB zijn er 8 paren van 2 kabels. Elke paar kabels zal naar een speeltje moeten gaan. De kabels worden dan samengenomen om naar de speeltjes gebracht te worden.