Posts with «raspberry pi» label

A Tubular Fairy Tale You Control with Your Phone

At first glance, this might appear to be a Rube Goldberg machine made of toys. The truth isn’t far off — it’s a remote-control animatronic story machine driven by its spectators and their phones. [Niklas Roy] and a team of volunteers built it in just two weeks for Phaenomenale, a festival centered around art and digital culture that takes place every other year.

A view of the tubes without the toys.

A red ball travels through a network of clear acrylic tubes using 3D printed Venturi air movers, gravity, and toys to help it travel. Spectators can change the ball’s path with their phones via a local website with a big picture of the installation. The ball triggers animations along its path using break beam detection and weaves a different story each time depending on the toys it interacts with.

Here’s how it works: a Raspberry Pi 4 is responsible for releasing the ball at the beginning of the track and for controlling the track switches. The Pi also hosts a server for smartphones and the 25 Arduino Nanos that control the LEDs and servos of the animatronics. As a bonus animatronic, there’s a giant whiteboard that rotates and switches between displaying the kids’ drawings and the team’s plans and schematics. Take a brief but up-close tour after the break.

This awesome art project was a huge collaborative effort that involved the people of Wolfsburg, Germany — families in the community donated their used and abandoned toys, groups of elementary school kids were brought in to create stories for the toys, and several high school kids and other collaborators realized these drawings with animatronics.

Toys can teach valuable lessons, too. Take this body-positive sushi-snarfing Barbie for example, or this dollhouse of horrors designed to burn fire safety into children’s brains.

Speaker Snitch Tattles on Privacy Leaks

A wise senator once noted that democracy dies with thunderous applause. Similarly, it’s also how privacy dies, as we invite more and more smart devices willingly into our homes that are built by companies that don’t tend to have our best interests in mind. If you’re not willing to toss all of these admittedly useful devices out of the house but still want to keep an eye on what they’re doing, though, [Nick Bild] has a handy project that lets you keep an eye on them when they try to access the network.

The device is built on a Raspberry Pi that acts as a middle man for these devices on his home network. Any traffic they attempt to send gets sent through the Pi which sniffs the traffic via a Python script and is able to detect when they are accessing their cloud services. From there, the Pi sends an alert to an IoT Arduino connected to an LED which illuminates during the time in which the smart devices are active.

The build is an interesting one because many smart devices are known to listen in to day-to-day conversation even without speaking the code phrase (i.e. “Hey Google” etc.) and this is a great way to have some peace-of-mind that a device is inactive at any particular moment. However, it’s not a foolproof way of guaranteeing privacy, as plenty of devices might be accessing other services, and still other devices have  even been known to ship with hidden hardware.

Procedural Barcode Synth is as Simple as Black and White

We are no stranger to peculiar and wonderful musical instruments here at Hackaday. [James Bruton] has long been fascinated with barcode scanners as an input source for music and now has a procedural barcode-powered synth to add to his growing collection of handmade instruments. We’ve previously covered his barcode guitar, which converts a string of numbers from the PS/2 output to pitches. This meant having a large number of barcodes printed as each pitch required a separate barcode. As you can imagine, this makes for a rather unwieldy and large instrument.

Rather than looking at the textual output of the reader, [James] cracked it open and put it to the oscilloscope. Once inside, he found a good source that outputs a square wave corresponding to the black and white lines that the barcode sees. Since the barcodes [James] is using don’t have the proper start and stop codes, the barcode reader continuously scans.  Normally it would stop the laser to send the text over the USB or PS/2 connection. A simple 5v to 3.3v level shifter feeds that square wave into a Teensy board, which outputs the audio.

A video showcasing a similar technique inspired [James] with this project. The creators of that video have a huge wall of different patterns of black and white lines. [James’s] next stroke of brilliance was to have a small HDMI display to generate the barcodes on the fly. A Raspberry Pi 4 reads in various buttons via GPIO and displays the resulting barcode on the screen. A quick 3d printed shell rounds out the build nicely, keeping things small and compact. All the code and CAD files are up on GitHub.

Thanks [James Bruton] for the awesome project!

Cybercube Makes a Great Computing Companion

Oh, sure, there have been a few cube-shaped PCs over the years, like the G4 and the NeXT cube. But can they really be called cubes when the display and the inputs were all external? We think not.

