The mechanicals of the machine took much development, as accurately handling and dispensing cards is a challenge, particularly with the loose tolerances of 3D printed parts. After developing a reliable transport mechanism, it was more than capable of shuffling a deck well with some basic commands.
However, the real magic comes from installing a camera and Raspberry Pi running OpenCV. This is capable of reading the value and suit of each card, and then stacking the deck in a particular order to suit the dealer’s wishes. It’s all controlled through a web interface and is capable of creating guaranteed wins in Blackjack and Texas Hold’em. Files are on Github for those eager to delve deeper into how the machine works.
The mechanism does such a beautiful job of shuffling, that your friends may not even notice the ruse. It goes to show that you should always have your wits about you when gambling with the aid of machines. Of course, if you wish only to create havoc, this Lego card machine gun may be more your speed. Video after the break.
[Dirk] shared a fascinating project of his that consists of several different parts coming together in a satisfying whole. It’s all about wanting to do target practice, indoors, using a simple red laser dot instead of any sort of projectile. While it’s possible to practice by flashing a red laser pointer and watching where it lands on a paper target, it’s much more rewarding (and objective) to record the hits in some way. This is what led [Dirk] to create human-powered, battery-free laser guns with software to track and display hits. In the image above, red laser hits on the target are detected and displayed on the screen by the shooter.
There are several parts to this project and, sadly, the details are a bit incomplete and somewhat scattered around, so we’ll go through the elements one at a time. The first is the guns themselves, and the star of the show is his 3D printed cowboy rifle design. The rifle paints the target with a momentary red laser dot when the trigger is pressed, but that’s not all. [Dirk] appears to have embedded a stepper motor into the lever action, so that working the lever cranks the motor as a generator and stores the small amount of power in a capacitor. Upon pulling the trigger, the capacitor is dumped into the laser (and into a piezo buzzer for a bit of an audio cue, apparently) with just enough juice to create a momentary flash. We wish [Dirk] had provided more details about this part of his build. There are a few more images here, but if you’d like to replicate [Dirk]’s work it looks like you’ll be on your own to some extent.
As for the target end of things, blipping a red dot onto a paper target and using one’s own eyeballs can do the job in a bare minimum sort of way, but [Dirk] went one further. He used Python and OpenCV with a camera to watch for the red dot, capture it, then push an image of the target (with a mark where the impact was detected) to a Chromecast-enabled screen near the shooter. This offers much better feedback and allows for easier scoring. The GitHub repository for the shot detector and target caster is here, and while it could be used on its own to detect any old laser pointer, it really sings when combined with the 3D printed cowboy rifle that doesn’t need batteries.
Not using projectiles in target practice does have some benefits: it’s silent, it’s easy to do safely, there is no need for a backstop, there are no consumables or cleaning, and there is no need to change or patch targets once they get too many holes. Watch it all in action in the video embedded below.
When you think of robots that were modeled after animals, a brittle star is probably not the first species that comes to mind. Still, this is the animal that inspired [Zach J. Patterson] and his research colleagues from Carnegie Mellon University for their underwater crawling robot PATRICK.
PATRICK is a soft robot made from molded silicone. Each of his five limbs contains several shape memory alloy (SMA) springs which can be contracted through Joule heating thereby causing the limbs to bend. The robot’s control board is sending and receiving commands via Bluetooth Low Energy from a nearby computer. To control PATRICK’s motion the researchers constructed a closed-loop system where an offboard OpenCV based camera system is constantly tracking the robot. As shown in the video below with an average velocity of 1 cm/s, PATRICK’s movement is a bit sluggish but the system is supposedly very robust against uncertainties in the environment.
In the future [Zach J. Patterson et al.] would like to improve their design by giving the robot the ability to grasp objects. Ultimately, also the offboard camera should be replaced with onboard sensors so that PATRICK can navigate autonomously.
All this working from home that people have been doing has a natural but unintended consequence: revealing your dirty little domestic secrets on a video conference. Face time can come at a high price if the only room you have available for work is the bedroom, with piles of dirty laundry or perhaps the incriminating contents of one’s nightstand on full display for your coworkers.
There has to be a tech fix for this problem, and many of the commercial video conferencing platforms support virtual backgrounds. But [Florian Echtler] would rather air his dirty laundry than go near Zoom, so he built a machine-learning background substitution app that works with just about any video conferencing platform. Awkwardly dubbed DeepBackSub — he’s working on a better name — the system does the hard work of finding the person in the frame with Tensorflow Lite. After identifying everything in the frame that’s a person, OpenCV replaces everything that’s not with whatever you choose, and the modified scene is piped over a virtual video device to the videoconferencing software. He’s tested on Firefox, Skype, and guvcview so far, all running on Linux. The resolution and framerates are limited, but such is the cost of keeping your secrets and establishing a firm boundary between work life and home life.
[Florian] has taken the need for a green screen out of what’s formally known as chroma key compositing, which [Tom Scott] did a great primer on a few years back. A physical green screen is the traditional way to do this, but we honestly think this technique is great and can’t wait to try it out with our Hackaday colleagues at the weekly videoconference.
The trick is based on the same technique that Universal Studios use in their Harry Potter theme park, as detailed in a patent with the snappy title of “System and method for tracking a passive wand and actuating an effect based on a detected wand path“. The basic idea is that a retroreflective dot on the end of the wand reflects light from a set of infra-red LEDs around the camera. An infra-red sensitive camera detects this reflected light as a bright dot. This camera is tied into a computer vision system that tracks the path of the dot, then triggers the action if it follows a certain pattern.
The version that [Jasmeet] built uses a Raspberry Pi NoIR camera, and a Raspberry Pi 3 running OpenCV. This feeds into a machine learning graph that detects the letters of the alphabet. If the detected letter is an A (for Alomahora, the Harry Potter open spell), then the box opens. If it is a C, the box closes. This is all tied together using Python.
It’s a neat build that ties together a number of interesting techniques, and which could keep the kids amused for a while. You could also expand it further, such as adding a death ray that triggers if you trace an S for Sectumsempra. That’ll teach them not to mess with the dark arts.
In the world of weight training, the buzzword of the moment is VBT, or Velocity Based Training. This involves sensors being used to measure the speed and position of a weight as it moves through each repetition, and thus provide instant feedback for the athlete and glean information from which they can work upon their training routine. Typically the sensors involved may be accelerometers, but [Kris] has taken a different tack using a webcam and machine vision to do the same job.
The barbell has a green disc attached to its end, and the software tracks it and measures the velocity. It issues a warning when the velocity of a repetition drops below a preset level, telling the athlete to stop their set before pushing themselves too far. Under the hood is a Python script and OpenCV, and the write-up in his GitHub repository takes us through its camera calibration to remove the effects of distortion, and set-up. All calibration of distances within the image is made through the known size of the green disc, allowing the software to accurately chart the distance through which it travels.
When we first caught a glimpse of this ball juggling platform, we were instantly hooked by its appearance. With its machined metal linkages and clear polycarbonate platform, its got an irresistibly industrial look. But as fetching as it may appear, it’s even cooler in action.
You may recognize the name [T-Kuhn] as well as sense the roots of the “Octo-Bouncer” from his previous juggling robot. That earlier version was especially impressive because it used microphones to listen to the pings and pongs of the ball bouncing off the platform and determine its location. This version went the optical feedback route, using a camera mounted under the platform to track the ball using OpenCV on a Windows machine. The platform linkages are made from 150 pieces of CNC’d aluminum, with each arm powered by a NEMA 17 stepper with a planetary gearbox. Motion control is via a Teensy, chosen for its blazing-fast clock speed which makes for smoother acceleration and deceleration profiles. Watch it in action from multiple angles in the video below.
Hats off to [T-Kuhn] for an excellent build and a mesmerizing device to watch. Both his jugglers do an excellent job of keeping the ball under control; his robotic ball-flinger is designed to throw the ball to the same spot every time.