Post 54: More about Ultrasonic Rangefinders (and Arduino)
Back in post 50, I complained about the background load variation of Linux causing me inaccurate rangefinder results. So I bought an Arduino Micro. Since I had worked in C language off and on for 20+ years, that part of the transition was no particular problem. And after a bit of trouble I got my HC-SR04 device yielding more consistent readings than I had gotten from the Pi.
I suppose many Raspberry Pi addicts started with an Arduino -- or maybe not. But there is a vast gap between them:
Raspberry Pi Arduino Micro
CPU speed 700MHz 16MHz
avail. program memory 200+mb 32k (flash RAM)
file system gigabytes 0
operating system Linux i/o support, boot loader
And the programming environment exists exclusively on a host computer. On my iMac it's the Arduino.app -- which connects via USB micro plug. This connection provides power, downloader, data-in, data-out and a pseudo console. It all "seems" pretty smooth. Arduino source programs are called "sketches." And they are kept track of conveniently on my Mac. My main problem is that program memory is flash RAM. It (necessarily) persists whether or not power is maintained. Maybe it's my setup (Arduino.app / Arduino Micro) but when I compile and download a new sketch this often fails: download is supposed to do a reset (there is also a button) so the new program can take over, but this doesn't always work. Things hang in "downloading" and other problems. Irritating, but not impossible.
But this is supposed to be a Raspberry Pi blog.
But No. 2: there are lots of systems that involve Arduinos slaved (wired or wireless) to a Pi.