Inhoudsopgave:

Interactieve Twister: 9 stappen
Interactieve Twister: 9 stappen

Video: Interactieve Twister: 9 stappen

Video: Interactieve Twister: 9 stappen
Video: 9 stappen om zelf een geniale pubquiz te maken | De Andere Quiz 2024, November
Anonim
Interactieve Twister
Interactieve Twister

Twister is een klassiek familiespel en ik weet zeker dat iedereen die deze Instructable leest het minstens één keer heeft gespeeld. Het belangrijkste doel van het spel is om als laatste man op het canvas te staan en ervoor te zorgen dat je niet omvalt tijdens het uitvoeren van de taken die door het spinnewiel zijn gekozen.

Het probleem is met elk spel van Twister, er moet altijd iemand zijn die aan het wiel draait. Zou het niet een stuk eenvoudiger zijn als dit allemaal automatisch zou kunnen gebeuren? Zo kan iedereen plezier hebben tijdens het spelen van een spelletje Twister.

Ik studeer NMCT aan Howest Kortrijk. Dit is of afstudeerproject in ons eerste jaar.

In deze Instructable ga ik uitleggen hoe ik een interactief Twister-spel heb gemaakt en hoe je het thuis kunt bouwen.

Stap 1: Vereisten

  • Raspberry Pi
  • T-schoenmaker
  • Twister-spel
  • Stappenmotor
  • DRV8825
  • LDR
  • Condensatoren (100 µf en 10 µf)
  • Kabels in verschillende kleuren
  • Aluminiumfolie
  • Ductape
  • Elektrische tape
  • Dubbelzijdige tape
  • klittenband
  • Houten planken
  • broodbord
  • Perfboard (optioneel)
  • Vrouwelijke headers (optioneel)
  • 5V-adapter voor Raspberry Pi
  • 12V-adapter
  • 2x MCP23017

Stap 2: De Twister Mat

De Twister Mat
De Twister Mat
De Twister Mat
De Twister Mat
De Twister Mat
De Twister Mat

Vereisten:

  • Rol schuim
  • Twistermat
  • Ductape
  • Aluminiumfolie
  • kabels
  • markeerstift

Instructies:

Het maken van de mat is eigenlijk het meeste werk van het hele project. Het is niet zo moeilijk om in elkaar te zetten, maar je moet gewoon alles 24 keer herhalen. Er komt ook veel ductape bij kijken… en ik meen echt veel.

Om te beginnen moet je 2 stukken foam snijden die even groot zijn als de Twister mat. Ik gebruikte schuim dat wordt gebruikt om onder parketvloeren te leggen. Het probleem daarmee is dat het schuim vrij dun is. Als je schuim kunt vinden dat minstens 2 mm is, zou dat een stuk beter zijn en heb je minder werk om het canvas te maken, maar daar kom ik later op terug.

Op de eerste laag van het schuim moet je vier strepen aluminiumfolie over het hele schuim leggen. Deze zullen worden gebruikt als aarde voor het circuit. De beste manier om het te bevestigen is door ductape over de zijkanten te plakken.

Leg de volgende laag schuim op de Twister mat. Teken een cirkel voor elke stip op de Twister-mat. je moet een gat maken in elke cirkel op het schuim. De diameter van het gat is niet zo belangrijk, zorg er wel voor dat het niet te groot of te klein is.

Elk gaatje moet worden afgedekt met aluminiumfolie. Nogmaals, de beste manier om het te bevestigen is ductape. Zorg ervoor dat er geen pleisters geleiden om storingen te voorkomen.

Dit is niet nodig, maar als het gebruikte schuim minder dan 2 mm is, moet je op elk gaatje een soort verhoging aanbrengen om te voorkomen dat de folie aan elkaar plakt. Ik gebruikte kleine schuimpinda's die bij de verpakking van mijn componenten werden geleverd.

De laatste stap is de bekabeling. Elke patch heeft 1 kabel nodig. De grondpatches kunnen met elkaar en later met de Raspberry pi worden verbonden.

