Full description not available
H**D
Superb -- Wide range of topics, complete examples
Margolis' book gives us an exceptionally broad coverage of Arduino projects with complete and workable programming examples that are explained in a direct and matter-of-fact style. For these reasons alone, it's the most useful -- and most easily comprehended -- book on programming I've read in a long time.His explanations of the code and hardware setups are the best I've seen.For example, take the latter chapters on timers and interrupts. I had downloaded the 400-500 page Atmel datasheets and spent many hours unsuccessfully trying to understand how to use these features -- to no success. Margolis gives us a clear overview of their operation and explains the essential aspects of using them, with practical code examples that you can copy for your projects. He tells us what we need to know to get the job done, explaining every essential fact, and omits obfuscating details, of which there are many.In contrast, the datasheets covers them down to gate and register levels, about 50-60 pages of detail, without any helpful advice on what-is/what-isn't important and nothing about how it all comes together in the big picture of a working code example. I've never read a description of timers and interrupts for any CPU that was as clear, helpful, complete and to the point as what he provides.It's actually a pleasure to read ALL his chapters. In over 600 pages there's no wasted motion or missing ingredients. The number of topics/projects is shocking -- that one person could master it all and write so clearly and completely about them.Every chapter works both as a reference for the topic at hand and has useful, fully workable, code and circuit layout examples. I'm not going to list the 18 chapter titles here as they are available elsewhere. Each topic is fully developed and receives the same evenhanded and consistent coverage. He starts with the simplest working example, then adds to it to build a more useful project. Like Einstein said of Physics, "be as simple as possible, but no simpler."The Arduino Cookbook -- complete and jam-packed with goodies you will find helpful and inspiring as it is -- is not the first book you should get.There are a handful of basic, getting-started Arduino books on Amazon. These, in my opinion, are super for showing you pictures and lots of diagrams to build the specific projects that are included. But they fail as references and really do not explain what the code is doing in a helpful way. If you want to go beyond, you're often left to your own devices. But these ARE very helpful in helping you install the Arduino software, connecting to the board itself, and coding, downloading and running the code on the board.The Arduino Cookbook covers these start-up topics briefly, but his momentum is to move on to more compelling topics and to projects that YOU can create -- with the additional and necessary info and examples you need to have.You also should have some c/c++ programming experience. The "Arduino language" is c++ with some additional elements and simplifications (in libraries and macros) and some features not needed for a microprocessor. You can download plenty of c/c++ documentation -- you will need it.Since reviews seem to demand a CONS section, I'll add that he should have included a few pages about the Atmel microprocessors. For example, the types and amounts of memory is not in the book. (Although he does give us code that displays the amount of available RAM.) This is a trivial complaint! The answer is the ATmega382 has 32KB of flash (where your program is downloaded to and runs from), 1KB of EEPROM (the "hard drive," to semi-permanently store data even when powered off), and 2KB of RAM (for variables, stack, and any data that changes while the program runs). The Arduino MEGA2560 has 256KB, 4KB, and 8KB, respectively. I also wish that he gave us a fuller description of the pins and their many uses. Otherwise -- perfecto!"The Arduino Cookbook" is THE best Arduino book. Get it if you have the slightest notion of building any project that's more than just a literal copy of something from another books.
B**T
Excellent examples
The book provides many examples for use of the Arduino platform. Explanation is detailed and seems complete.Also very nice are the advanced chapters about the inner working of the Arduino which gives great information about usage of interrupt and registers.However, the book is not a tutorial about how to use the Arduino, it is a reference book. If you do not have a basic knowledge of programming and/or hardware this book might not be the best choice to begin with.
G**R
Everything you could ever want...
Let me start with a caveat: I've written over a dozen programming books so I have my own ideas about how a book should be written. In a nutshell, the book must be: 1) readable, 2) useful, and 3) well-organized. Margolis shines on all three levels.ReadableTo me, a readable book means I don't have to re-read a sentence to understand its intent. For example, many writers take shortcuts when writing. They make a statement about something in one sentence and then refer back to that "something" as "it" in a subsequent sentence. (My editors call this a Backwards Reference.) This is shorter, but places a burden on the reader since they must guess which "it" is being referred to. Margolis (and the book's editors) don't take shortcuts. For example:When the sketch begins, the code in setup set the pin mode (so it's capable of lighting an LED). After the code in setup is completed, the code in loop is repeatedly called...Too many writers will craft the second sentence as: "It is repeatedly called..." which can lead to confusion. Not so in this book. This additional effort by the writer and his editors makes the reader's work much easier and more enjoyable.UsefulThis is the real value of the book. The book has 18 chapters, with chapter titles that make it very clear the topics that are covered in each chapter. Chapter titles like: "Serial Communications", "Getting Input from Sensors", "Visual Output" make it easy to use this book as a reference. One of the first things I check when I'm in a book store contemplating a purchase is to scan the index. If the index is skimpy, it goes back on the shelf. Again, this book does a good job with its index. A little more effort on the second edition and this book could have a great index. That small "ding" is not a serious negative, it's just that several (weird) topics I needed to dig out weren't directly indexed. Most readers will be very happy with the index.Well-OrganizedThe sequencing of chapter topics is thoughtful. The reader is moved from Chapter 1 which installs the software and walks them through the Integrated Development Environment (IDE). Most of the chapters are "task-oriented", with each chapter starting with a less difficult task and proceeding to more difficult tasks by chapter's end. Each task within the chapter is well-organized, too. Each task starts with a definition of a problem the task is designed to address. The writer then presents a solution, and follows that with a discussion that puts flesh on the skeleton defined in the solution. Since I'm a software guy, I like the fact that the writer takes the time to discuss some of the electonic points of the circuit in the discussion if it's germane to the task at hand. This narrative is informative without being distracting...a difficult balance to achieve. Each task, by the way, is called a "recipe", hence the word "cookbook" in the title.In sum, I've purchased six Arduino books and this book is hands-down the best I've purchased. If you want to start an Arduino library of your own, this should be the first book you place in it.
Trustpilot
2 days ago
4 days ago