We love little tricks like this. Suppose that you want to generate an IR remote’s signal. It’s easy, because most of the codes are known. But it can be slightly harder because most IR remotes and receivers modulate the on pulses with a square wave at roughly 38 kHz for background lighting immunity.
With a competent PWM generator on a microcontroller, you can create this carrier modulation easily enough yourself. Set the PWM frequency to 38 kHz and the duty cycle somewhere in the 33%-50% range, and you’re set. But what if you don’t have a competent PWM generator? Such was the case that prompted [AnalysIR Blog] to fake it, with USART.
Here’s the trick. You set up the serial port to communicate at ten times the desired carrier frequency, and then transmit “special” data. (The number ten comes from eight bits of data plus a start and a stop bit.) If you want a 50% duty cycle, you simply send
0b11110000, as fast as the microcontroller will allow, for a mark and nothing for a space.
There’s some extra detail with inverting the signal if, as most do, your USART idles high. But that’s really it. It’s a cute trick for when you’re desperate enough to need it. And if you’d like to brush up some more on your asynchronous serial skills, check out our guide on troubleshooting USART, and the great comments that ensued.
There’s a car race going on right now, but it’s not on any sort of race track. There’s a number of companies vying to get their prototype on the road first. [Anurag] has already completed the task, however, except his car and road are functional models.
While his car isn’t quite as involved as the Google self driving car, and it doesn’t have to deal with pedestrians and other active obstacles, it does use a computer and various sensors to make decisions about how to drive. A Raspberry Pi 2 takes the wheel in this build, taking input from a Pi camera and an ultrasonic distance sensor. The Pi communicates to another computer over WiFi, where a neural network operates to make decisions about how to drive the car. It also makes decisions based on a database of pictures of the track, so it has a point of reference to go by.
The video of the car in action is worth a look. It’s not perfect, but it’s quite an accomplishment for this type of project. The possibility that self-driving car models could drive around model sets like model railroad hobbyists create is intriguing. Of course, this isn’t [Anurag]’s first lap around the block. He’s already been featured for building a car that can drive based on hand gestures. We’re looking forward to when he can collide with model busses.
Continue reading “Self-Driving Cars Get Tiny”
The Tile is a small Bluetooth chip, speaker, and enough battery for a year in a keychain format. If you lose your keys in the morning, simply use the app on your phone to find the keychain. If you lose your phone simply get out your second phone.
This planned obsolescence didn’t jive with [JM] when his Tile stopped being discoverable. He didn’t want to toss a gadget that had served him so well into the landfill. So, like any good hacker, he cracked its plastic case open.
The Tile itself is a really interesting product. The largest component is the battery which has tabs spot-welded to its surface. Attached to those is a well laid out board. [JM] points out the clever use of spring contacts to engage the piezo element for the speaker as a nice example of good design for manufacture.
The hack itself was pretty easy to complete. Some electrical tape and soldering was all it took to embed the tile into the remote. Now he can take out his phone and press a button to hear a forlorn beep coming from under the couch cushions.
There are a number of ways to control an automobile without using the pedals, and sometimes even without using the steering wheel. Most commonly these alternative control mechanisms are installed in vehicles whose owners are disabled in some way, but [Anurag] has taken this idea of alternative control one step further. He has built a car that can be driven by hand gestures alone.
On a remote controlled car, a Raspberry Pi 2 was installed that handles processing and communication. A wireless network is created on the Pi, and a laptop connects to the Pi over the network. The web camera on the laptop regularly captures frames at 15 fps to check for the driver’s hand gestures. The image is converted to gray scale, thresholded, contours are obtained, and the centroid and farthest points are obtained.
After some calculations are done, a movement decision is taken. The decision is passed to the Pi, which in turn, passed that to the internal chip of the car. All of the code is available on the project’s github page. [Anurag] hopes that this can be scaled up to full sized cars in the future. We’ve seen gesture-based remote controls before that rely on Sonar sensors, so it’s interesting to see one that relies strictly on image processing.
Continue reading “Hand Gestures Drive Car”
It’s just ridiculous how cheap and easy it is to do some things today that were both costly and difficult just two or three years ago. Case in point: Hackaday.io user [gamaral] built a WiFi remote control for his Canon E3 camera out of just three parts: an ESP8266 module, a voltage regulator, and a stereo plug that the camera uses as its remote trigger.
And the codebase is just about as minimal, although it’s not without its nice touches. Control is easy — just pull down a pin for focus or shutter. The ESP listens to a custom port, and when it gets the message, “presses” or “releases” the pins. It’s a good, simple example of how to work with the ESP IOT SDK.
The timing is all on the client side. [gamaral] knew that he was going to want to play around with how long to hold down the focus button, for instance, so he left that flexible. Using Netcat makes the client-side code completely trivial:
echo -n "SHUTTER HOLD" | nc -w 1 -q 1 roosevelt 9021. Bam. And it worked first time. Check the well-done video just below for more details.
And keep your eye on [gamaral]’s Hackaday.io page, because he’s going to make another video when the PCBs arrive in the mail.
Continue reading “Five Bucks, Three Parts: WiFi Camera Remote”
Pervasive connectivity is a mixed blessing at best, especially when it creates the expectation that we’ll always have access to everything we need. When what you need is on your work or home PC, there are plenty of options for remotely accessing files using your phone. But if your roomie or the cleaning crew powers the machine down, you’ve got a problem – unless you’ve got a way to remotely power the machine back up.
[Ahmad Khattab]’s hack required getting up close and personal with his PC’s motherboard. A Particle Photon steals power from the always-on 3.3 volt line of the vacant Trusted Platform Module connector on his machine. Outputs from the Photon are connected to the motherboard’s power switch connection and a smartphone app drives the outputs and turns the machine on and off. As [Ahmad] admits, there are plenty of ways to attack this problem, including Wake-on-LAN. But there’s something to be said for the hardware approach, especially when a Photon can be had for $20.
Astute readers will note that we recently covered a very similar project using a Particle Core. Be sure to check that one out for a little more detail on using Particle’s cloud, and for some ideas on powering the module if your motherboard lacks a TPM port. In the meantime, enjoy [Ahmad]’s video.
Continue reading “Remote PC Power Control Thwarts Button Pushers”
If you’ve built yourself a home theater PC, one of your highest priorities is probably coming up with a convenient control solution. The easiest way to do this is to simply use something like a wireless keyboard and mouse. But, that’s not very conducive to an enjoyable home theater experience, and it feels pretty clunky. However, if you’ve got the right components lying around, [Sebastian Goscik] has instructions and an Arduino sketch that will let you control your HTPC with any IR remote control.
There are a number of ways you could control your HTPC, and we’ve featured more than one build specifically for controlling XBMC over the years. Unfortunately, most of those methods require that you spend your hard earned money (which is better spent on popcorn). [Sebastian’s] setup can be replicated with things you probably have on hand: an Arduino, an IR remote, and a scavenged IR receiver. The IR receiver can be found in many devices, like old stereos or TVs that themselves were controlled via an IR remote.
It starts with an Arduino Sketch that lets you can see on the serial monitor what code is being generated by the button presses on your remote. These are then scripted to perform any task or function you like when those buttons are pushed. The most obvious use here is simple directional control for selecting your movies, but much more complex tasks are possible. Maybe someone can program a T9 script to type using the number buttons on most remotes?