Stap 3: De behuizing

De huisvesting
De huisvesting

Vereisten

  • houten planken
  • nagels
  • oefening
  • klittenband

Instructies:

afmetingen: 32cm x 30cm x 8cm

De behuizing is slechts een eenvoudig doosontwerp. Je kunt de planken zien die je nodig hebt in een van de bovenstaande afbeeldingen. Het hout werd gezaagd in mijn plaatselijke huisdepot. Ik ben niet zo handig en voor een klein prijsje zagen ze het hout en je weet al dat het de juiste afmetingen gaat krijgen.

Om de doos in elkaar te zetten heb ik gewoon de schroeven aan de onderkant geboord. De lengte van de schroeven is niet zo belangrijk. Zorg er wel voor dat ze langer zijn dan de hoogte van de grondplaat en dat ze niet te lang zijn zodat ze het hout kunnen breken.

In het midden van het deksel moet je een klein gaatje boren om de motor te passen. Dat gat moet 5 mm in diameter zijn.

De hoes wordt met klittenband aan de doos bevestigd.

Het laatste wat je hoeft te doen is aan de voorkant een gat maken voor de kabels van de Twister mat en een gat aan de achterkant voor de twee adapters. De diameter van de gaten is afhankelijk van de adapters die je gebruikt en hoe je de kabels van je mat kunt managen. Ik heb een rechthoekig gat gemaakt voor de matkabels omdat ik geen boormachine had die groot genoeg was.

Stap 4: Elektronica

Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica

Vereisten:

  • DRV8825
  • Stappenmotor
  • 2 x mcp23017
  • LDR
  • 100 µF elektrolytische condensator
  • 10 µF elektrolytische condensator
  • Raspberry Pi T-schoenmaker
  • 24 x 330 ohm weerstand

Instructies:

De snelste manier om alle elektronica te maken, is door het op een breadboard te plaatsen. Het probleem is dat er niets is opgelost en dat sommige componenten los kunnen raken. De beste manier om te gaan is om alles op een pcb te solderen. Ik heb de stappenmotor driver en de sensor gesoldeerd. Ik heb de twee IO-uitbreidingen op het breadboard gelaten omdat er veel kabels naar de MCP23017's gaan. Hoe je dit doet is geheel aan jou.

Enkele kanttekeningen bij de bedrading:

De stappenmotor heeft twee spoelparen. De draden van de paren op mijn motor waar:

zwart, groen -> paar 1

rood, blauw -> paar 2

Zorg ervoor dat de ingangen van de Twister-mat in de juiste volgorde zijn aangesloten. De eerste punt is verbonden met GPA0 van de eerste MCP23017. De laatste punt is verbonden met GPA7 van de tweede MCP23017. Zorg ervoor dat er aan het einde van elke ingang een weerstand zit.

Stap 5: Raspberry PI-configuratie

Raspberry PI-configuratie
Raspberry PI-configuratie

Vereisten:

  • Framboos PI
  • SD-kaart
  • ethernetkabel

Instructies:

Download de Raspian-afbeelding van https://www.raspberrypi.org/downloads/raspbian/. Zorg ervoor dat u de desktopversie downloadt. Brand de afbeelding op je SD-kaart met een brandprogramma. Ik heb etcher gebruikt, maar voel je vrij om een ander programma te gebruiken. Voordat je de SD-kaart in je Pi stopt, moet je met de pc het een en ander veranderen. Open het opstartsegment van de SD-kaart. Je kunt het andere segment niet openen omdat Windows Linux niet herkent. Open in de boot het bestand: "cmdline.txt". Voeg aan het einde van het bestand de regel toe: "ip=169.2554.10.1". Dit is een APIPA-adres en wordt gebruikt om de pc en de Pi via ssh te verbinden. Zodra dat is gebeurd, maakt u een bestand op het opstartsegment dat "ssh" wordt genoemd, maar zonder extensie. Op die manier zal de Pi ssh inschakelen bij het opstarten.

