GrimmsBox: bouw je eigen storytelling-apparaat - Ajarnpa
GrimmsBox: bouw je eigen storytelling-apparaat - Ajarnpa
Anonim
GrimmsBox: bouw je eigen verhalenverteller
GrimmsBox: bouw je eigen verhalenverteller

Deze instructable laat je zien hoe je je eigen verhalendoos kunt bouwen. Kies gerust je eigen avontuur.

De zogenaamde "GrimmsBox" was een project van studenten van de Hochschule der Medien Stuttgart, Duitsland. We gebruiken een gewone bonprinter om het eerste deel van een verhaal af te drukken. Aan het einde van het deel moet een beslissing worden genomen. Met behulp van knoppen kun je kiezen hoe het verhaal verder gaat. We gebruiken een Raspberry Pi om de software uit te voeren.

Twee van de Boxen zullen zeer binnenkort in gebruik worden genomen. De openbare bibliotheek in Mannheim organiseert workshops met kinderen. De kinderen kunnen hun eigen verhalen maken en ze kunnen hun verhalen beleven met behulp van GrimmsBox. Het belangrijkste doel van dergelijke workshops is het bevorderen van lees- en schrijfvaardigheid. De verhalenboxen zullen ook worden meegenomen naar evenementen, zodat kinderen van klas 3 tot 6 kennismaken met een meeslepende leeservaring.

Stap 1: Hoe maak je de zaak voor GrimmsBox?

Hoe de zaak voor GrimmsBox te maken
Hoe de zaak voor GrimmsBox te maken

Benodigde materialen:

  • 1x 6 mm multiplex plaat (1200x600x6mm)
  • 1x 4 mm multiplex plaat (1200x600x4mm)
  • houtlijm
  • benodigde apparaten: lasersnijder, computer

De bestanden die door GrimmsBox worden gebruikt, zijn beschikbaar als gratis download. De bestanden zijn svg- en dxf-bestanden van de afzonderlijke onderdelen van GrimmsBox. Dit is enerzijds de onderbouw waar de Raspberry Pi zijn plek vindt, dan het boek met een meebuigende scharnier en een zelf ontworpen boekenstandaard.

De 6 mm multiplex plaat wordt gebruikt voor de onderbouw en de boekenstandaard. Het boek is gesneden uit een plaat van 4 mm multiplex. De dikkere plaat zou te dik zijn om het boek te maken. Het buigscharnier werkt alleen met 3-4 mm multiplex panelen. Anders zou het breken.

De dxf-bestanden zijn de juiste keuze voor degenen die niets meer willen veranderen. Deze zijn klaar voor gebruik op de lasercutter.

Maar voor wie de doos toch een eigen touch wil geven, kunnen SVG-bestanden in de doos gebruiken. Deze kunnen naar wens worden gewijzigd. Om dit te doen, moet het bestand worden geopend in een programma (bijv. Inkscape). Met deze programma's kunt u de afzonderlijke componenten bewerken. Als je iets hebt gewijzigd (bijvoorbeeld de grootte van de gaten voor de knoppen of de pull-around) moet je het SVG-bestand opslaan als een dxf-bestand.

Het dxf-bestand moet bij de lasercutter worden geopend. Zodra het bestand op de pc wordt weergegeven, moet worden gekozen welke lijnen moeten worden gesneden en welke moeten worden gegraveerd. De letters op de zijkant van de doos waren gegraveerd op de doos van Grimm en de letters op het boek waren zwak gesneden. Afhankelijk van wat je lekkerder vindt, kun je het een of het ander gebruiken. De buitenste lijnen moeten natuurlijk allemaal worden doorgesneden. Het gebruik van de lasersnijder kan echter afhankelijk zijn van het model van de lasersnijder en kan verschillen.

Stap 2: Hoe de knoppen voor GrimmsBox te monteren

Hoe de knoppen voor GrimmsBox te monteren
Hoe de knoppen voor GrimmsBox te monteren
Hoe de knoppen voor GrimmsBox te monteren
Hoe de knoppen voor GrimmsBox te monteren
Hoe de knoppen voor GrimmsBox te monteren
Hoe de knoppen voor GrimmsBox te monteren
Hoe de knoppen voor GrimmsBox te monteren
Hoe de knoppen voor GrimmsBox te monteren

