Tuesday, January 23, 2018

Arduino Impressions

I had mentioned to my son a while back that I might look into the Arduino, as a way to relaunch my decrepit electronics technologist's career. My son responded to that by getting me an Arduino starter kit for Christmas. Here's a view of that opened up on the workbench.

It's quite an array of stuff. (That little arrangement on the breadboard is an RGB LED wired up for a demonstration.)

The quality of the hardware is superb; everything is beautifully made. One little feature is almost too much of a good thing -- the resistors are all one percent tolerance, instead of five percent. The colour codes on one percent resistors are a bit difficult to read. Five percent tolerance resistors would be entirely adequate for the kit's purposes, and the colour coding on those is much easier to make out. One wonders what the kit's creators were thinking on that point.

Anyway, my son installed the software for the kit on my laptop, and left it with me to have at the array of exercises. As an old electronics hardware guy, the hardware aspects were all no-brainers, and I had no trouble getting the programs ('sketches', as Arduino likes to call them) to run.

All well and good, but there's a fly in the ointment. As one with minimal background in computer code and programming, I find the Arduino software impenetrable. I've had some exposure to microprocessor instruction sets back in the day, and that sort of thing made reasonable sense to me. I was able to actually work with it and manipulate it. The Arduino stuff is clear as mud, and leaves me baffled. I'd like to be able to do original, creative work with the Arduino, but I fear that it would be my life's work to fathom its software. The documentation is not terribly helpful -- nowhere can I find the sort of clear, concise presentation of an instruction set that I was accustomed to seeing way back when.

The literature that I have seen seems to imply that the software is fairly intuitive and readily learned. I'm calling 'hogwash' on that. The software looks to me like an arcane, opaque mass of syntactical booby traps -- the province of those who are adept at the C and C++ languages that it's supposedly based on.

I'm still hopeful that I'll find some interesting applications for the Arduino that will motivate me to keep at it, but they'll likely have to be things for which the software code already exists. I've found a metal detector project that looks promising, but I don't expect that I'll be writing original code for the Arduino anytime soon.

* * *

Update -- WEDNESDAY, APRIL 18, 2018

I've found something useful to do with this thing -- a temperature/humidity monitor.

* * *

Update -- FRIDAY, APRIL 27, 2018

The metal detector turned out to be a flaky bust. I've tried a couple of tachometers here, and here, and I couldn't get either one to work.

I'm not impressed. Arduino is looking to me like an over-hyped load of noise -- a lot of poorly executed, poorly explained, poorly documented 'projects' that could only be unravelled by one who is fully conversant with the C and C++ languages.

I'll keep at it. I'd love to make a go of being able to do original, creative work with the Arduino, but I can see that it's a project for the long haul. Arduino is not easy, it's not intuitive, it's not what its promoters make it out to be. And if anyone thinks that that assertion is wrong-headed and ignorant, I'd like to hear from them. I don't claim to be the sharpest knife in the drawer, and I'm open to having it explained to me how I'm wrong about Arduino.

* * *

Update -- MONDAY, APRIL 30, 2018

I got this sketch to work. I may be able to make it into a small engine tachometer that picks up its input signal from the spark plug wire. I'll do a post about it should I succeed.

* * *

The Elephant In The Room -- THURSDAY, MAY 3, 2018

Here's a little gem from the book 'Arduino: A Technical Reference" by J. M. Hughes. It appears in the book's preface, under the heading "Intended Audience":

"Ideally you should have a basic knowledge of C or C++,..."

You've got that right, J. M. Hughes. I have no such basic knowledge, and that's why I'm at a loss to make head or tail of Arduino 'sketches'. I'm inclined to paraphrase, 'Necessarily you must have a basic knowledge of C or C++,...'

And there you have it -- the Arduino hype is an egregious load of hogwash. Prove me wrong

- - -

Small Engine Tachometer Update -- TUESDAY, MAY 15, 2018

I got the tachometer to more-or-less work.

- - -

One More Gripe -- THURSDAY, MAY 17, 2018

None of the little hardware accessories come with schematics. I just received an infrared ROS (reflective object sensor) that I'd ordered from Amazon. It's a lovely piece of gear, but no schematic accompanies it. As an old electronics hardware guy, that really irritates me; I like to know what's going on with circuitry, down to the last detail.

Schematic? Not a chance.

Arduino is supposed to be, among other things, a way for a novice to get an introduction to electronics, yet every hardware bit is treated as a 'black box', with unknowable innards. As for getting a legible, printable schematic of any of the Arduino modules, good luck. Alleged 'schematics' are all over the place on the internet, they're just not readable.

Again, I call 'hogwash' on the whole Arduino enterprise. It's for tinkers who like to make LEDs blink, and for software adepts who can actually understand and write useful code. For the likes of me, it's largely a futile exercise in frustration.

# # #

# # #

No comments:

Post a Comment