Verbind je Pi met je pc met een ethernetkabel. U moet een programma downloaden om te ssh naar de Pi. Ik heb plamuur gebruikt. Open putty en vul het APIPA-adres (169.254.10.1) in en open de verbinding. Wanneer de PI voor het eerst opstart, kan het even duren voordat alles klaar is. Wacht even en probeer het later opnieuw als u geen verbinding kunt maken. Zodra u verbinding kunt maken, logt u in met de standaardgegevens: gebruikersnaam: pi, wachtwoord: raspberry.

Als je wilt, kun je je eigen gebruiker maken. Nu moet je een internetverbinding instellen. Als je wifi wilt gebruiken, kun je deze twee commando's gebruiken:

wpa_passphrase 'SSID' 'Wachtwoord' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i wlan0 opnieuw configureren

Installeer deze programma's met de volgende opdrachten:

sudo apt update && sudo apt install -y python3-venv

python3 -m pip install --upgrade pip setuptools wiel python3 -m venv --system-site-packages env

python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio

Stap 6: Database

Vereisten:

  • Raspberry Pi
  • Ethernetkabel

De applicatie gebruikt een database om informatie over de gebruikers, de winnaars en de spelgegevens op te slaan.

Stel eerst het db-programma in op je Raspberry Pi. Je hebt Mysql al op de Pi geïnstalleerd in de vorige stap.

Gebruik "sudo systemctl status mysql" om te testen of Mysql werkt.

Mysql starten:

sudo mariadb

Voer vervolgens de volgende code in:

MAAK GEBRUIKER 'project_name-admin'@'localhost' GEDENTIFICEERD DOOR 'adminpassword';

MAAK DATABASE projectnaam;

VERLENEN ALLE PRIVILEGES OP project_name.* aan 'project1-admin'@'localhost' MET SUBSIDIEOPTIE;

SPOEL VOORRECHTEN;

Wijzig de naam van het project naar wens.

Om de database te vullen, voert u het sql-bestand uit dat later in deze instructable met de code wordt gegeven.

Stap 7: Coderen

Je vindt de code op de volgende link:

Kloon gewoon de repository op je Raspberry Pi.

Zorg ervoor dat het is gekloond in de directe map onder uw gebruiker.

Stap 8: Geautomatiseerde service

Het programma moet starten wanneer je Raspberry Pi opstart. Om dat te doen moet je een service van je applicatie maken.

De configuratie is al gemaakt en bevindt zich in de map conf.

Het enige dat u hoeft te doen om de service bij het opstarten te laten starten, is deze regel code:

sudo systemctl inschakelen project1.service

Het enige probleem is dat de pi wacht tot een netwerk is opgestart. Je kunt dit uitschakelen, maar het heeft geen effect omdat we het APIPA-adres in de cmdline.txt gebruiken. Als je wilt dat hij sneller opstart, moet je het APIPA-adres verwijderen, maar dan moet je je Pi aansluiten op een monitor als je geen verbinding kunt maken met wifi als er een probleem is.

Stap 9: Instructies

instructies
instructies

Typ het ip-adres van de Pi in je browser. Vergeet niet:5000 toe te voegen aan het ip-adres.

Wanneer je op de site aankomt, start je gewoon een nieuw spel en vul je de spelersnamen in.

Zodra het spel start, moet je 5 seconden wachten totdat de twee apparaten zijn verbonden.

Bedek de lichtsensor om de aanwijzer te laten draaien. Nadat de aanwijzer stopt met draaien, verschijnt de zet op het scherm.

Als iemand valt of zijn taak niet kan uitvoeren, verliest hij en moet je zijn naam op het scherm duwen.

De laatste speler die overeind blijft, wint.

Je kunt iedereen zien die in het verleden heeft gewonnen in de geschiedenisgrafiek.

Veel plezier!

Aanbevolen: