Dies ist eine Maschine, die 3 Würfel in ein Fach wirft, mit einem Schrittmotor, und dann die Ergebnisse mit OpenCV liest. Die gesamte Programmierung wird in Python durchgeführt, der Code wird größtenteils aus älteren Projekten und ChatGPT kopiert.
Der Code funktioniert, indem er Blobdetection verwendet, um Punkte auf den Würfeln zu finden, und dbscan, um sie in separate Würfel zu gruppieren. Die "Trenner" im Tablett werden benötigt, damit dies funktioniert.
Die verwendete Hardware ist ein gewöhnlicher Schrittmotor und eine DRV8825-Treiber-Schaltung. Ein Raspberry Pi 4 und eine Pi Kamera 3. Abgesehen von ein paar M4/M2.5-Schrauben sind die meisten anderen Teile mit PLA und PETG 3D-gedruckt.
Schrittmotor
Ich verwende einen bipolaren Schrittmotor, NEMA 17. Er ist für 1,5 A ausgelegt, aber ich begrenze ihn auf 500 mA mit dem DRV8825. Die Antriebsschaltung wird mit 12 V betrieben.
Bauarbeiten
Ich habe diese Version als die endgültige Maschine gewählt, da sie schneller ist und bessere Ergebnisse liefert als andere Maschinen, die ich gebaut habe. Sie erfordert keine speziellen Teile wie Glas oder Lager.
Die Maschine wird mit CA-Kleber und Heißkleber auf einem Stück Bücherregalbrett zusammengesetzt.
Verbesserungen, die vorgenommen werden müssen.
-
Die Kamera braucht einen etwas größeren Winkel, wie die Pi Camera 3 Wide.
-
Um den Geräuschpegel zu reduzieren, sollte ein Gummiboden in der Schale verwendet werden.
-
Liste sagt, in welcher Lane es platziert ist.
Zufällige Zahlengenerierung
Um gute Zufallszahlen aus Würfelwürfen zu erhalten, die einen Wert von 1-6 ergeben, können Sie Modulo verwenden, aber es gibt Dinge, die Sie vermeiden sollten. Wenn Sie einen Zufallswert von 0 bis 27 benötigen, sollten Sie drei Würfel (d1-d3) in einer bestimmten Reihenfolge werfen und Folgendes tun:
(d1 - 1) * 36 + (d2 - 1) * 6 + (d3 -1) * 1Wenn der Wert über 196 liegt, werfen Sie die Würfel erneut und entfernen Sie die Zahlen, sonst wird es eine Modulo-Verzerrung in den Ergebnissen geben. Danach modulieren Sie die Zahl mit 28. Beispiel:
-
Erstes geworfenes Würfel: 4
-
Zweites geworfenes Würfel: 3
-
Dritter geworfener Würfel: 2
121 modulo 28 = 9
Etiquetas
Fuente del modelo