Benodigde materialen:

  • 6 normaal open kortstondige drukknoppen, b.v. knoppen voor arcade-gaming
  • 8 jumperdraden met minstens één vrouwelijk uiteinde, die van ons waren ongeveer 40 cm lang
  • wat vlecht
  • krimpkous de doos die voor uw project wordt gebruikt, in ons geval de lasergesneden bovenklep en de twee zijdeksels met de extra knoppen
  • soldeer en een soldeerbout
  • multimeter
  • draadknipper
  • draad stripper
  • aansteker of een heteluchtpistool
  1. In onze code hebben we interne weerstanden gebruikt, dus we hoeven maar twee dingen te doen: eerst, sluit een vrouwelijke jumperdraad aan op elke knop die naar de respectieve GPIO-pin leidt en ten tweede, verbind de knoppen met elkaar, die dan worden geleid naar aarde via een andere vrouwelijke jumperdraad. We hebben de afsluitknop en de herstartprogrammaknop met elkaar verbonden en hebben er één aardpen voor gebruikt. De vier knoppen die door de kies-je-eigen-avontuur-engine zullen worden gebruikt, waren ook met elkaar verbonden en deelden één grondpen.
  2. Als uw knoppen meer dan twee pinnen hebben, gebruik dan een multimeter om erachter te komen welke geschikt zijn om de GPIO-pin en aarde te verbinden. Met de geluidsfunctie zou je alleen een geluid moeten horen als je twee pinnen aanraakt en er op dat moment op de knop wordt gedrukt. U kunt een continuïteitstest doen, een handleiding hoe u dat moet doen is beschikbaar op ifixit:
  3. Neem een knop en steek deze in het doosgedeelte. Neem een van de jumperdraden en knip een uiteinde af, zodat je een jumperdraad met één vrouwelijk uiteinde overhoudt. Gebruik de draadstripper om ongeveer 5 millimeter van de isolatie af te snijden. Draai de losse draden een beetje zodat er geen enkele draad uitsteekt. Gebruik een klein blikje om een mooie coating voor de draden te maken. Als solderen nieuw voor u is, is er een geweldig, kort stripboek dat u leert hoe u moet solderen. Het heet Solderen is eenvoudig en de PDF is beschikbaar in meerdere talen op https://mightyohm.com/blog/2011/04/soldering-is-e… Meet en snijd de krimpkous, die u gaat gebruiken om de deel waar de knop en de jumperdraad aan elkaar worden gesoldeerd. Trek de krimpkous over de jumperdraad. Soldeer de jumperdraad aan een van de pinnen op de knop.
  4. Herhaal de laatste stap voor alle knoppen. Zorg er altijd voor dat u de krimpkous over de verbindingsdraad trekt voordat u gaat solderen, omdat deze mogelijk niet over de connector past.
  5. Nu verbindt u de afsluitknop en de herstartknop. We gebruikten geëmailleerde koperdraad, maar omdat het een beetje lastig bleek te zijn, zou ik willen voorstellen om een normale vlecht te gebruiken. Knip van enkele centimeters vlechtwerk. Demonteer het zoals eerder met behulp van de draadstripper, maar deze keer aan beide uiteinden. Soldeer vervolgens het ene uiteinde aan de pin van de afsluit- of herstartknop. Knip nogmaals een stukje van de krimpkous af en trek deze over de vlecht.
  6. Vervolgens verbind je de vlecht met de vrije pin van de andere knop. Maar je sluit hier ook nog een jumperdraad aan, die naar massa leidt. Bereid de jumperdraad voor zoals u deed met de anderen, inclusief de krimpkous. Buig nu de vlecht zodat u deze kunt solderen aan de vrije pin die van de knop naar het vrije uiteinde is gericht. Soldeer vervolgens ook de jumperdraad aan de pin. Het solderen van de vlecht die van de ene kant komt en de jumperdraad van de andere kant zorgt ervoor dat je de krimpkous over het gesoldeerde gedeelte kunt trekken.
  7. Verbind de vier knoppen die worden gebruikt voor de game-engine door kleine bruggen te bouwen. Zorg er altijd voor dat u de krimpkous over de vlecht trekt voordat u gaat solderen. (En zorg er ook voor dat uw knoppen zich in de juiste positie bevinden voordat u ze met elkaar verbindt). Bij het aansluiten van de laatste knop moet je, net als bij de andere twee knoppen, de vlecht van onderaf aansluiten en ook een jumperdraad aansluiten.
  8. Met de geluidsfunctie van de multimeter kun je controleren of alles goed is aangesloten. Ten slotte moet u controleren of alle krimpkousen op de juiste plek zitten. Dan kun je een aansteker of een heteluchtpistool gebruiken om het daadwerkelijk te laten krimpen. Nu ben je klaar met het monteren van de knoppen!