[ikeji] doesn’t think so either, and has created a cube PC that puts them all to shame. Every input and output is within the cube, including our favorite part — the 48-key ortholinear keyboard, which covers two sides of the cube and must be typed on vertically. (If you’ve ever had wrist pain from typing, you’ll understand why anyone would want to do that.) You can see a gif of [ikeji] typing on it after the break.

Inside the 3D printed cube is a Raspberry Pi 4 and a 5″ LCD. There’s also an Arduino Pro Micro for the keyboard matrix, which is really two 4×6 matrices — one for each half. There’s a 6cm fan to keep things cool, and one panel is devoted to a grille for heat output. Another panel is devoted to vertically mounting the microcontrollers and extending the USB ports.

Don’t type on me or my son ever again.

When we first looked at this project, we thought the tiny cube was a companion macro pad that could be stored inside the main cube. It’s really a test cube for trying everything out, which we think is a great idea and does not preclude its use as a macro pad one of these days. [ikeji] already has plenty of plans for the future, like cassette support, an internal printer, and a battery, among other things. We can’t wait to see the next iteration.

We love a good cyberdeck around here, and it’s interesting to see all the things people are using them for. Here’s a cyberduck that quacks in Python and CircuitPython.

Sunrise, Sunset, Repeat

Sunrises and sunsets hardly ever disappoint. Still, it’s difficult to justify waking up early enough to catch one, or to stop what you’re doing in the evening just to watch the dying light. If there’s one good thing about CCTV cameras, it’s that some of them are positioned to catch a lovely view of one of the two, and a great many of them aren’t locked down at all.

[Dries Depoorter] found a way to use some of the many unsecured CCTV cameras around the world for a beautiful reason: to constantly show the sun rising and setting. Here’s how it works: a pair of Raspberry Pi 3B + boards pull the video feeds and display the sunrise/sunset location and the local time on VFD displays using an Arduino Nano Every. There isn’t a whole lot of detail here, but you can probably get the gist from the high-quality pictures.

If you wanted to recreate this for yourself, we might know where you can find some nice CCTV camera candidates. Just look through this dystopian peephole.

Thanks for the tip, [Luke]!

Generate Positivity with Machine Learning

Gesture recognition and machine learning are getting a lot of air time these days, as people understand them more and begin to develop methods to implement them on many different platforms. Of course this allows easier access to people who can make use of the new tools beyond strictly academic or business environments. For example, rollerblading down the streets of Atlanta with a gesture-recognizing, streaming TV that [nate.damen] wears over his head.

He’s known as [atltvhead] and the TV he wears has a functional LED screen on the front. The whole setup reminds us a little of Deep Thought. The screen can display various animations which are controlled through Twitch chat as he streams his journeys around town. He wanted to add a little more interaction to the animations though and simplify his user interface, so he set up a gesture-sensing sleeve which can augment the animations based on how he’s moving his arm. He uses an Arduino in the arm sensor as well as a Raspberry Pi in the backpack to tie it all together, and he goes deep in the weeds explaining how to use Tensorflow to recognize the gestures. The video linked below shows a lot of his training runs for the machine learning system he used as well.

[nate.damen] didn’t stop at the cheerful TV head either. He also wears a backpack that displays uplifting messages to people as he passes them by on his rollerblades, not wanting to leave out those who don’t get to see him coming. We think this is a great uplifting project, and the amount of work that went into getting the gesture recognition machine learning algorithm right is impressive on its own. If you’re new to Tensorflow, though, we have featured some projects that can do reliable object recognition using little more than a Raspberry Pi and a camera.

The HackadayPrize2020 is Sponsored by:

Rotary Phone Takes You Around The World And Through Time – With Music

Purposely choosing obsoleted technology combines all the joy of simpler times with the comfort of knowing you’re not actually stuck with outdated (and oftentimes inferior) technology. The rotary phone is a great example here, and while rarely anyone would want to go back to the lenghty, error-prone way of dialing a number on it on an everyday basis, it can definitely add a certain charm to a project. [Caroline Buttet] thought so as well, and turned her grandma’s old rotary phone into a time-traveling, globe-trotting web radio.

The main idea is fairly simple: a Raspberry Pi connects via browser to a web radio site that plays music throughout the decades from places all over the world. [Caroline]’s implementation has a few nice twists added though. First of all, the phone of course, which doesn’t only house the Raspberry Pi, but serves both as actual listening device via handset speaker, and as input device to select the decade with the rotary dial. For a headless setup, she wrote a Chromium extension that maps key events to virtual clicks on the corresponding DOM element of the web site — like the ones that change the decade — and a Python script that turns the rotary dial pulses into those key events.

