Sommario:

Twister interattivo: 9 passaggi
Twister interattivo: 9 passaggi

Video: Twister interattivo: 9 passaggi

Video: Twister interattivo: 9 passaggi
Video: Сальваторе Паис и Стефон Александер: Казимир Гравитация 2024, Novembre
Anonim
Twister interattivo
Twister interattivo

Twister è un classico gioco per famiglie e sono sicuro che tutti coloro che leggono questo Instructable ci hanno giocato almeno una volta. L'obiettivo principale del gioco è essere l'ultimo uomo in piedi sulla tela e assicurarsi di non cadere durante l'esecuzione dei compiti scelti dalla ruota che gira.

Il problema è che in ogni partita di Twister ci deve sempre essere qualcuno che fa girare la ruota. Non sarebbe molto più semplice se tutto questo potesse accadere automaticamente? In questo modo tutti possono divertirsi giocando a Twister.

Sono uno studente di NMCT a Howest Kortrijk. Questo è il progetto finale nel nostro primo anno.

In questo Instructable spiegherò come ho realizzato un gioco Twister interattivo e come potresti costruirlo a casa.

Passaggio 1: requisiti

  • Lampone Pi
  • T-calzolaio
  • Gioco Twister
  • Motore passo-passo
  • DRV8825
  • LDR
  • Condensatori (100 µf e 10 µf)
  • Cavi in diversi colori
  • Foglio di alluminio
  • nastro adesivo
  • Nastro elettrico
  • Nastro biadesivo
  • Velcro
  • Tavole di legno
  • Breadbord
  • Perfboard (opzionale)
  • Intestazioni femminili (opzionale)
  • Adattatore 5V per Raspberry Pi
  • Adattatore 12V
  • 2 x MCP23017

Passaggio 2: il tappetino Twister

Il Twister Mat
Il Twister Mat
Il Twister Mat
Il Twister Mat
Il Twister Mat
Il Twister Mat

Requisiti:

  • Rotolo di schiuma
  • Tappetino Twister
  • nastro adesivo
  • Foglio di alluminio
  • cavi
  • marcatore

Istruzioni:

Realizzare il tappetino è in realtà la parte più impegnativa dell'intero progetto. Non è così difficile da montare, ma devi solo ripetere tutto 24 volte. Implica anche un sacco di ductape… e intendo davvero molto.

Per iniziare devi tagliare 2 pezzi di gommapiuma delle stesse dimensioni del tappetino Twister. Ho usato la schiuma che si usava per mettere sotto i pavimenti in parquet. Il problema è che la schiuma è piuttosto sottile. Se riesci a trovare una schiuma di almeno 2 mm, sarebbe molto meglio e avrai meno lavoro per realizzare la tela, ma ci tornerò più tardi.

Sul primo strato di schiuma devi mettere quattro strisce di foglio di alluminio attraverso l'intera schiuma. Questi saranno usati come massa per il circuito. Il modo migliore per attaccarlo è mettere il ductape sui lati.

Metti lo strato successivo di schiuma sopra il tappetino Twister. Disegna un cerchio per ogni punto sul tappetino Twister. devi fare un buco in ogni cerchio sulla schiuma. Il diametro del foro non è così importante, assicurati solo che non sia troppo grande o troppo piccolo.

Ogni foro deve essere coperto da un foglio di alluminio. Anche in questo caso il modo migliore per attaccarlo è ductape. Assicurati che nessuna patch conduca per evitare errori.

Questo non è necessario, ma se la schiuma utilizzata è inferiore a 2 mm, è necessario applicare una sorta di rialzo su ciascun foro per evitare che la pellicola si attacchi. Ho usato piccole noccioline di schiuma fornite con la confezione dei miei componenti.

L'ultimo passaggio è il cablaggio. Ogni patch necessita di 1 cavo. Le patch di terra possono essere collegate tra loro e successivamente con il Raspberry pi.

Passaggio 3: l'alloggiamento

L'alloggio
L'alloggio

Requisiti

  • tavole di legno
  • unghia
  • trapano
  • velcro

Istruzioni:

dimensioni: 32 cm x 30 cm x 8 cm

L'alloggiamento è solo un semplice design a scatola. Puoi vedere le tavole di cui hai bisogno in una delle immagini sopra. Il legno è stato segato nel mio deposito locale. Non sono molto pratico e per un piccolo prezzo hanno visto il legno e sai già che sarà delle dimensioni giuste.

Per assemblare la scatola ho solo forato le viti sul fondo. La lunghezza delle viti non è così importante. Assicurati solo che siano più lunghi dell'altezza della piastra di base e che non siano troppo lunghi in modo da rompere il legno.

Al centro del coperchio devi praticare un piccolo foro per adattare il motore. Quel foro deve avere un diametro di 5 mm.

Il coperchio è fissato alla scatola tramite velcro.

L'ultima cosa che devi fare è fare un foro nella parte anteriore per i cavi del tappetino Twister e un foro nella parte posteriore per i due adattatori. Il diametro dei fori dipende dagli adattatori che utilizzi e da come puoi gestire i cavi del tuo tappetino. Ho tagliato un foro rettangolare per i cavi del tappetino perché non avevo un trapano abbastanza grande.

Passaggio 4: elettronica

Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
Elettronica

Requisiti:

  • DRV8825
  • Motore passo-passo
  • 2 x mcp23017
  • LDR
  • Condensatore elettrolitico da 100 µF
  • Condensatore elettrolitico da 10 µF
  • Calzolaio a T Raspberry Pi
  • Resistore da 24 x 330 ohm

Istruzioni:

Il modo più veloce per realizzare tutta l'elettronica è metterla su una breadboard. Il problema è che non è stato risolto nulla e alcuni componenti possono allentarsi. Il modo migliore per procedere è saldare tutto su un pcb. Ho saldato il driver del motore passo-passo e il sensore. Ho lasciato i due espansori IO sulla breadboard perché molti cavi vanno agli MCP23017. Come farlo dipende interamente da te.

Alcune note a margine sul cablaggio:

Il motore passo-passo ha due coppie di bobine. I fili delle coppie sul mio motore dove:

nero, verde -> coppia 1

rosso, blu -> coppia 2

Assicurati che gli ingressi del tappetino Twister siano collegati nell'ordine corretto. Il primo punto è collegato a GPA0 del primo MCP23017. L'ultimo punto è collegato a GPA7 del secondo MCP23017. Assicurati che ci sia un resistore alla fine di ogni ingresso.

Passaggio 5: configurazione del Raspberry PI

Configurazione Raspberry PI
Configurazione Raspberry PI

Requisiti:

  • Lampone PI
  • Scheda SD
  • cavo Ethernet

Istruzioni:

Scarica l'immagine Raspian da https://www.raspberrypi.org/downloads/raspbian/. Assicurati di scaricare la versione desktop. Masterizza l'immagine sulla tua scheda SD utilizzando un programma di masterizzazione. Ho usato etch, ma sentiti libero di usare un altro programma. Prima di inserire la scheda SD nel tuo Pi, devi cambiare alcune cose con il PC. Apri il segmento di avvio della scheda SD. Non puoi aprire l'altro segmento perché Windows non riconosce Linux. Nel boot, apri il file: "cmdline.txt". Alla fine del file, aggiungi la riga: "ip=169.2554.10.1". Questo è un indirizzo APIPA e viene utilizzato per connettere il PC e il Pi tramite ssh. Una volta fatto, crea un file sul segmento di avvio chiamato "ssh" ma senza un'estensione. In questo modo il Pi abiliterà ssh all'avvio.

Collega il tuo Pi al PC con un cavo ethernet. Dovrai scaricare un programma per ssh sul Pi. Ho usato lo stucco. Apri mastice e inserisci l'indirizzo APIPA (169.254.10.1) e apri la connessione. Quando il PI si avvia per la prima volta, potrebbe volerci un po' di tempo prima che tutto sia pronto. Aspetta un attimo e riprova più tardi se non riesci a connetterti. Una volta connesso, accedi con le credenziali standard: username: pi, password: raspberry.

Se vuoi puoi creare il tuo utente. Ora devi configurare una connessione Internet. Se vuoi usare il wifi, puoi usare questi due comandi:

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

wpa_cli -i wlan0 reconfigure

Installa questi programmi utilizzando i seguenti comandi:

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

python3 -m pip install --upgrade pip setuptools wheel 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

Passaggio 6: banca dati

Requisiti:

  • Lampone Pi
  • Cavo Ethernet

L'applicazione utilizza un database per memorizzare informazioni sugli utenti, sui vincitori e sui dati di gioco.

Per prima cosa configura il programma db sul tuo Raspberry Pi. Hai già installato Mysql sul Pi nel passaggio precedente.

Usa "sudo systemctl status mysql" per verificare se Mysql funziona.

Avvia MySQL:

sudo mariadb

Quindi inserisci il seguente codice:

CREA UTENTE 'project_name-admin'@'localhost' IDENTIFICATO DA 'adminpassword';

CREATE DATABASE nome_progetto;

CONCEDERE TUTTI I PRIVILEGI SU project_name.* a 'project1-admin'@'localhost' CON L'OPZIONE DI CONCESSIONE;

PRIVILEGI DI SCARICO;

Cambia il nome del progetto come preferisci.

Per riempire il database, esegui il file sql fornito con il codice più avanti in questo istruzioni.

Passaggio 7: codice

Puoi trovare il codice al seguente link:

Basta clonare il repository sul tuo Raspberry Pi.

Assicurati che sia clonato nella directory diretta sotto il tuo utente.

Passaggio 8: servizio automatizzato

Il programma deve avviarsi all'avvio di Raspberry Pi. Per fare ciò devi rendere un servizio della tua applicazione.

La configurazione è già stata effettuata e si trova nella directory conf.

L'unica cosa che devi fare per consentire l'avvio del servizio all'avvio è questa riga di codice:

sudo systemctl enable project1.service

L'unico problema è che il pi attenderà l'avvio di una rete. Puoi disabilitarlo ma non ha alcun effetto perché utilizziamo l'indirizzo APIPA nel cmdline.txt. Se vuoi che si avvii più velocemente, devi rimuovere l'indirizzo APIPA ma poi dovrai collegare il tuo Pi a un monitor quando non puoi connetterti al wifi se c'è un problema.

Passaggio 9: istruzioni

Istruzioni
Istruzioni

Digita l'indirizzo IP di th Pi nel tuo browser. Non dimenticare di aggiungere:5000 all'indirizzo IP.

Quando arrivi al sito, inizia una nuova partita e inserisci i nomi dei giocatori.

Una volta avviato il gioco, devi attendere 5 secondi affinché i due dispositivi siano collegati.

Per far girare il puntatore, coprire il sensore di luce. Dopo che il puntatore smette di girare, la mossa appare sullo schermo.

Se qualcuno cade o non può svolgere il proprio compito, perde e devi premere il suo nome sullo schermo.

Vince l'ultimo giocatore in piedi.

Puoi vedere tutti coloro che hanno vinto in passato nel grafico della cronologia.

Divertiti!

Consigliato: