The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Version |
Location |
Description |
Submitted By |
Date submitted |
Date corrected |
Printed |
Page 78
in the blue box entitled "Modems, Hubs, Switches, and Routers" |
in the blue box entitled "Modems, Hubs, Switches, and Routers", in the next to last paragraph beginning with "A switch is like a hub,..."
I believe that the last sentences should read:
"Objects attached to a hub *switch* don't get to see messages that aren't
addressed to them."
Note from the Author or Editor: Correct. Please change the final sentence of the penultimate paragraph of the sidebar on page 78 to read:
"Objects attached to a switch don't get to see messages that aren't addressed to them."
Also, there's an unnecessary line break in the text after "addressed". Please remove it.
|
Anonymous |
Jul 18, 2012 |
Mar 22, 2013 |
Printed |
Page 121
Fig 4.4 |
picture and circuit diagram do not match, A0- A2 connected directly to 5v on breadboard picture
Note from the Author or Editor: Correct. A corrected image for this has been sent to Adam Zaremba.
|
Anonymous |
Jan 30, 2013 |
Mar 22, 2013 |
Printed, PDF, , Other Digital Version |
Page 122
first code box |
Arduino Ethernet API has changed. Change the line:
Server server;
to read
EthernetServer server;
|
Tom Igoe |
Oct 06, 2011 |
Mar 22, 2013 |
Printed, PDF, , Other Digital Version |
Page 123
First code box |
Arduino Ethernet API has changed. Change the line:
Client client = server.available();
to read
EthernetClient client = server.available();
|
Tom Igoe |
Oct 06, 2011 |
Mar 22, 2013 |
Printed |
Page 124
first blue code box |
Arduino Ethernet API has changed. Change the line:
Client client = server.available();
to:
EthernetClient client = server.available();
and in the second bluecode box, change:
void makeResponse(Client thisClient) {
to:
void makeResponse(EthernetClient thisClient) {
|
Tom Igoe |
Oct 06, 2011 |
Mar 22, 2013 |
Printed |
Page 124
Code example |
Before (or indeed) after adding the lines in blue you'll need to declare
int lineLength = 0;
before the setup () method or you'll get an error when compiling.
Note from the Author or Editor: Correct. In the first code block replace the following:
String requestLine = "";
with this:
int lineLength = 0; // length of the incoming text line
|
baronrouge |
Jan 28, 2013 |
Mar 22, 2013 |
Printed |
Page 125
first blue code box |
Arduino Ethernet API has changed. Change the line:
void makeResponse(Client thisClient) {
to:
void makeResponse(EthernetClient thisClient) {
|
Tom Igoe |
Oct 06, 2011 |
Mar 22, 2013 |
Printed, PDF |
Page 133
Under "TextFinder Library" |
Inclusion of TextFinder results in a "Error compiling" message in the following (and any other 1.0-beta4 sketch:
/*
Web client
This sketch connects to a website (http://www.google.com)
using an Arduino Wiznet Ethernet shield.
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
created 18 Dec 2009
by David A. Mellis
*/
#include <SPI.h>
#include <Ethernet.h>
#include <TextFinder.h>
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {0x90, 0xA2, 0xDA, 0x00, 0x25, 0xCA};
IPAddress server(173,194,33,104); // Google
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;
TextFinder finder(client);
void setup() {
// start the serial library:
Serial.begin(9600);
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// no point in carrying on, so do nothing forevermore:
for(;;)
;
}
// give the Ethernet shield a second to initialize:
delay(1000);
Serial.println("connecting...");
// if you get a connection, report back via serial:
if (client.connect(server, 80)) {
Serial.println("connected");
// Make a HTTP request:
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
}
else {
// kf you didn't get a connection to the server:
Serial.println("connection failed");
}
}
void loop()
{
// if there are incoming bytes available
// from the server, read them and print them:
if (client.connected()) {
finder.find("Results <b>"); // seek to the Results field
finder.find("of about <b>"); // skip past this
long value = finder.getValue(); // get numeric value
Serial.print(value);
Serial.println(" hits");
}
// if the server's disconnected, stop the client:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
// do nothing forevermore:
for(;;)
;
}
}
Note from the Author or Editor: TextFinder needs to be updated. To fix this error, open the file TextFinder.h in libraries/TextFinder and change WProgram.h to Arduino.h. Save the changes to this file, then re-compile the sketch.
TextFinder has been partially incorporated in Arduino 1.0-rc1, though some of the method names have been changed. I'm working on updated code, which will be found on my gitHub repository when I'm done.
|
Anonymous |
Sep 25, 2011 |
|
Printed, PDF |
Page 133
United States |
Sketches will not compile with TextFinder as downloaded from playground/Code.
TextFinder Cannot find WProgram.h and Wprogram.h from 022 does not work.
Note from the Author or Editor: TextFinder needs to be updated. To fix this error, open the file TextFinder.h in libraries/TextFinder and change WProgram.h to Arduino.h. Save the changes to this file, then re-compile the sketch.
TextFinder has been partially incorporated in Arduino 1.0-rc1, though some of the method names have been changed. I'm working on updated code, which will be found on my gitHub repository when I'm done.
|
Ted Lawson |
Sep 26, 2011 |
|
Printed |
Page 135
secodn blue code box |
Arduino Ethernet API has changed. Change the line:
Client client;
to:
EthernetClient client;
|
Tom Igoe |
Oct 06, 2011 |
Mar 22, 2013 |
Printed |
Page 143
first blue code box |
Arduino Ethernet API has changed. Change the line:
Client client;
to:
EthernetClient client;
|
Tom Igoe |
Oct 06, 2011 |
Mar 22, 2013 |
Printed |
Page 160
second blue code box |
Arduino Ethernet API has changed. Change the line:
Client client;
to:
EthernetClient client;
This change needs to be made on all the examples using the Ethernet library. The gitHub repo for the code has been updated. A separate mail has been sent to Adam Zaremba about this.
|
Tom Igoe |
Oct 06, 2011 |
Mar 22, 2013 |
Printed |
Page 201
Fritzing Schematic |
Both TX/RX lines (yellow) connected to the XBee should move one row to the left to function.
Note from the Author or Editor: Correct. A corrected version of this image has been sent to Adam Zaremba.
|
Markus Ulsass |
Dec 03, 2011 |
Mar 22, 2013 |
Printed |
Page 204
near top between if and else |
the 2 lines between if and else need to be swapped in order. Lastsensor reading needs to be the result(0-1023) before being divided by 4 (0-255) so it can be compaired to the new sensor reading(0-1023)
Works great now.
Note from the Author or Editor: Correct. Please change the code sample at the top of page 204 to read as follows:
// look for a change from the last reading
// that?s greater than the threshold:
if (abs(result - lastSensorReading) > threshold) {
lastSensorReading = result;
result = result/4; // divide by 4 to fit in one byte
|
Anonymous |
Jan 02, 2012 |
Mar 22, 2013 |
Printed |
Page 218
first blue code box |
WiFi library API for Arduino has changed. Change the line:
Server server;
to
WiFiServer server;
|
Tom Igoe |
Oct 07, 2011 |
Mar 22, 2013 |
Printed |
Page 252
7th paragraph |
In the top part of figure 7-14, you have chosen a LM7833 as voltage ragulator. This has the following pins:
1: INPUT
2: GND
3: OUTPUT
In the bottom part of the figure (breadboard view), the pin configuration is that of a LD1117-33V:
1: GND
2: OUTPUT
3: INPUT
Additionally, in the bottom part of the figure pin Vcc of the Xbee radio is conncted to +9V of the battery.
Note from the Author or Editor: Correct. Please change the label on the regulator in the upper half of 7-14 from "LM7833 Voltage Reg" to "LD1117-33V Voltage Reg"
|
Anonymous |
Jan 21, 2012 |
Mar 22, 2013 |
PDF |
Page 270
right paragraph |
The example covers a setup of five Sensors. The last sentence reads:
"Because each one takes up to 5 milliseconds to return a result, you?d need up to 250 milliseconds to make a complete scan of the space."
This doesn't add up (or, rather, multiply). Either each Sensor takes 50 ms (so 5*50=250) or the total should be 25 ms (5*5=25).
Note from the Author or Editor: Correct. Please change the last sentence of the last paragraph on page 270 to read:
"Because each one takes up to 50 milliseconds to return a result, you?d need up to 250 milliseconds to make a complete scan of the space."
|
Philip Steffan |
Feb 08, 2012 |
Mar 22, 2013 |
Printed, PDF |
Page 278
caption of source code |
In the source code located just below MATERIALS box.
Next, type:
SU,48\r
> "This sets the radio to 9600 bps."
should be changed "This sets the radio to 4800 bps."
Note from the Author or Editor: Correct. Please change text to read "This sets the radio to 4800 bps."
|
Hyun-Gyu Kim |
Feb 17, 2013 |
Mar 22, 2013 |
Printed |
Page 386
Column 2, last paragraph |
Twilio is now available in some European countries, see http://www.twilio.com/blog/2011/10/twilio-launches-in-europe-opens-office-london.html
Note from the Author or Editor: Yes, this is indeed true.
|
Tom Igoe |
Oct 30, 2011 |
|
PDF |
Page 393
1st paragraph |
SMS character limit is 160, not 140, as claimed in the book.
(140 is Twitter's limit - so the message and the sender can fit into 160 characters:9
Note from the Author or Editor: Correct. Please change all references to "140 characters" in page 393, paragraph 2 to "160 characters".
|
Philip Steffan |
Mar 01, 2012 |
Mar 22, 2013 |
PDF |
Page 423
Bit Masking section, logic table in the AND operation |
In the description on the AND operation
if the two bits are equal, the result is 1. Otherwise, it's 0:
1 & 1 = 1
0 & 0 = 1
should be changed
0 & 0 = 0
Note from the Author or Editor: Correct. Change text to read as follows:
if the two bits are equal, the result is 1. Otherwise, it's 0:
1 & 1 = 1
0 & 0 = 0
|
Ethan Hyun-Gyu Kim |
Feb 23, 2013 |
Mar 22, 2013 |
PDF |
Page 436
contents of right panel (A Web-Based Device) |
In the description part of A Web-Based Device,
The blinds can be positioned variably, in a range from 1 to 10.
should be changed to 0 to 100 or 0 to 10, because the URL is written below.
To set a window's blind halfway down:
http://mywindows.example.com/window/2/50
To close them all:
http://mywindows.example.com/window/all/0
OR URL should be changed.
Note from the Author or Editor: Correct. Please change text to read as follows:
To set a window's blind halfway down:
http://mywindows.example.com/window/2/5
|
Ethan Hyun-Gyu Kim |
Feb 24, 2013 |
Mar 22, 2013 |
PDF |
Page 436
the 2nd paragraph in the right panel(section) |
Just follow the basic RESTful style of /object/attribute/newValue to get the value of a parameter,
URL should be changed
/object/attribute/
Note from the Author or Editor: Correct. Please change sentence to read as follows:
If you don't like these particular addressing schemes, you could make your own, of course, as long as you followed the basic RESTful style of /object/attribute/ to get the value of a parameter, and /object/attribute/ newValue to set it.
|
Ethan Hyun-Gyu Kim |
Feb 24, 2013 |
Mar 22, 2013 |