Go Down

Topic: The Complete Beginners Guide to the Arduino (Read 37989 times) previous topic - next topic


In project 17, three wires are leading to nowhere...
This is how it worked for me:
The red one belongs to +, the blue one from pin 11 to 14 of register 1, and the orange one leads from pin 15 of register 1 to the first resistor.


great stuff thanks..
i specially like book startup..


maybe a project or two with servos... :)...


Jan 11, 2010, 10:58 pm Last Edit: Jan 12, 2010, 07:21 pm by iamben Reason: 1

I found this guide extremely useful and very very helpful ! Thanks so much ! One thing I did notice, as has been mentioned is the led matrix diagram has wires going to nowhere :P I also think that for future additions to the book I would like to see an led scrolling clock :)

[edit]Actually maybe a binary clock because the code doesn't seem to work with the LED matrix that came with my starter kit, it just flashes randomly :( If anyone knows how to fix that please let me know ![/edit]



Great job on the book - well written and well explained so a simple old man like me could get started and understand what was being done.


Ken H.


I had the same strange effect with the matrix when I powered arduino with the USB-cable. When I removed it and used a battery instead, everything worked fine and I got the heart.
No idea why...


Jan 16, 2010, 03:59 am Last Edit: Jan 16, 2010, 08:19 am by digimike Reason: 1
That would be a problem with your PC not the arduino or example code being used. Well not really a problem but a limitation on the amount of power the USB port is able to supply. A USB 2.0 port is only able to offer a max of about 500mA. While the batteries are able to sustain allot more.

Anyone else have problems getting this guide threw firefox?


Great job, thanks! This is heaven for complete beginners like me :)


Jan 17, 2010, 07:23 am Last Edit: Jan 17, 2010, 07:34 am by digimike Reason: 1
Found a slight issue. Its more of a page layout issue then anything.

Due to the page layout on page 44 the code for project 6 doesn't copy and paste over to the IDE well. With all the projects i highlight, copy, and paste the code from the PDF to the IDE. Problem is the wrap around on the code commentary causes some of the commentary to fall on a new line. So without the "//" in front of it the IDE thinks its functioning code. I've highlighted the problem areas.

Code: [Select]
// Create array for LED pins
byte ledPin[] = {4, 5, 6, 7, 8, 9, 10,
11, 12, 13};
int ledDelay; // delay between changes
int direction = 1;
int currentLED = 0;
unsigned long changeTime;
int potPin = 2; // select the input
[glow]pin for the potentiometer[/glow]
void setup() {
// set all pins to output
for (int x=0; x<10; x++) {
pinMode(ledPin[x], OUTPUT); }
changeTime = millis();
void loop() {
// read the value from the pot
ledDelay = analogRead(potPin);
// if it has been ledDelay ms since
[glow]last change[/glow]
if ((millis() - changeTime) >
ledDelay) {
changeTime = millis();
void changeLED() {
// turn off all LED's
for (int x=0; x<10; x++) {
digitalWrite(ledPin[x], LOW);
// turn on the current LED
// increment by the direction value
currentLED += direction;
// change direction if we reach the
if (currentLED == 9) {direction =
if (currentLED == 0) {direction = 1;}

So you can see where the IDE will come up with errors as you try to compile it as is. many beginners may have problems with that.

BTW i still had trouble getting the PDF to upload threw Firefox. But was able to get it just fine threw IE.

Also on page 42, the bottom left paragraph has a typo.
In our mail loop we check that at least ledDelay milliseconds
have passed since the last change of LED[ch700]s
and if so it passes control to our function. The reason
we are only going to pass control to the changeLED()
function in this way, rather than using delay()
commands, is to allow other code if needed to run [glow]int
he[/glow] main program loop (as long as that code takes less
than ledDelay to run.

I've seen others but i'm pretty sure most of them are Queen's English vs. American English differences. Basically my poor English compared to your proper English.

Page 45:
We need [glow]to[/glow] set our delay using the potentiometer so we
will simply use the direct values read in from the pin to
adjust the delay between 0 and 1023 milliseconds. We
do this be [glow]by[/glow] directly reading the value of the
potentiometer pin into ledDelay. Notice that we do not
need to set an analog pin to be an input or output like
we need to with a digital pin.

OK i'll stop now. No need to nit pick or i'll never hear the end of it when i have a typo in here. lol


Hi digimike,

you mentioned copy and pasting the code over to the IDE and there being faults in it, This is not really a problem because if you wish to get the code the quick way rather than typing it out then there is a download on the earthshine website with all the code in .pde format.


True but when going threw the PDF and learning, the code is right there and its quicker and easier to copy and paste it from there.


Thanks alot for this! Its been a great resource for me so far!


Thanks for the input. Glad you like it. There are a few errors in the book that people have pointed out to me. I am collecting them all and they will go in the next revision due out soon.


Just hit Project 14. The description of the project doesn't reflect what the project does.

It reads:
In this project we are going to use the Light
Dependent Resistor in our kit to read values from it
and output them to the Serial Monitor.

The problem is the project has nothing to do with outputting the values to the serial monitor. It takes the values from the LDR and uses them to speed up or slow down a flashing LED.

"In this Project we are going to use the Light Dependent Resistor in our kit and read values from it to control the speed at which an LED will flash."

Go Up