The Consumer Electronics Show in Las Vegas is traditionally where the big names in tech show off their upcoming products, and the 2020 show was no different. There were new smartphones, TVs, and home automation devices from all the usual suspects. Even a few electric vehicles snuck in there. But mixed in among flashy presentations from the electronics giants was a considerably more restrained announcement from a company near and dear to the readers of Hackaday: Arduino is going pro.
Continue reading “New Part Day: Arduino Goes Pro With The Portenta H7”
It’s one thing to be able to transcribe music from a flute, and it’s another to be able to make a flute play pre-written music. The latter is what [Abhilash Patel] decided to pursue in the flute player machine, an Arduino-based project that uses an air flow mechanism and PVC pipes to control the notes produced by a makeshift flute. It’s currently able to play 17 notes, just over two octaves starting from the lowest frequency of E.
In order to play songs, the tones have to either be directly coded and uploaded to the Arduino, composed with a random note generator, or detected from a microphone. While a real flute can be used for the machine, [Patel] uses a PVC flute, constructed with some knowledge of flute playing.
The resonant frequency is based on the effective length, hole sizes, and pipe diameter, so it is fairly difficult to correctly tune a homemade flute. Nevertheless, calculating the length as c/2f where c is the speed of sound (~345 m/s) and f is the frequency of the note can help with identifying the location of the holes. [Patel] cut the PVC pipe and sealed off one end, drilling a blowing hole at 1.5 x the pipe diameter. After playing the flute, the end of the pipe was filled until the frequency exactly matched the desired note.
The hole covering uses cuttings of pipe attached to a cable connecting to a servo. The motors are isolated inside a box to keep the wires clear and area all able to be powered with 5 V. As for the software, the code is primarily used to control when the fan is blowing and which holes are covered to produce a note.
Listen to the flute play “My Heart Will Go On” from Titanic in the video below. Now the next step might just be making the flute playing machine automatically play sheet music – imagine the possibilities!
Continue reading “An Arduino-Based Flute Playing Machine”
There’s a trend in corporate America that has employees wear a step counter — technically a pedometer — and compete in teams to see who can get the most number of steps. We wonder how many people attach the device to an electric drill and win the competition easily. However if you want to do your own measurements, [Ashish Choudhary] has plans for making a pedometer with an Arduino. The device isn’t tiny, but as you can see in the video below it seems to work.
For the extra size, you do get some features. For one, there is a 16×2 LCD display and an ADXL335 accelerometer, and you can probably imagine some other cool features for such a device.
Continue reading “Arduino Pedometer Counts Your Steps”
When you read “Arduino wristwatch”, you fall into the trap of envisioning an Arduino UNO clumsily strapped to someone’s wrist. [Marijo Blažević’s] creation is much more polished than that. A round circuit board holds two surface mount ICs and 12 LEDs. The whole thing looks nice fit snugly inside of a watch body. It isn’t a Rolex, but it does have considerable geek cred without being unwearable in polite company.
One IC is an AVR micro, of course. The other is a DS3231 real time clock with built-in crystal. A CR2032 keeps it all running. The main body, the outer ring, the bottom, and the buttons are 3D printed in PLA. The crystal and the band are the only mechanical parts not printed. The bill of materials shows a 36mm crystal and even provides links for all the parts.
You don’t want to run LEDs all the time because it is bad on the battery. When you press the button once, you get one of the LEDs to light to show the hours. Another press reads the minutes in units of 5 minutes. A third press shows you one of five LEDs to show how many minutes to add. For example, if the time is 9:26 you’d get LED 9 (hours), LED 5 for 25 minutes, and the third press would show LED 1 for 1 extra minute. If either of the minute indicators show 12 o’clock, that indicates zero minutes.
The exciting thing, of course, is that you can program it beyond the code on GitHub. Already it can tell time and display the temperature. You don’t have a lot of I/O, but you ought to be able to get some more options and maybe some flashy LED blinking patterns in if you try.
When [gdarchen] wanted to read some NFC tags, he went through several iterations. First, he tried an Electron application, and then a client-server architecture. But his final iteration was to make a standalone reader with an Arduino and use WebUSB to connect to the application on the PC.
This sounds easy, but there were quite a few tricks required to make it work. He had to hack the board to get the NFC reader’s interrupt connected correctly because he was using a Leonardo board. But the biggest problem was enabling WebUSB support. There’s a library, but you have to change over your Arduino to use USB 2.1. It turns out that’s not hard, but there’s a caveat: Once you make this change you will need the WebUSB library in all your programs or Windows will refuse to recognize the Arduino and you won’t be able to easily reprogram it.
Once you fix those things, the rest is pretty easy. The PC side uses node.js. If you back up a level in the GitHub repository, you can see the earlier non-Arduino versions of the code, as well.
If you want to understand all the logic that went into the design, the author also included a slide show that discusses the three versions and their pros and cons. He did mention that he wanted a short-range solution so barcodes and QR codes were out. He also decided against RFID but didn’t really say why.
NFC business cards are a thing. You can also use them to catch some public transportation.
Sometimes, a project comes along that makes a good reference design for anyone doing similar work. In this particular case, it’s a DIY USB polygraph-like machine by [Juangg] using an Arduino and sensors on the hardware side, and a Python front end for data visualization. It’s even complete with 3D printed enclosure and sensor elements.
[Juangg] designed it to use three sensors: a pulse sensor, a breath sensor, and one to measure Galvanic Skin Response (GSR). The pulse sensor uses a piezo element pressed against a fingertip to detect changes in pressure resulting from blood flow. It can be picky about placement, but finding sweet spot can yield remarkably good readings. The breath sensor works on a similar principle but uses a 3D printed fixture to hold the sensor between a strap and the subject’s chest, so that breathing in and out can be detected. The GSR sensor is a voltage divider used to measure small changes in skin conductivity. How well does it all work? That depends on what one is looking to get out of it, but the documentation and design files are available from the project page and the GitHub repository if anyone wants a reference for similar work.
The polygraph may have a mixed reputation, but it makes a good project that demonstrates just how messy biometrics can be from an engineering perspective. And in case you missed it, here’s a reminder that Wonder Woman and the polygraph have much more in common than you might realize.
Programming is a valuable skill, though one that can be daunting to learn. Throw hardware in the mix, and things ratchet up another level again. However, there are many projects that have sought to reduce the level of difficulty for newcomers. HeyTeddy is a new project that allows users to program an Arduino with voice commands, and the help of on-screen tutorials.
It’s a system that initially sounds cumbersome, but through smart design, is actually quite streamlined. Users can talk to the system, which uses an Amazon Alexa device for natural language voice recognition. This enables HeyTeddy to respond to questions like “how do I use a flex sensor?” as well as direct commands, such as “Set pin 10 to 250”.
The demo video does a great job of demonstrating the system. While the system is not suited to professional development tasks, its has value as an educational tool for beginners. The system is able to guide users through both hardware setup on a breadboard, as well as guide them through tests when things don’t work. Once their experience level builds, code can be exported to the Arduino IDE for direct editing.
It’s a great tool that has plenty of promise to bring many more users into the hardware hacking fold. It’s out of the workshop of [MAKInteract], whose work we’ve seen before. Video after the break.
Continue reading “Programming Arduinos With Voice Commands”