However, the phone is only half the story here, and the country selection is just as fascinating — which involves an actual world map. An audio connector is attached to each selectable country and connected to an Arduino. If the matching jack is plugged into it, the Arduino informs the Raspberry Pi via serial line about the new selection, and the same Chromium extension then triggers the country change in the underlying web site. You can check all the code in the project’s GitHub repository, and watch a demo and brief explanation in the videos after the break.

Sure, listening radio through a telephone may not be the most convenient way — unless it’s the appropriate genre — but that clearly wasn’t the goal here anyway. It’s definitely an interesting concept, and we could easily see it transferred to some travel- or spy-themed escape room setting. And speaking of spying, if [Caroline]’s name sounds familiar to you, you may remember her virtual peephole from a few months back.

Capture the Flag, Along with the Game Data

With events of all sizes on hold and live sports mostly up in the air, it’s a great time to think of new ways to entertain ourselves within our local circles. Bonus points if the activity involves running around outside, and/or secretly doubles as a team-building exercise, like [KarelBousson]’s modernized version of Capture the Flag.

Much like the original, the point of this game is to capture the case and keep it for as long as possible before the other team steals it away. Here, the approach is much more scientific: the box knows exactly who has it and for how long, and the teams get points based on the time the case spends in any player’s possession.

Each player carries an RFID tag to distinguish them from each other. Inside the case is an Arduino Mega with a LoRa shield and a GPS unit. Whenever the game is afoot, the case communicates its position to an external Raspi running the game server.

If you haven’t met LoRa yet, check out this seven-part introductory tutorial.

Alexa, Shoot Me Some Chocolate

[Harrison] has been busy finding the sweeter side of quarantine by building a voice-controlled, face-tracking M&M launcher. Not only does this carefully-designed candy launcher have control over the angle, direction, and velocity of its ammunition, it also locates and locks on to targets by itself.

Here comes the science: [Harrison] tricked Alexa into thinking the Raspberry Pi inside the machine is a smart TV named [Chocolate]. He just tells an Echo to increase the volume by however many candy-colored projectiles he wants launched at his face. Simply knowing the secret language isn’t enough, though. Thanks to a little face-based security, you pretty much have to be [Harrison] or his doppelgänger to get any candy.

The Pi takes a picture, looks for faces, and rotates the turret base in that direction using three servos driven by Arduino Nanos. Then the Pi does facial landmark detection to find the target’s mouth hole before calculating the perfect parabola and firing. As [Harrison] notes in the excellent build video below, this machine uses a flywheel driven by a DC motor instead of being spring-loaded. M&Ms travel a short distance from the chute and hit a flexible, spinning disc that flings them like a pitching machine.

We would understand if you didn’t want your face involved in a build with Alexa. It’s okay — you can still have a voice-controlled candy cannon.

OpenScan 3D Scans All Of The (Small) Things

The OpenScan project has been updated quite a bit since its inception. OpenScan is an open source, Arduino or Raspberry Pi-based 3D scanner for small objects that uses 3D printed hardware and some common electronic components to create 3D scans using photogrammetry; a process by which a series of still images from different angles are used to create a 3D point cloud of an object, which can then be used to generate a 3D model.

Feature visualization overlays detected features onto the camera preview to help judge quality. Broadly speaking, green is good.

Photogrammetry is a somewhat involved process that relies on consistent conditions, so going through the whole process only to find out the results aren’t up to snuff can be tiresome. Happily, OpenScan offers some interesting new functions such as feature visualization via the web interface, which helps a user judge scan quality and make changes to optimize results without having to blindly cross their fingers quite so much. OpenScan remains a one-person project by [Thomas], who is clearly motivated to improve his design and we’re delighted to see it getting updates.

Embedded below is a video that walks through the installation and web interface. It’s a fairly long and comprehensive, but if you like you can skip directly to [Thomas] demonstrating the interface around the 8:22 mark, or watch it below. Interested in your own unit? [Thomas] has an e-shop for parts and the GitHub repository is right here; the project also has its own subreddit.

Photogrammetry isn’t limited to small objects. We have seen some neat applications in the past, where it was the missing link to modeling a custom control panel and making a 3d scan of a custom-molded ergonomic trackball.