Stap 3: De software instellen

De software instellen
De software instellen

Je zal nodig hebben:

  • een Raspberry Pi met Raspbian geïnstalleerd (je zou ook andere distributies moeten kunnen gebruiken, maar je moet enkele commando's aanpassen) - we gebruikten een pakket bestaande uit een Raspberry Pi 3 Model B+ met een vooraf geïnstalleerde SD-kaart, een voeding en een hoesje, andere modellen zouden ook moeten werken
  • een bonprinter - houd er rekening mee dat u de printer op de Raspberry Pi moet aansluiten, dus aansluiten via USB is misschien het gemakkelijkst
  • jouw knoppen
  1. Sluit je Raspberry Pi aan op een scherm, muis en toetsenbord. U moet het uiteindelijk ook op de printer en de knoppen aansluiten. De knoppen moeten worden aangesloten op specifieke GPIO-pinnen. Als je andere pinnen wilt gebruiken dan wij deden, kun je dat in de code wijzigen. Voor nu zal deze lijst je vertellen welke knop op welke pin moet worden aangesloten. Ik gebruik BCM-nummering die ook in de code wordt gebruikt. Er is een grafiek op https://www.raspberrypi.org/documentation/usage/g… die laat zien welke pin welk nummer heeft.

    • afsluitknop – 17• herstartknop – 27 • eerste knop gebruikt voor opties in het verhaal/avontuur – 5 • tweede knop – 6 • derde knop – 13 • vierde knop – 19 • de twee jumperdraden aangesloten op de pinnen die alle de knoppen moeten naar de grond gaan - in de kaart gemarkeerd met zwarte stippen

    Start de Raspberry Pi door de stekker in het stopcontact te steken. Verbind de Raspberry Pi met internet via een LAN-kabel of draadloos netwerk.

  2. Het eerste dat u moet doen bij het installeren van de benodigde software op de raspberry pi, is om de reeds geïnstalleerde software bij te werken. Dit doen we met behulp van de terminal. Als dit de eerste keer is dat u een terminal gebruikt, helpt de Raspberry Pi-documentatie (https://www.raspberrypi.org/documentation/usage/terminal/) u zich te verplaatsen en de omgeving te leren kennen. Open een terminal en typ sudo apt update en druk op enter. Hiermee wordt de lijst met beschikbare pakketten en versies bijgewerkt. Typ daarna sudo apt upgrade. Hiermee worden daadwerkelijk nieuwere versies van de reeds geïnstalleerde pakketten geïnstalleerd.
  3. Het installeren van het printerstuurprogramma is de volgende stap. Printerbeheer in Linux kan met CUPS. Mogelijk moet u het eerst op uw Raspberry Pi installeren. Typ in een terminal sudo apt install cups. De volgende stap is om de printerstuurprogramma's op te halen. Misschien heb je geluk en is het opgenomen in de officiële repositories. Gebruik in een terminal apt search [naam printer of fabrikant] om ernaar te zoeken. De meeste printers zullen waarschijnlijk niet in de repositories worden opgenomen, dus u moet deze ergens anders vandaan halen. Mogelijk zit er een cd bij de printer. Op de website van de fabrikant moeten de meest recente stuurprogramma's beschikbaar zijn om te downloaden. Sommige fabrikanten hebben verschillende websites voor verschillende regio's van de wereld en helaas bevatten ze niet allemaal dezelfde informatie. Als je een Star-printer hebt, lijkt starasia.com de website te zijn met de nieuwste downloadbare stuurprogramma's. Controleer of u printers voor Linux downloadt. We gebruikten de CUPS-stuurprogramma's, niet de JavaPOS-stuurprogramma's.
  4. Vervolgens moet u de stuurprogramma's installeren. Volg de instructies van de fabrikant. Mogelijk is er een softwarehandleiding voor Linux beschikbaar, wat van pas kan komen. Volg de instructies voor Debian of Ubuntu - er zijn veel verschillende Linux-distributies en ze zijn niet allemaal hetzelfde, dus controleer eerst of je de juiste instructies bij de hand hebt. In onze handleiding begonnen de instructies zonder te vermelden dat ze voor op Red Hat gebaseerde systemen zijn en pas op de volgende pagina leerden we dat de instructies voor op Debian gebaseerde systemen anders zijn. De softwarehandleiding moet ook aangeven welke pakketten moeten worden geïnstalleerd, we moesten bijvoorbeeld "libcups2-dev" installeren. U zult waarschijnlijk enkele commando's moeten sudoen. Om u te behoeden voor het herhalen van onze fout: als u de stuurprogramma's uit de broncode moet compileren met make - make install moet u sudoed. Alleen al uit de foutmelding konden we niet achterhalen wat er mis ging.
  5. Indien niet opgenomen in uw installatiehandleiding, moet u de printer instellen in CUPS. Om dat te doen, navigeer je naar localhost:631 in een browser. Klik op “Beheer” en vervolgens op “Printer toevoegen” om de printer in te stellen. Er is ook een helpsectie. U moet zich als gebruiker authenticeren, zie https://help.ubuntu.com/lts/serverguide/cups.html… (sectie “Webinterface”) voor details. Kies het geschikte ppd en papierformaat. U moet het ook de standaardprinter maken, omdat de software naar de standaardprinter zal afdrukken. Om dat te doen, navigeert u naar de pagina van de printer en selecteert u in het menu "Beheer" "Instellen als serverstandaard". Vanuit het menu “Onderhoud” kunt u “Testpagina afdrukken” selecteren voor een eerste controle of alles correct is ingesteld.
  6. Een ander pakket dat je nodig hebt is python3-yaml, omdat de verhalen worden opgeslagen in yaml-bestanden en het pakket nodig is zodat de python-code ze kan interpreteren. Gebruik sudo apt install python3-yaml om het te installeren.
  7. Nu zullen we eindelijk beginnen met de installatie van de software die de verhalen daadwerkelijk afdrukt en luistert naar invoer op de GPIO-pinnen die op de knoppen zijn aangesloten. Open een terminal en navigeer naar de homedirectory als u zich er nog niet in bevindt (dit kan worden bereikt door cd in te typen (voor wijzigingsdirectory)). Omdat onze code op GitHub staat, kun je deze naar je Raspberry Pi kopiëren met behulp van git clone https://github.com/fio-na/GrimmsKiste-1.git. Dit zal een lokale repository op je Raspberry Pi van onze code maken. Als je een foutmelding krijgt omdat git niet is geïnstalleerd, kun je het installeren door sudo apt install git in te typen.
  8. De code bevat enkele elementen die u mogelijk moet wijzigen. Allereerst worden de verhalen opgeslagen in yaml-bestanden die zich ook in de git-repository bevinden. Als het pad naar uw map niet "/home/pi/GrimmsKiste-1" is, moet u deze paden wijzigen om de verhalen te kunnen gebruiken. Ten tweede printen we met behulp van een subproces en geven we terminalcommando's over. Dit omvat enkele opties die worden gebruikt door onze printerdriver waarmee we kunnen bepalen of het papier na het afdrukken moet worden afgesneden of niet. Deze zullen waarschijnlijk niet voor u werken (tenzij u ook een Star TSP-printer gebruikt). U zult ook merken dat een aantal regels met slechts één punt worden afgedrukt. Dit hadden we nodig, omdat anders delen van het verhaal niet leesbaar waren omdat het papier nog in de printer zat. En tot slot gebruiken we in de functie format_text textwrap om stukjes tekst te krijgen die niet langer zijn dan 28 tekens, want dat is hoeveel er in één regel passen op ons 80 mm-papier. Pas deze dingen aan uw opstelling aan.
  9. Sommige bestanden moeten uitvoerbaar worden gemaakt. Om dit te doen, navigeer je naar de map met de code die je zojuist hebt gedownload. Dit zou cd ~/GrimmsKiste-1 moeten zijn als je meedeed. In Linux worden bestandspermissies afgehandeld door chmod. chmod a+x Engin.py en chmod a+x shutdown-pi-and-restart-program.py maken deze twee bestanden uitvoerbaar voor alle gebruikers.
  10. Nu kunnen we testen of de engine goed kan lopen en functioneert en of de printer en knoppen goed staan ingesteld. Typ./Engin.py om dat te doen.
  11. Als alles goed werkt, is de volgende stap het opzetten van twee systemd-services. Voor meer informatie kan de archlinux wiki-pagina (https://wiki.archlinux.org/index.php/Systemd) helpen of de man-pagina van systemd.service (https://www.freedesktop.org/software/systemd/ man/systemd.service.html). De eerste systemd-service controleert elke twee seconden of Engin.py momenteel actief is, en als dit niet het geval is, wordt het gestart. Daarom start het het programma ook wanneer de Raspberry Pi opstart. Open een bestand in de map systemd: sudo nano /etc/systemd/system/grimmskiste-restart.service Typ het volgende:
  12. [Eenheid]

    Description=herstart Grimms Kiste elke twee seconden als het mislukt [Service] ExecStart=/home/pi/GrimmsKiste-1/Engin.py Restart=altijd RestartSec=2 [Installeren] WantedBy=multi-user.target

  13. U moet het pad bij ExecStart bewerken als uw Engin.py zich ergens anders bevindt, b.v. als uw gebruikersnaam anders is. Om een bestand in nano op te slaan, moet je op ctrl + x drukken, dan y typen (voor ja) en op enter drukken.
  14. De andere service start het script shutdown-pi-and-restart-program.py, dat luistert naar de knop afsluiten en opnieuw opstarten. De herstartknop leest de proces-ID van Engin.py uit een bestand en doodt het, en vanwege de andere systemd-service herstart Engin.py na twee seconden. De uitschakelknop stuurt eenvoudig een opdracht naar de Raspberry Pi die nu moet worden afgesloten. Open een ander bestand met sudo nano /etc/systemd/system/grimmskiste.service en typ het volgende:
  15. [Eenheid]

    Description=Bedient twee hardwareknoppen om de Raspberry Pi af te sluiten of om het actieve programma Grimms Kiste [Service] ExecStart=/home/pi/GrimmsKiste-1/shutdown-pi-and-restart-program.py [Installeren] WantedBy= te beëindigen doel voor meerdere gebruikers

  16. Nogmaals, je moet het pad bij ExecStart bewerken, als het anders is op je Pi. En nogmaals, je kunt het bestand in nano opslaan met ctrl + x, dan y typen en op enter drukken.
  17. Nu heb je de eenheidsbestanden voor de systemd-services, maar ze zijn nog niet in gebruik. Telkens wanneer u eenheidsbestanden wijzigt, typt u sudo systemctl daemon-reload, dus doe dat nu. Start vervolgens beide services met sudo systemctl start grimmskiste.service en sudo systemctl start grimmskiste-restart.service Hiermee worden de services voorlopig gestart. Gebruik sudo systemctl status grimmskiste.service en sudo systemctl status grimmskiste-restart.service om te controleren of ze actief zijn. In de uitvoer zou er een regel moeten zijn die "actief (actief)" bevat, waarschijnlijk in de derde regel - als dat niet het geval is, is er iets misgegaan. Journalctl kan misschien helpen met meer foutopsporingsinformatie.
  18. Als u systemctl start gebruikt, worden de services voorlopig alleen gestart, maar als u wilt dat ze elke keer dat de Raspberry Pi opstart, starten, moet u ze inschakelen. Dit wordt gedaan door sudo systemctl enable grimmskiste.service en sudo systemctl enable grimmskiste-restart.service.
  19. Nu moet je alle knoppen testen of alles correct werkt. Test ook de afsluitknop en controleer of alles nog steeds goed werkt na het opnieuw opstarten. Als dat zo is, heb je het scherm, toetsenbord enz. niet nodig en zou je programma elke keer moeten starten als je de Raspberry Pi in het stopcontact steekt.

Stap 4: Inleiding tot YAML:

Inleiding tot YAML
Inleiding tot YAML
Inleiding tot YAML
Inleiding tot YAML
Inleiding tot YAML
Inleiding tot YAML
Inleiding tot YAML
Inleiding tot YAML

Belangrijk: De paarse velden mogen niet hernoemd worden. De namen van de afzonderlijke lijsten vormen hierop een uitzondering. Elk verhaal krijgt zijn eigen YAML-bestand met alle keuzes. De structuur is hetzelfde als voor het bestand start.yaml

Dubbele punt: Als u dubbele punten in de tekst wilt gebruiken, moet u een > na bericht maken. De tekst wordt dan één regel verlaagd en ingesprongen met twee lege regels.

Tabs: Gebruik geen tabs en zorg ervoor dat er geen tabs aan het einde van een bericht staan, dit zal ertoe leiden dat de parser het bestand niet kan lezen.

_default_question: De vraag die hier wordt ingevuld, wordt in behandeling genomen als er geen veld met „vraag” in de geschiedenis is ingevoerd.

_prompt: Dit veld wordt uitgeprint wanneer de lezer iets moet invoeren.

Beide velden mogen slechts één keer voorkomen in het start.yaml-bestand en mogen niet in andere bestanden worden gebruikt.

start: start is de naam van de eerste lijst van de startpagina. De namen mogen niet worden gedupliceerd in alle andere lijsten. In het sjabloon wordt dit veld de "Naam van het verhaal" genoemd en moet voor elk verhaal worden gewijzigd.

Bericht: Dit veld bevat het verhaal en moet op één regel staan. vraag: Wordt gebruikt wanneer een andere vraag dan de _default_question moet worden gebruikt. Als het veld niet wordt gebruikt, moet het worden verwijderd. (optioneel)

Acties: De lijst „acties“bevat de keuzemogelijkheden. Hier kunnen maximaal 4 opties worden ingevoerd. Label: Het label wordt als keuzemogelijkheid afgedrukt.

Volgende: Dit is de naam van de volgende selectieoptie die moet worden aangeroepen.

einde: Een lijst met alleen een bericht markeert het einde van een verhaal. De velden acties, label en volgende moeten worden verwijderd

Voeg meer verhalen toe:

Zoals hierboven uitgelegd, krijgt elk nieuw verhaal zijn eigen.yaml-bestand. Open hiervoor de map "Grimms Box" en kopieer het bestand template.yaml. Je kunt het ook vinden in onze GitHub-repo (https://github.com/fio-na/GrimmsKiste-1). Hernoem het bestand naar de titel van het verhaal en open het. In het nieuwe bestand voeg je de fabrikant en de datum toe en verander je het veld "De naam van het verhaal" in de titel (zie fig. 4: De naam van het verhaal is hier HP1). Vul dan bericht, vraag, label en volgende in. Zodra u dit hebt gedaan, kopieert u de gegevensstructuur (zoals weergegeven in Fig. 4) en plakt u deze onder de laatste volgende. De titel wordt nu veranderd in één toets die in "next" in het eerste deel wordt gebruikt (zoals weergegeven in fig. 4 HP1 zou dan HP2 of gang2 zijn, afhankelijk van welke optie het eerst wordt bewerkt). Dan worden bericht, vraag, label en volgende weer ingevuld. Doe dit voor alle keuzes/acties totdat het hele verhaal in het dossier zit. De laatste lijst hoeft aan alle kanten alleen een bericht te bevatten. Alle andere velden in de definitieve lijst moeten worden verwijderd. Daarna moet het bestand worden opgeslagen.

Werkwijze in het kort:

  1. Open de map Grimms Box
  2. Kopieer de Vorlage.yaml en hernoem deze naar de titel van het verhaal.
  3. Open dit nieuwe bestand.
  4. Gegevensstructuur kopiëren (fig. 4)
  5. Verander de naam van Geschiedenis in Selectienaam
  6. Typ de tekst van het verhaal in het berichtveld,
  7. Geschikt etiket plaatsen.
  8. Voer de naam van de volgende selectieoptie in volgende in.
  9. Herhaal stap 4 tot en met 9 totdat het verhaal klaar is.
  10. Aan alle uiteinden: De laatste lijst bevat alleen een bericht.
  11. Bewaar het bestand.

Voeg je nieuwe verhaal toe aan de startpagina:

start.yaml is de startpagina voor Grimm's box. Dit bestand moet echter eerst toegang hebben tot de nieuwe verhalen. Daarom moeten eerst de nieuwe verhalen aan dit bestand worden toegevoegd.

Per acties kun je vervolgens maar 4 labels maken, omdat Grimm's box maar 4 knoppen heeft om uit te kiezen. Als daarom, zoals in het voorbeeld start.yaml-bestand, 4 labels en volgende velden al zijn toegewezen, moet het 4e label "Meer verhalen" of "Meer" worden genoemd en een tweede gegevensstructuur (hier: S2; met bericht, vraag, acties, label, volgende) moeten worden toegevoegd en hernoemd. Vervolgens voeg je het nieuwe verhaal toe met label en volgende en noem je het passend. Ten slotte moet het worden opgeslagen.

Werkwijze in het kort:

In start.yaml:

  1. Open start.yaml
  2. Vul de velden correct in.
  3. De velden acties, label en volgende moeten gekopieerd en geplakt worden.
  4. Opslaan.

Onderhoud het hoofdbestand “Engin.py”:

Ten slotte moet het verhaal worden toegevoegd aan het hoofdbestand "Engin.py". Hiervoor hoeft alleen het bestandspad van het nieuwe YAML-bestand in de bestandenlijst te worden ingevoerd. Het pad staat tussen aanhalingstekens en wordt van de andere gescheiden door een komma.

Werkwijze in het kort:

  1. Open Engine.py.
  2. Kopieer het bestandspad van het YAML-bestand
  3. Kopieer pad naar bestandslijst
  4. Scheid de paden door komma's.

Stap 5: gebruiksaanwijzing

Gebruiksaanwijzing
Gebruiksaanwijzing

Om Grimm's Box te starten, sluit u de printer aan op de Raspberry Pi (er is een klein gaatje voor de kabels), steekt u de printer en de Raspberry Pi in het stopcontact en zet u de printer aan. De Raspberry Pi start vanzelf wanneer deze is aangesloten. Wacht tot hij is opgestart. De software zou vanzelf moeten starten.

Er is een knop om de Raspberry Pi af te sluiten en een knop om de verhaalsoftware opnieuw te starten, voor het geval iemand gewoon weggaat zonder het verhaal af te maken. Beide moeten minimaal 3 seconden ingedrukt worden. Dit is om ervoor te zorgen dat ze niet per ongeluk worden gepusht, maar u kunt de timing wijzigen in het bestand shutdown-pi-and-restart-program.py. Gebruik de uitschakelknop, gewoon loskoppelen is niet goed voor de Raspberry Pi. Met de huidige setup kun je niet zien of de Raspberry Pi aan of uit staat, dus je moet controleren of hij nog steeds reageert op andere knoppen als je zeker wilt zijn.

Het herstarten van het programma duurt even, omdat je de knop minimaal 3 seconden ingedrukt moet houden en het proces op de achtergrond slechts om de 2 seconden controleert of het programma actief is, dus het hele proces totdat het opnieuw wordt afgedrukt, kan 6 seconden duren. Geef het gewoon wat tijd. De herstartknop kan ook worden gebruikt als er zich een probleem voordoet. Misschien kan een herstart het oplossen. Als dit niet het geval is, kan het aansluiten van de Raspberry Pi op een scherm enz. en het uitvoeren van het programma vanaf de terminal foutmeldingen opleveren die u op internet kunt opzoeken. De knoppen die voor de verhalen worden gebruikt, moeten minimaal 0,1 seconde worden ingedrukt, maar het komt zelden voor dat iemand ze minder indrukt.

Als het verhaal klaar is, wordt het papier afgesneden en start het programma automatisch opnieuw. Maar om de lezer wat tijd te geven om het einde te lezen, wacht hij 3,5 seconden plus de 2 seconden die nodig zijn om te merken dat het programma niet actief is en herstart. De 3,5 seconden kunnen worden bewerkt in het bestand Engin.py.

Knoppen die minder dan 1,7 seconden na de laatste keer indrukken worden ingedrukt, worden niet geaccepteerd. We hebben dit geïmplementeerd omdat de Raspberry Pi een stuk sneller is dan de printer en als je op twee knoppen drukt, wordt er een actie gekozen voordat de lezer de opties kan zien.