Intelligente Basketball-Anzeigetafel
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Apps und Onlinedienste
| ||||
|
Über dieses Projekt
Ich mache regelmäßig Basketball-Trainingseinheiten und verfolge immer die Statistiken der Abschnitte (Anzahl der Schüsse, Ergebnisse, Fehlschüsse usw.). Diese Zahlen zu verfolgen ist irgendwie langweilig und schwer zu bewerkstelligen. Die Smart Balls können dafür verwendet werden, haben jedoch einige Nachteile:
- Wenn Sie mit mehreren Bällen trainieren möchten, müssen Sie mehrere (teure) intelligente Bälle kaufen.
- Die Genauigkeit ist nicht so gut.
- Die Haltbarkeit des Balls.
In meinem vorherigen Projekt-Prototyp für eine intelligente Basketball-Anzeigetafel habe ich das Avnet SmartEdge-Gerät verwendet, um eine Methode zum Verfolgen meiner Basketball-Workouts zu testen. Ich habe den Beschleunigungssensor verwendet, um die Schüsse zu erkennen, und den Näherungssensor, um die Scores zu erkennen. Die Idee dieses Projekts besteht nun darin, eine definitive Lösung für die Basketball-Anzeigetafel-Aufgabe zu implementieren.
Versionen
Zu Beginn des Projekts habe ich die Hardwarekomponenten verwendet, die ich zu Hause zur Verfügung hatte, und die benötigte Software (Arduino und Android) entwickelt. Diese erste Version (1.1.0) erwies sich als ziemlich gut, also beschloss ich, einige Änderungen vorzunehmen, um billigere Komponenten zu verwenden und auch einige Softwareverbesserungen zu implementieren. Die zweite Version (2.0.0) ist noch besser, viel Spaß.
Schritt 1:Arduino
Hardware
Sie können die Hardwarekomponentenliste für die Version 2.0.0 im Abschnitt Dinge einsehen.
Dies sind die wichtigsten Änderungen von Version 1.1.0 zu Version 2.0.0:
- Arduino Mega 2560 => Auf Arduino Nano R3 geändert
- Bluetooth Shield => Auf HC-05 Bluetooth-Modul geändert
- Wiederaufladbarer Lithium-Ionen-Akku => Auf 9-V-Batterie umgestellt
- DHT22 Temperatur- und Feuchtigkeitssensor => Hinzugefügt.
Einige Überlegungen zu anderen in diesem Projekt verwendeten Komponenten:
- E18-D80NK Infrarot-Näherungssensor:In diesem Projekt könnten andere Näherungssensoren verwendet werden, aber denken Sie daran, dass es besser ist, einen zu verwenden, der nicht unter Sonnenlichtstörungen leidet, wie dieser.
- Schwingungssensor SW420:In diesem Projekt könnten andere Schwingungssensoren verwendet werden, dieser funktioniert wirklich gut.
Die Arduino-Schaltpläne für die beiden Versionen sind im Abschnitt Schaltpläne verfügbar.
Software
Ich habe die Arduino-IDE verwendet, um den Arduino-Code zu entwickeln, der mit der folgenden Strategie programmiert wurde:
- Nach der Initialisierung (Variablen, LED, Bluetooth usw.) überwacht es kontinuierlich den Status der Sensoren.
- Wenn der Näherungssensor die Anwesenheit des Balls erkennt, bedeutet dies, dass gerade ein Schuss passiert ist und es ein Spielstand ist.
- Wenn der Vibrationssensor eine Bewegung erkennt, bedeutet dies, dass gerade ein Schuss passiert ist, aber er wartet 2 Sekunden (maximal), um eine Entscheidung zu treffen.
- Wenn der Näherungssensor in dieser Zeit die Anwesenheit des Balls erkennt, weiß er (sofort) dass es ein Spielstand ist.
- Wenn der Näherungssensor nach Ablauf der 2 Sekunden den Ball nicht erkannt hat, weiß er, dass er verfehlt wurde.
- Der Arduino informiert das Android über Bluetooth, dass gerade ein Schuss (Treffer oder Fehlschuss) stattgefunden hat.
- Der Prozess wird neu gestartet.
Dies sind die wichtigsten Änderungen von Version 1.1.0 zu Version 2.0.0:
- Ändern Sie die Unterstützung von Bluetooth-Schild zum HC-05-Bluetooth-Modul
- Unterstützung für DHT22 Temperatur- und Feuchtigkeitssensor hinzufügen
- Verbessern Sie die Logik, um Schüsse, Treffer und Fehlschüsse zu erkennen und die LED besser zu signalisieren.
Die Arduino-Codes für die beiden Versionen sind im Abschnitt Code verfügbar.
Schritt 2:Android
Ich habe den MIT App Inventor verwendet, um den Android-Code zu entwickeln, der mit der folgenden Strategie programmiert wurde:
- Nach der Initialisierung (Schüsse, Scores, Fehlschüsse, Bluetooth usw.) wartet es darauf, dass die "Start"-Taste gedrückt wird.
- Wenn die "Start"-Taste gedrückt wird, überwacht sie ständig die Bluetooth-Verbindung.
- Jedes Mal, wenn es Daten empfängt, aktualisiert es das Board und spielt den richtigen Benachrichtigungston ab.
- Der Vorgang wiederholt sich, bis die Schaltfläche "Pause" gedrückt wird.
- Es gibt Tasten zum Auswählen des Bluetooth-Geräts, zum Zurücksetzen des Zählers und einige zusätzliche Tasten zum Anpassen des Boards, falls erforderlich.
Dies sind die wichtigsten Änderungen von Version 1.1.0 zu Version 2.0.0:
- Ändere das Layout von Hochformat in Querformat.
- Fügen Sie Licht, Feuchtigkeit, Temperatur und Wärmeindex hinzu.
- Verbessere die Einstellknöpfe.
- Funktion hinzufügen, damit der Bildschirm immer eingeschaltet bleibt.
- Füge Druckgeräusche zu allen Tasten hinzu.
- Fügt eine Funktion hinzu, die jedes Mal warnt, wenn die 50-Schuss-Marke (50, 100, 150 usw.) erreicht wird.
Die Android-Codes für die beiden Versionen sind im Abschnitt Code verfügbar.
Schritt 3:Einrichtung des Basketballbretts
Dies ist das Original-Basketballbrett, das ich regelmäßig für Basketballtraining verwende.
Zuerst habe ich die Plastikabdeckung unter dem Reifen entfernt und ein Loch in den Näherungssensor gebohrt.
Dann habe ich ein kleines Loch gemacht, um den Vibrationssensor zu befestigen.
Ich konnte den Sensor aufgrund seiner Krümmung nicht direkt an der Kunststoffabdeckung befestigen, daher habe ich den Sensor mit MDF unterstützt.
Ich habe die Näherungs- und Vibrationssensoren mit einigen Schrauben und einer Mutter befestigt.
Dann habe ich die anderen Komponenten angeschlossen.
Es ist Zeit für einen Rauchtest.
Schließlich habe ich alles auf dem Basketballbrett installiert.
Schritt 4:Basketball-Trainingstest
Jetzt ist es Zeit, alles zu testen.
Und das große Finale... es ist Showtime!
Schritt 5:Abschließende Überlegungen
- Das System erwies sich als sehr genau, mit sehr wenigen falsch positiven und selten falsch negativen Ergebnissen.
- Es ist fantastisch, mit dem System zu spielen, um die Trainingsstatistiken in Echtzeit und nach dem Training zu kennen.
Viel Spaß...
Code
- Arduino-Code (1.1.0)
- Android-Code (1.1.0)
- Arduino-Code (2.0.0)
- Android-Code (2.0.0)
Arduino-Code (1.1.0)Arduino
Android-Code (1.1.0)Java
Android MIT App Inventor (http://ai2.appinventor.mit.edu/)Keine Vorschau (nur Download).
Arduino-Code (2.0.0)Arduino
Android-Code (2.0.0)Java
Android MIT App Inventor (http://ai2.appinventor.mit.edu/)Keine Vorschau (nur Download).
Schaltpläne
Herstellungsprozess
- Basketball
- Entwerfen von Open-Source-Smart-Farming-Systemen
- Smart Sensor Board beschleunigt die Entwicklung von Edge-KI
- Raspberry Pi-Temperatursensor
- Mobiles IoT:Intelligenter Mülleimer
- Smart Barkeeper
- Emotionssensor / EEG
- Ultraempfindlicher, widerstandsfähiger Sensor für intelligente Textilien
- Ultradünner Sensor für intelligente Kontaktlinsen
- Intelligente Mechatronik unterstützt die Sensorproduktion bei Sensata Technologies