This page lists unconfirmed errors and comments from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Making Things Talk, 1e by Tom Igoe The catalog page for this title is http://www.oreilly.com/catalog/9780596510510/ This page was last updated July 18, 2008. If you have technical questions or error reports, you can send them to booktech@oreilly.com. Please specify the printing date of your copy or the digital version accessed. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem UNCONFIRMED errors and comments from readers: [69] Flow Control - Processing code ; I worked through the Arduino and Processing example for Flow Control and was frustrated to find that handshaking between the Arduino and a Processing application would not work at all. After doing a Web search, I found that the Processing code needs to have a minimum 11 seconds delay added to the startup routine if the Arduino board is the Diecimila, which all new boards sold now seem to be. More info can be found at this forum: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1187635332;start=all Once I put a delay(11000) line in the Processing startup code, then the handshaking system worked fine. (It is a stupid way to fix the bug in the Diecimila.) Anyway, perhaps you can put that info somewhere obvious so other folks won't experience the pain I went through with this issue. {74}Adjusting the Monski program paragraph and in code listing; Ok, so there has been some talk in the errata on the updated RovingNetworks based BlueSmirf module replacing the older version of the module that the book was written for. I found that the default baud rate of the new module is actually 115.2K and not 9600, so the code that references 9600 would then need to change. Also, the default passcode for my module was "1234". I found the PINCODE (ie, passcode) at http://www.sparkfun.com/datasheets/RF/RN_BlueportII-ref-guide.pdf The reference to the new baud rate at http://www.lynxmotion.com/images/html/build125.htm (and also talks about different passcodes as well). I'm not running the Monski program at the moment, but just got a connection going on Windows Vista using Putty at 115.2kbps and after changing my Arduino code to set serial output rate to 115.2 also, so I feel this has been sufficiently confirmed for me. [75] Walkthrough refers to old model WRL-00582 in how to PG 75-78; The walkthrough for the bluetooth bluesmirf module covers the old unit, which unfortunately has the same part number as the new. The commands for the new offering (which I ordered and used) are very different from the origional bluesmirf that is described. It does not use AT command as described in the text, but rather a different set by Roving Networks. The correct documentation can be found on the sparkfun .com site under product page for the bluesmirf. {266} Example code (Sharp GP2D12 IR Ranger Reader); In some cases, you may get a value that is three or below. Three will cause a divide by 0 error, and values below three will give a negative result. So you may want to change these lines: int range = (6787 / (sensorValue - 3)) - 4; Serial.println(range, DEC); // print the sensor value delay(10); // wait 10 milliseconds // before the next loop to: if (sensorValue> 3) { int range = (6787 / (sensorValue - 3)) - 4; Serial.println(range, DEC); // print the sensor value delay(10); // wait 10 milliseconds // before the next loop } Note that this example also appears on page 403. [227] XBee Radio diagram; The RX pin of the FTDI chip should be connected to the TX pin of the XBee, not TXen. TXen seems to be a typo too -- the XBee documentation calls it D08. {267} Figure 8-2; The figure 8-2 specifies a 100 uF capacitor but the parts list specifies a 10 uF capacitor. Might not create a major problem aside from confusion (10 uF is probably right) {298}In code example; PDF book line: myCamera = new Capture(this, myCam, width, height, 30); should be in constructor format Capture(parent, width, height) Capture(parent, width, height, fps) Capture(parent, width, height, name, ) Capture(parent, width, height, name, fps) correct line: myCamera = new Capture(this, width, height, myCam ,30);