
Learning to Program the Arduino - krzysz00
http://www.linuxjournal.com/content/learning-program-arduino#
======
MoOmer
I'm not sure how many of you actually want to learn Arduino, but for those
that do:

<http://www.allaboutcircuits.com/>

Read it, learn it, live it. I started working through it and even just through
the first ~5-10 chapters, you'll be able to understand most electrical
diagrams in beginner Arduino projects. This way, you won't be assembling a
jigsaw puzzle by pictures - you'll be interpreting the diagram.

Arduino uses C, with a few libraries that you'll get familiar with following
any set of beginner projects.

<http://arduino.cc/>

If you're on the fence, and have ~$80 to spend on a hobby - go for a beginner
kit that comes with LEDs and a servo, and resistors, etc. It makes life
easier.

I have no idea why, but it's just so damned satisfying.

~~~
HeyLaughingBoy
_I have no idea why, but it's just so damned satisfying_

I'm an embedded developer and a few years ago I introduced another
(web/desktop) developer to simple microcontrollers. His reaction was the same.
It's basic programming, but there is something really visceral about making a
cylon LED chaser or wiggling a motor back and forth.

That connection to the physical world outside the computer is what's kept me
in embedded systems for 20 years.

------
phdp
What a terrible article. It's aimed at teaching people how to use an Arduino,
and the point of the article is to give a beginners look into it, yet the
disclaimer says it's only about the software side. I'm sorry, but an article
about the Arduino should be equally about hardware and software.

The real reason I'm saying this is that his diagrams with the LEDs will not
work. The potential across the LED leads is 0. In fact, on the example with 3
chasing LEDs, it may blow the ports (I don't know know if the pin is an open
collector or a current source).

~~~
anthonyb
Yep, he doesn't seem to have any idea of how a breadboard works. In fact, he's
got it completely backwards (LEDs on the power rails and power rails in the
component rows). It probably won't blow the ports with the resistors there,
but it definitely won't work the way he says it does.

Also, the Arduino IDE already has a serial terminal built in, so all of the
Processing terminal handling stuff is moot.

Final point is that running motors from the same supply as the Arduino tends
to break down if you put a decent load on them - you'll get brown outs and
weird resets.

On the plus side, he does include his bibliography on the last page, so you
can check out the original tutorials. That's a pretty decent set of links and
books.

------
angusgr
There's Jody Culkin's "Introduction to Arduino" comic as well:
<http://www.jodyculkin.com/comics-2/introduction-to-arduino>

A friend & I used this as a teaching resource for the first part of a 3 hour
workshop for non-programmers getting started with Arduino. We found it to be a
great teaching resource (although I'm not a teacher and haven't tried any
other methods, so I have nothing to compare it to.)

------
reefab
Coming from a web developer background, making stuff with the Arduino has been
very fun and a nice change of pace.

I'm working on Internet of things projects, generally on the server side, but
I decided to try my hand at making an actual device so I made a stationary
bike computer that automatically upload workout sessions on Runkeeper:

<https://github.com/reefab/CyclingPusher>

------
K2h
I had never heard of Fritzing [1], the program used to draw the diagrams. 18MB
for the windows version, I think I'll check it out. it looks to be at least 3
years old. found it on hack a day [2]

[1] <http://fritzing.org/download/> [2]
<http://hackaday.com/2009/08/25/fritzing/>

------
robomartin
I'm teaching my kid Java. Does Java for Arduino exist? I don't want to confuse
him with disparate languages, even though going to C++ wouldn't be a horrible
stretch.

If Java on Arduino isn't a possiblity, are there Arduino-like boards for Java?

~~~
bri3d
I think your best options are LeJOS (Java for Mindstorms) or the Sun SPOT (
<http://www.sunspotworld.com/> ). Both are a bit pricier than the (already
overpriced) Arduino, but the Sun SPOT is a lot more powerful computationally.

~~~
robomartin
Sun SPOT sounds really interesting, thanks.

We have Mindstorms and have switched to RobotC from CMU rather than using the
graphical programming approach. That works well enough. It seems that all
middle and high-school programs that do Mindstorms stay with the graphical
programming approach which is a shame because it makes doing anything serious
very difficult.

------
QuarkSpark
Even a kid can program an arduino. Though it's syntax is very C-like, its much
simpler to work with.

~~~
randomdata
The syntax is actually straight up C++, though you can also use C code in the
Arduino IDE if you give your file a .c extension.

~~~
TazeTSchnitzel
It's C++ made to look like Processing, for some reason.

~~~
bigiain
FWIW, it's not "made to look like Processing", it _is_ Processing. They use
(or at least built on top of) the Processing IDE.

~~~
randomdata
They are different. Processing is built on Java, Arduino is built on C++.

~~~
bigiain
That's true for the _languages_, but the Arduino development environment is
built on Processing, see second para here:

<http://arduino.cc/>

