vrijdag 6 april 2018

Gratis opwaarderen voor Zyptar

Zyptar werkt als je er geld in gooit, maar ik wilde ook de mogelijkheid hebben om cliënten gratis te laten spelen met Zyptar.

Dit is Zyptar
Daarom heb ik een extra knopje gemaakt waarmee je het ingeworpen bedrag kunt opwaarderen.

Het opwaardeerknopje
Het bestaat uit een huis en een knopje op een print. Het huis heb ik getekend en 3D geprint.

Huis voor het knopje

Bevestigingsclip

Technisch gezien doet dit knopje precies hetzelfde als de muntproever: hij maakt zijn uitgang even +5V en daar regeert de microprocessor op.

Het probleem is alleen dat het tellen van de inworp via een interrupt werkt. Dit betekent dat de microprocessor het opwaarderen "er even tussendoor" doet. Dus terwijl Zyptar spreekt of andere dingen doet wordt dat heel even onderbroken om die opwaardering te doen. De microprosessor controleert daarvoor heel vaak per seconde of er misschien een interrupt plaats vond. En daar gaat het mis want een eenvoudige schakelaar laat de spanning niet éénmaal stijgen. De schakelaar "dendert", dat wil zeggen dat hij meerdere pulsen afgeeft in het traject van 0 naar 5V. En daardoor telt de microprocessor meerdere opwaarderingen terwijl er maar één de bedoeling is.

Daar is wel waar wat aan te doen, zowel softwarematig als hardwarematig.

Ik heb er voor gekozen een schakeling met een geïnverteerde Schmidt trigger te maken. Op YouTube staan verschillende video's hoe dat te doen. De Engelse term is debouncing.


Daarvoor moest ik eerst die Schmidt trigger kopen en dat duurde nogal lang. Maar dat is alleen omdat ik te knieperig was om hem bij Conrad te bestellen. Ik heb hem bij AliExpress besteld. Dus hij was na weken wachten eindelijk binnen en daarna heb ik hem met wat andere onderdeeltjes op de print gesoldeerd.

Printje met de onderdelen
En nu werkt het als het hoort!