Inhaltsverzeichnis:
- Schritt 1: Anforderungen
- Schritt 2: Die Twister-Matte
- Schritt 3: Das Gehäuse
- Schritt 4: Elektronik
- Schritt 5: Raspberry PI-Setup
- Schritt 6: Datenbank
- Schritt 7: Code
- Schritt 8: Automatisierter Service
- Schritt 9: Anweisungen
Video: Interaktiver Twister - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Twister ist ein klassisches Familienspiel und ich bin sicher, dass jeder, der dieses Instructable liest, es mindestens einmal gespielt hat. Das Hauptziel des Spiels ist es, der letzte Mann zu sein, der auf der Leinwand steht und sicherzustellen, dass Sie nicht umfallen, während Sie die vom Spinnrad gewählten Aufgaben ausführen.
Das Problem ist, dass es bei jedem Twister-Spiel immer jemanden geben muss, der das Rad dreht. Wäre es nicht viel einfacher, wenn das alles automatisch passieren könnte? Auf diese Weise kann jeder Spaß haben, während er Twister spielt.
Ich studiere NMCT bei Howest Kortrijk. Dies ist unser letztes Projekt in unserem ersten Jahr.
In diesem Instructable werde ich erklären, wie ich ein interaktives Twister-Spiel gemacht habe und wie Sie es zu Hause bauen können.
Schritt 1: Anforderungen
- Himbeer-Pi
- T-Schuster
- Twister-Spiel
- Schrittmotor
- DRV8825
- LDR
- Kondensatoren (100 µf und 10 µf)
- Kabel in verschiedenen Farben
- Aluminiumfolie
- Ductape
- Isolierband
- Doppelseitiges Klebeband
- Klettverschluss
- Holzbretter
- Steckbrett
- Perfboard (optional)
- Buchsenleisten (optional)
- 5V-Adapter für Raspberry Pi
- 12V-Adapter
- 2 x MCP23017
Schritt 2: Die Twister-Matte
Anforderungen:
- Schaumstoffrolle
- Twister-Matte
- Ductape
- Aluminiumfolie
- Kabel
- Marker
Anweisungen:
Die Herstellung der Matte ist eigentlich die meiste Arbeit des gesamten Projekts. Der Zusammenbau ist nicht so schwer, aber Sie müssen nur alles 24 Mal wiederholen. Es beinhaltet auch eine Menge Ductape… und ich meine wirklich viel.
Zu Beginn müssen Sie 2 Stücke Schaumstoff schneiden, die die gleiche Größe wie die Twister-Matte haben. Ich habe Schaum verwendet, der verwendet wird, um unter Parkettböden zu legen. Das Problem dabei ist, dass der Schaum ziemlich dünn ist. Wenn Sie Schaum von mindestens 2 mm finden können, wäre das viel besser und Sie haben weniger Arbeit, um die Leinwand herzustellen, aber ich werde später darauf zurückkommen.
Auf die erste Schicht des Schaums müssen Sie vier Streifen Aluminiumfolie über den gesamten Schaum legen. Diese werden als Masse für die Schaltung verwendet. Der beste Weg, es zu befestigen, ist Ductape über die Seiten zu legen.
Legen Sie die nächste Schaumstoffschicht auf die Twister-Matte. Zeichnen Sie für jeden Punkt auf der Twister-Matte einen Kreis. Sie müssen in jeden Kreis auf dem Schaumstoff ein Loch schneiden. Der Durchmesser des Lochs ist nicht so wichtig, achte nur darauf, dass es nicht zu groß oder zu klein ist.
Jedes Loch muss mit Alufolie abgedeckt werden. Auch hier ist die beste Art, es zu befestigen, Ductape. Stellen Sie sicher, dass keine Patches führen, um Störungen zu vermeiden.
Dies ist nicht notwendig, aber wenn der verwendete Schaumstoff weniger als 2 mm beträgt, müssen Sie jedes Loch mit einer Art Erhöhung versehen, um ein Zusammenkleben der Folie zu verhindern. Ich habe kleine Schaumerdnüsse verwendet, die mit der Verpackung meiner Komponenten geliefert wurden.
Der letzte Schritt ist die Verkabelung. Jeder Patch benötigt 1 Kabel. Die Massepatches können untereinander und später mit dem Raspberry Pi verbunden werden.
Schritt 3: Das Gehäuse
Anforderungen
- Holzbretter
- Nägel
- Bohren
- Klettverschluss
Anweisungen:
Maße: 32cm x 30cm x 8cm
Das Gehäuse ist nur ein einfaches Box-Design. Sie können die benötigten Dielen in einem der Bilder oben sehen. Das Holz wurde in meinem örtlichen Heimdepot gesägt. Ich bin nicht so handlich und für einen kleinen Preis haben sie das Holz gesägt und Sie wissen bereits, dass es die richtigen Abmessungen haben wird.
Um die Box zusammenzubauen, habe ich nur die Schrauben an der Unterseite gebohrt. Die Länge der Schrauben ist nicht so wichtig. Achten Sie nur darauf, dass sie länger als die Höhe der Bodenplatte sind und dass sie nicht zu lang sind, damit sie das Holz brechen.
In die Mitte der Abdeckung müssen Sie ein kleines Loch bohren, um den Motor zu montieren. Dieses Loch muss einen Durchmesser von 5 mm haben.
Der Deckel wird mit Klettverschluss an der Box befestigt.
Als letztes müssen Sie vorne ein Loch für die Kabel der Twister-Matte und hinten ein Loch für die beiden Adapter bohren. Der Durchmesser der Löcher hängt davon ab, welche Adapter Sie verwenden und wie Sie die Kabel Ihrer Matte handhaben können. Ich habe ein rechteckiges Loch für die Mattenkabel geschnitten, weil ich keinen Bohrer hatte, der groß genug war.
Schritt 4: Elektronik
Anforderungen:
- DRV8825
- Schrittmotor
- 2 x mcp23017
- LDR
- 100 µF Elektrolytkondensator
- 10 µF Elektrolytkondensator
- Raspberry Pi T-Schuster
- 24 x 330 Ohm Widerstand
Anweisungen:
Der schnellste Weg, die gesamte Elektronik herzustellen, besteht darin, sie auf ein Steckbrett zu legen. Das Problem ist, dass nichts repariert ist und sich einige Komponenten lösen können. Am besten lötet man alles auf einer Platine. Ich lötete den Schrittmotortreiber und den Sensor. Ich habe die beiden IO-Expander auf dem Steckbrett gelassen, weil viele Kabel zu den MCP23017 gehen. Wie Sie dies tun, liegt ganz bei Ihnen.
Einige Randnotizen zur Verkabelung:
Der Schrittmotor hat zwei Spulenpaare. Die Drähte von den Paaren an meinem Motor wo:
schwarz, grün -> Paar 1
rot, blau -> Paar 2
Stellen Sie sicher, dass die Eingänge der Twister-Matte in der richtigen Reihenfolge verbunden sind. Der erste Punkt ist mit GPA0 des ersten MCP23017 verbunden. Der letzte Punkt ist mit GPA7 des zweiten MCP23017 verbunden. Stellen Sie sicher, dass sich am Ende jedes Eingangs ein Widerstand befindet.
Schritt 5: Raspberry PI-Setup
Anforderungen:
- Himbeer-PI
- SD-Karte
- Ethernet Kabel
Anweisungen:
Laden Sie das Raspian-Bild von https://www.raspberrypi.org/downloads/raspbian/ herunter. Stellen Sie sicher, dass Sie die Desktop-Version herunterladen. Brennen Sie das Image mit einem Brennprogramm auf Ihre SD-Karte. Ich habe Etcher verwendet, aber Sie können gerne ein anderes Programm verwenden. Bevor Sie die SD-Karte in Ihren Pi einlegen, müssen Sie einige Dinge am PC ändern. Öffnen Sie das Boot-Segment der SD-Karte. Sie können das andere Segment nicht öffnen, da Windows Linux nicht erkennt. Öffnen Sie im Boot die Datei: "cmdline.txt". Fügen Sie am Ende der Datei die Zeile "ip=169.2554.10.1" hinzu. Dies ist eine APIPA-Adresse und wird verwendet, um den PC und den Pi über ssh zu verbinden. Sobald dies erledigt ist, erstellen Sie im Bootsegment eine Datei mit dem Namen "ssh", jedoch ohne Erweiterung. Auf diese Weise aktiviert der Pi ssh beim Booten.
Verbinden Sie Ihren Pi mit einem Ethernet-Kabel mit Ihrem PC. Sie müssen ein Programm herunterladen, um ssh auf den Pi zu übertragen. Ich habe Spachtelmasse verwendet. Öffnen Sie Putty und geben Sie die APIPA-Adresse (169.254.10.1) ein und öffnen Sie die Verbindung. Beim ersten Hochfahren des PI kann es eine Weile dauern, bis alles bereit ist. Warten Sie einfach einen Moment und versuchen Sie es später erneut, wenn Sie keine Verbindung herstellen können. Sobald Sie eine Verbindung herstellen können, melden Sie sich mit den Standard-Anmeldeinformationen an: Benutzername: pi, Passwort: Himbeere.
Wenn Sie möchten, können Sie Ihren eigenen Benutzer erstellen. Jetzt müssen Sie eine Internetverbindung einrichten. Wenn Sie WLAN verwenden möchten, können Sie diese beiden Befehle verwenden:
wpa_passphrase 'SSID' 'Passwort' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 neu konfigurieren
Installieren Sie diese Programme mit den folgenden Befehlen:
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
Schritt 6: Datenbank
Anforderungen:
- Himbeer-Pi
- Ethernet Kabel
Die Anwendung verwendet eine Datenbank, um Informationen über die Benutzer, die Gewinner und die Spieldaten zu speichern.
Richten Sie zuerst das db-Programm auf Ihrem Raspberry Pi ein. Sie haben Mysql bereits im vorherigen Schritt auf dem Pi installiert.
Verwenden Sie "sudo systemctl status mysql", um zu testen, ob Mysql funktioniert.
MySQL starten:
sudo mariadb
Geben Sie dann folgenden Code ein:
CREATE USER 'project_name-admin'@'localhost' IDENTIFIED BY 'adminpassword';
CREATE DATABASE Projektname;
GEWÄHLE ALLE PRIVILEGIEN FÜR projektname.* an 'project1-admin'@'localhost' WITH GRANT OPTION;
Flush-Privilegien;
Ändern Sie den Namen des Projekts nach Belieben.
Um die Datenbank zu füllen, führen Sie die SQL-Datei aus, die später in diesem instructable mit dem Code angegeben wird.
Schritt 7: Code
Den Code finden Sie unter folgendem Link:
Klonen Sie das Repository einfach auf Ihren Raspberry Pi.
Stellen Sie sicher, dass es im direkten Verzeichnis unter Ihrem Benutzer geklont ist.
Schritt 8: Automatisierter Service
Das Programm muss beim Hochfahren des Raspberry Pi gestartet werden. Um dies zu tun, müssen Sie Ihren Antrag zu einem Dienst machen.
Die Konfiguration ist bereits vorgenommen und befindet sich im Verzeichnis conf.
Das einzige, was Sie tun müssen, um den Dienst beim Booten starten zu lassen, ist diese Codezeile:
sudo systemctl enable project1.service
Das einzige Problem ist, dass der Pi auf das Booten eines Netzwerks wartet. Sie können dies deaktivieren, aber es hat keine Auswirkungen, da wir die APIPA-Adresse in der cmdline.txt verwenden. Wenn Sie möchten, dass er schneller bootet, müssen Sie die APIPA-Adresse entfernen, aber dann müssen Sie Ihren Pi an einen Monitor anschließen, wenn Sie bei einem Problem keine Verbindung zum WLAN herstellen können.
Schritt 9: Anweisungen
Geben Sie die IP-Adresse des Pi in Ihren Browser ein. Vergessen Sie nicht,:5000 zur IP-Adresse hinzuzufügen.
Wenn Sie auf der Site ankommen, starten Sie einfach ein neues Spiel und geben Sie die Spielernamen ein.
Sobald das Spiel startet, musst du 5 Sekunden warten, bis die beiden Geräte verbunden sind.
Um den Zeiger drehen zu lassen, decken Sie den Lichtsensor ab. Nachdem der Zeiger aufgehört hat, sich zu drehen, wird der Zug auf dem Bildschirm angezeigt.
Wenn jemand fällt oder seine Aufgabe nicht erfüllen kann, verliert er und Sie müssen seinen Namen auf den Bildschirm drücken.
Der letzte stehende Spieler gewinnt.
Sie können jeden, der in der Vergangenheit gewonnen hat, im Verlaufsdiagramm sehen.
Spaß haben!