Stap 5: Shutdown en Reset knoppen
Ik wilde de oorspronkelijke zaak knoppen zo goed werken. Aanvankelijk ik al over een fysieke knop maar vervolgens besloten tot zodat het een software shutdown commando in plaats daarvan de corrupte SD kaart probleem tot een minimum wordt beperkt. (In feite ik oorspronkelijk ontneemt het bord zodat de oorspronkelijke drukknop er nog steeds was en ik was van plan te gebruiken dat!)
Ten eerste de hardware. U kunt kleine kortstondige drukknoppen met een plastic schacht rond de plaatskrijgen. Degene die ik gebruikt heb voor jong en oud. Het voordeel van de kunststof schacht is dat u kunt afgesneden het naar de gewenste lengte. Voor de aan-uitknop is het oorspronkelijke vierkante gat net de juiste grootte voor de draad van de knop. Ik geschroefd in tot het punt waar is gewoon de knop origineel was ontroerend. Sommige silicon verzegeld het op zijn plaats. Voor de reset resetknop knop snijd ik de schacht van de originele Sega terug licht. Ik geboord vervolgens uit het gat in de schacht die de knop zit in iets zodat mijn knop zou schroef erin. Dit hield het stevig, dus ik het daarbij liet.
Voor de bedrading ging ik door een bos van iteraties om het juiste. Er zijn tal van gidsen over de kabellengte tot één knop, maar niet zo veel over meerdere knoppen. Tot slot vond ik Dit en en Dit en dit:
Van dat alles bekabeld ik de twee drukknoppen zoals wordt weergegeven in het diagram aan de bovenkant. Ik splitsen ook van belang de "GPIO" draad naar zowel de Arduino pin 16 en 10 evenals de pinnen van de Raspberry PI. Dit is dus ik de knoppen gebruiken kan om een toetsenbord pers via de Arduino zijn of doen iets rechtstreeks op de Raspberry Pi (bijv. een shutdown commando sturen)
Voor de software gebruikte ik de schets van hier. Opmerking alleen dat het diagram op die pagina is voor het 26-pin header. Een goed schema voor de 40 pin header die ik hier gevonden. Een aardige ding over deze schets is u effectief hebben vier knoppen, kort indrukken en lang indrukken voor zowel de kracht en reset knoppen.
Hier ziet u de toevoeging aan de Arduino schets in stap 4. Voor de Raspberry Pi is de Python code die ik gebruikt:
U zult moeten installeren van de module uinput waarschijnlijk wilt u toetsaanslagen te werken. Op dit punt heb ik het in de code, maar ik gebruik het niet als ik vond dat deze persen werden niet worden gedetecteerd door de emulators. Dus waarom ik heb de dual config van het gebruik van de arduino te doen die. Ik heb wel de mogelijkheid voor het geval ik aan iets in de toekomst denken.
Ook zul je waarschijnlijk de GPIO module installeren als beschreven hier.