Everyone loves learning a new programming language, right? Well, even if you don’t like it, you should do it anyway, because thinking about problems from different perspectives is great for the imagination.
Juniper is a functional reactive programming language for the Arduino platform. What that means is that you’ll be writing your code using anonymous functions, map/fold operations, recursion, and signals. It’s like taking the event-driven style that you should be programming in one step further; you write
a=b+3 and when
b changes, the compiler takes care of changing
a automatically for you. (That’s the “reactive” part.)
If you’re used to the first-do-this-then-do-that style of Arduino (and most C/C++) programming, this is going to be mind expanding. But we do notice that a lot of microcontroller code looks for changes in the environment, and then acts (more or less asynchronously) on that data. At that level of abstraction, something like Juniper looks like a good fit.
Continue reading “Learn Functional Reactive Programming on Your Arduino”
The subreddit for Shower Thoughts offers wisdom ranging from the profound to the mundane. For example: “Every time you cut a corner you make two more.” Apparently, [Harin] has a bit of an addiction to the subreddit. He’s been sniffing the CAN bus on his 2012 Hyundai Genesis and decided to display the top Shower Thought on his radio screen.
To manage the feat he used both a Raspberry Pi and an Arduino. Both devices had a MCP2515 to interface with two different CAN busses (one for the LCD display and the other for control messages which carries a lot of traffic.
The code is available on GitHub. There’s still work to do to make the message scroll, for example. [Harin] has other posts about sniffing the bus, like this one.
We’ve covered CAN bus quite a bit, including some non-automotive uses. We’ve even seen the CAN bus for model railroading.
It is likely that many of us will at some time have experimented with motion detectors. Our Arduinos, Raspberry Pis, Beaglebones or whatever will have been hooked up to ultrasonic or PIR boards which will have been queried for their view of what is in front of them.
[Connornishijima] has stumbled on a different way to detect motion with an Arduino, he’s polling an ADC pin with a simple length of twisted pair hooked up to it and earth, and reliably generating readings indicating when he (or his cat) is in its vicinity. He’s calling the effect “Capacitive turbulence”, and he’s open to suggestions as to its mechanism. He can only make it work on the Arduino, other boards with ADCs don’t cut it.
Frequent Hackaday featuree [Mitxela] may have also discovered something similar, and we’ve hesitated to write about it because we didn’t understand it, but now it’s becoming unavoidable.
It’s always dangerous in these situations to confidently state your opinion as “It must be…” without experimental investigation of your own. Those of us who initially scoffed at the idea of the Raspberry Pi 2 being light sensitive and later had to eat their words have particular cause to remember this. But this is an interesting effect that bears understanding. We would guess that the Arduino’s fairly high input impedance might make it sensitive to mains hum, if you did the same thing to an audio amplifier with a phono input you might well hear significant hum in the speaker as your hand approached the wire. It would be interesting to try the experiment at an off-grid cabin in the woods, in the absence of mains hum.
If you’d like to give his experiment a try, he’s posted his sketch on Pastebin. And he’s put up the video below the break demonstrating the effect in action, complete with cats.
Continue reading “Arduino Motion Detection With A Bit Of Wire”
A few years ago, you could buy an IRIS 9000 Bluetooth speaker. Its claim to fame was that it looked like the “eye” from the HAL 9000 computer on 2001: A Space Oddessy. There’s something seductive about the idea of having a HAL eye answer your queries to Google Now or Siri. The problem is, it still sounds like Google or Siri, not like HAL.
[Badjer1] had the same problem so he decided to build his own eye. His goal wasn’t to interface with his smartphone’s virtual assistant, though. He settled on making it just be an extension cord with USB ports. As you can see in the video below, the build has HAL-style memory units, a key, and can speak phrases from the movie (well, 28 of them, at least). The key is like the one Dave used to deactivate HAL in the movie.
Continue reading “I’m Sorry Dave, I Only Say 28 Phrases”
Flying a drone usually leads to–sooner or later–crashing a drone. If you are lucky, you’ll see where it crashes and it won’t be out of reach. If you aren’t lucky, you’ll know where it is, but it will be too high to easily reach. The worst case is when it just falls out of the sky and you aren’t entirely sure where. [Just4funmedia] faced this problem and decided to use some piezo buzzers and an Arduino to solve it.
Yeah, yeah, we know. You don’t really need an Arduino to do this, although it does make it easy to add some flexibility. You can pick two tones that are easy to hear and turn on the buzzers with a spare channel or sense a loss of signal or power.
Continue reading “Find a Drone”
The Raspberry Pi was made to be inexpensive with an eye toward putting them into schools. But what about programs targeted at teaching embedded programming? There are plenty of fiscally-starved schools all over the world, and it isn’t uncommon for teachers to buy supplies out of their own pockets. What could you do with a board that cost just one dollar?
That’s the idea behind the team promoting the “One Dollar Board” (we don’t know why they didn’t call it a buck board). The idea is to produce a Creative Commons design for a simple microcontroller board that only costs a dollar. You can see a video about the project, below.
Continue reading “One Dollar Board Targets Students”
A large installed base of powered speakers from a defunct manufacturer and a dwindling supply of working remote controls. Sounds like nightmare fuel for an AV professional – unless you take matters into your own hands and replace the IR remotes with an Arduino and custom software.
From the sound of it, [Steve]’s crew was working on AV gear for a corporate conference room – powered speakers and an LCD projector. It was the speakers that were giving them trouble, or rather the easily broken or lost remotes. Before the last one gave up the ghost, [Steve] captured the IR codes for each button using an Arduino and the IRRemote library. With codes in hand, it was pretty straightforward to get the Nano to send them with an IR LED. But what makes this project unique is that the custom GUI that controls the Arduino was written in the language that everyone loves to hate, Visual Basic. It’s a dirty little secret that lots of corporate shops still depend on VB, and it’s good to see a little love for the much-maligned language for a change. Plus it got the job done.
Want to dive deeper into IR? Maybe this primer on cloning IR remotes with an Arduino will help. And for another project where VB shines, check out this voice controlled RGB LED lamp.