The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Version |
Location |
Description |
Submitted by |
Date submitted |
Printed |
Page xv
middle of page |
The URL listed does not point to example code as promised in the book. In particular the libraries are not available for download. Without the libraries it is hard to use the example sketches in the book. You need to publish the location of the libraries. They are not easily found through google.
Also not that throughout the book it refers to this page as "page 15" when it should say "page xv".
|
Chris Thompson |
Oct 01, 2012 |
Other Digital Version |
online components list
https://docs.google.com/spreadsheet/pub?key=0AtfNMvfWhA_cdDAzVHRBMVdmM1p3X1B4emhzcWlQN2c&single=true&gid=3&output=html |
Parts list should be more detailed. Several times the book mentions that you can leave the specifics of the plan and that it's not unalterably tied to the kit. Specifically it mentions making your own chassis, which I had planned to do.
So it would be helpful to note what kind of motor/gearbox the kit calls for, or at least a description of what kind of motor and gearbox can be used.
|
Anonymous |
Dec 25, 2013 |
Other Digital Version |
parts list
online |
The online parts list posted at this web site describes a link to a motorshield at Makershed. The link points to the motorshield v2, and the product description for that item indicates it is not compatible with the kit this book is sold with.
|
Fred Baerkircher |
Dec 26, 2013 |
PDF |
Page 9
United Kingdom |
The Motor shield described in this book has been superseded by a version 2.
The assembly instructions are therefore not relevant, but most importantly it is not clear where the sensors should be attached to on the new motor shield.
Will there be a revised chapter 2 on building the electronics?
|
Max Dobres |
Jun 17, 2014 |
Printed, PDF |
Page 11
Figure 2-1 |
There should only be one jumper in this photo, but it shows two. See the BOM at http://www.ladyada.net/make/mshield/parts.html.
|
Brian Jepson |
Mar 29, 2013 |
Printed, PDF, ePub |
Page 11-17
Figures and text |
The instructions are for the previous motor shield. The motor shield sent with my recent purchase (kit purchased in December 2013) came with the Adafruit Motorshield v2.0. The new motorshield does not look the same as all the figures in the current instructions.
|
Jorge Borroel |
Dec 12, 2013 |
Printed |
Page 15
Figure 2-6 |
This figure shows a new 3x6 female header in the lower right that wasn't in the previous figure (2.5), and isn't mentioned in the book at all. Also, I don't find that part in the Rovera 4W Arduino Robot Kit. Where do I get this?
|
Mike Lanza |
Jan 25, 2013 |
Printed |
Page 15
1st paragraph |
This sentence mentions "three pin female headers." It would have been nice if you had mentioned these in the parts list.
|
Mike Lanza |
Jan 25, 2013 |
Printed |
Page 18
Figure 2-10 |
I have the kit (4WD), but I see no "stripboard" like what is shown. I have something that is similar (it says "Datak," "CIC," and 21-113" on it), but it's not the same dimensions (it's 15x25 pins), and it has different connections, more like a breadboard.
Where can I get this stripboard?
|
Mike Lanza |
Jan 25, 2013 |
Printed, |
Page 44
see description below |
code will not compile, gives following error messages:
sketch_feb12b:11: error: 'CS22' was not declared in this scope
sketch_feb12b:12: error: 'AF_DCMOTOR' does not name a type
sketch_feb12b.ino: In function 'void setup()'
sketch_feb12b:24: error: 'Motor_Right' was not declared in this scope
sketch_feb12b.ino: ln function 'void loop'
sketch feb12b.ino: ln function 'void blinkNumber(byte)':
sketch_feb12b:42 error: 'PinMode' was not declared in this scope
There are more, but you get the idea. I have never had this kind of problem before,and am at a loss as to what I am doing wrong.
I copied the code EXACTLY as shown in the book, twice on a MAC Book Pro, 3 times on an HP Pavillion. AFMotor IS in the Arduino library and contains the required files.
I have never had this kind of problem before,and am at a loss as to what I am doing wrong.
|
Lee Foster |
Feb 12, 2014 |
Printed |
Page 49
Photo |
Hi,
I found several minor errors and thought I'd pass them on.
1. There are three right angle brackets with large holes in them in the 4WD kit and I can find no mention of them at all in the book. What are they for?
2. In the 4WD kit, there is supposed to be two lengths of 10" 3-conductor wire but the is only 1 length of 5 conductor wire. I had some ribbon cable and just used lengths of that,
3. One of the mounting holes in the platei is a little off and I was only able to use the two arduino mounting holes that were on the same edge. There was also no mention of the brass standoffs to mount the arduino in the 4WD build section but I found a mention of them in the 2WD section.
4. The book wasn't very clear about the 2-56 bolts and nuts needed to mount the IR sensors and they don't appear in the hardware pack. I picked some up at a local store.
Congratulations on writing a really interesting book and a well constructed rover. I'm really looking forward to working with it. And am already thinking about adding a compass module!
Best regards,
Rob
|
Rob Moore |
Jan 05, 2013 |
Other Digital Version |
57
Figure 4-17 |
Trickle Charger Detection
It is unclear where the blue voltage monitoring wire in figure 4-17 is connected. One end is on the charging adapter. Where is the other end? In the sample code it looks like it is attached to digital pin 2, but how is that possible since the motor shield occupies all the digital pins? It would be great if you could supply a picture of the board showing the voltage monitoring wire attached.
Thank you!
|
Wayne Heller |
Nov 29, 2013 |
Printed |
Page 68
Sketch listing |
I am unable to successfuly compile the MotorTest4wd sketch using the downloaded software.
List of error messages received when attempt was made to compile MotorTest4wd
MotorTest4wd:14: error: ?AF_DCMotor? does not name a type
MotorTest4wd:15: error: ?AF_DCMotor? does not name a type
MotorTest4wd:16: error: ?AF_DCMotor? does not name a type
MotorTest4wd:17: error: ?AF_DCMotor? does not name a type
MotorTest4wd.ino: In function ?Void setup()?:
MotorTest4wd:28 error: ?Motor_Left_Front? was not declared in this scope
MotorTest4wd:29 error: ?Motor_Right_Front? was not declared in this scope
MotorTest4wd:30 error: ?Motor_Left_Rear? was not declared in this scope
MotorTest4wd:31 error: ?Motor_Right Rear? was not declared in this scope
MotorTest4wd.ino: In function ?Void loop()?:
MotorTest4wd:38 error ?Motor_Left_Front? was not declared in this scope
MotorTest4wd:38 error ?Forward? was not declared in this scope
MotorTest4wd:39 error ?Motor_Left_Rear? was not declared in this scope
MotorTest4wd:41 error ?Motor_Right_Front? was not declared in this scope
MotorTest4wd:41 error ?Backward? was not declared in this scope
MotorTest4wd:42 error ?Motor_Right Rear? was not declared in this scope
MotorTest4wd:46 error ?Release? was not declared in this scope
Please help. Thanks
|
Bob C |
Mar 21, 2013 |
ePub |
Page 68
Example 4-1 |
Not an error, but a workaround for use with the Arduino Mega
Commented text was changed. Without this change only the right front and left rear motors worked.
/*
AF_DCMotor Motor_Left_Front(4, MOTOR34_1KHZ); // Motor 4
AF_DCMotor Motor_Right_Front(3, MOTOR34_1KHZ); // Motor 3
AF_DCMotor Motor_Left_Rear(1, MOTOR12_1KHZ); // Motor 1
AF_DCMotor Motor_Right_Rear(2, MOTOR12_1KHZ); // Motor 2
*/
AF_DCMotor Motor_Left_Front(4, MOTOR12_2KHZ); // Motor 4
AF_DCMotor Motor_Right_Front(3, MOTOR12_2KHZ); // Motor 3
AF_DCMotor Motor_Left_Rear(1, MOTOR12_2KHZ); // Motor 1
AF_DCMotor Motor_Right_Rear(2, MOTOR12_2KHZ); // Motor 2
|
Bill James |
May 19, 2014 |
Printed |
Page 136
Examples 8-3 & 8-2 |
My ambient sensor readings are about 800 for white and 1000 for black.
With irReflcetThreshold = 10 and irEdgeThreshold = 90 as given in text p 137 and in the code, and taking my white reading as ambient, I get
irSensorRelfect = 800 x 90/100 = 720
irSensorEdge = 800 x 190/100 = 1520
With this value for irSensorEdge, both white and black ambient reading will give false from the irEdgeDetect code in Example 8-2!
I suggest that the correct formula is
irSensorEdge = ambient * (100 + irReflcetThreshold)/100
For ambient = white = 800 this gives
irSensorEdge = 800 x 110/100 = 880.
In this case a black reading of 1000 give true from irDetectEdge.
|
Tom Lasinski |
Jun 17, 2013 |
PDF |
Page 141
example code |
The example code for the Sharp IR distance sensor has a couple of errors. Both are in the mvToDistance function.
First, the code doesn't consistently take the firstElement offset into account. In the "else" portion of the function, the data in the array is addressed as if there is no firstElement offset. This causes all of the readings to be incorrect. To fix this, use the following three lines of code to replace the existing corresponding lines:
int index = (mV - firstElement) / INTERVAL;
int mV0 = (index * INTERVAL) + firstElement;
int result = map(mV, mV0, mV1, distance[index], distance[index+1]);
The same issue also appears in the second conditional if. It returns the lowest distance in the array if mV rises beyond the limit of the array. Again, it fails to take into account the firstElement offset, so it returns the lowest value in the array even when mV is still within the range of the array. Replace the existing if statement with the following:
if( mV > INTERVAL * TABLE_ENTRIES + firstElement - INTERVAL)
The second type of error is also in the mvToDistance function. If the mV reading is outside of the range of the Sharp sensor, the conditional if statements will return either the shortest distance or the longest distance stored in the array. This is fine, but it returns the value in centimeters. The "else" portion of the conditional statement returns the distance in inches. I'm OK working with centimeters so I just removed the cm to inch conversion in the else statement. If you want to use inches, move the conversion to the irGetDistance function where it can be applied consistently on all returned values. Related to this, the irGetDistance function uses a variable named cm. Just make sure that this variable is named consistently with whatever type of units you decide to use.
(I should note that I used a different Sharp sensor, so I had to modify the distance[] array for the values my sensor was returning. In doing this, I chose to use a smaller INTERVAL of 100 mV to get better resolution. This resulted in an array with 28 values and a firstElement offset of 400 mV. I mention this because it is possible that the code in the example works correctly for its specific case. I did not check. But it is broken for the general case in which you might be using different sized arrays, different offsets, and different intervals.)
|
Lee Ratliff |
Jan 21, 2013 |
PDF |
Page 157
United Kingdom |
I'm trying to understand Example 9-3 and can't figure out how it makes sense. The returned result of the drift calculation only uses the value from the left sensor and the right sensor. The value from the centre sensor is used in the calculations of 'leftSense' and 'rightSense' but then those values are simply thrown away.
Is it correct that the drift should only be calculated based on the left + right sensors? The text in the paragraphs before the code sample just mentions calculating drift based on left + right sensors.
If that's the case, why have three sensors at all? What should be happening with the centre sensor, and what should be happening with the values of 'leftSense' and 'rightSense'?
|
Royston Shufflebotham |
Nov 10, 2012 |
Printed |
Page 189
Esempio 11-2 |
In the file myRobotSerialRemote.ino I get the following error compilation:
error: 'SPEED' was not delated in this SCOPE.
I assume it is my ignorance and I would like to understand why it happens.
Than you very much
Kind regards
|
arnaldo armida |
Mar 25, 2014 |