In order to bring some structure to my experiments with the Arduino, and to help me get through the learning curve quicker, I thought it would be good to have a book to guide me. The book I have selected is the Arduino Cookbook by Michael Margolis. It is a recent book, published in March 2011. The first words of the preface say just what I am looking for. “This book was written to help you explore the amazing things you can do with Arduino.†Yay
Preface
Arduino is a family of microcontrollers (tiny computers). It can be used for “physical computingâ€. Actually responding to and interacting with the “real worldâ€.
This book is aimed at a broad range of people. There is no assumption about a particular hardware or software background. But even if you have a microcontroller background or a background in C/C++, you will still find this book very useful.
What does this book cover?
Chapter 1 – Getting Started – (everything you need to get that first program written, that first circuit created, and possibly even that first LED blinking?)
Chapter 2 – Making the Sketch Do Your Bidding. (“sketches†are what we call the Arduino program) This chapter covers the key software concepts and task.
Chapter 3 – Using Mathematical Operators
Chapter 4 – Serial Communications – how to connect to the computer and other devices using a serial connection.
Chapter 5 – Simple Digital and Analog Input – how to actually get the data into the arduino
Chapter 6 – Getting Input from Sensors – enable touch, sound, position, heat, and light
Chapter 7 – Visual Output – controlling LEDS (ok, looks like they wait until this chapter to get that first LED blinking?) Switch on one or many LEDs, controlling brightness and color. How to create bar graphs, numeric LED displays, create patterns, animations with LED arrays.
Chapter 8 – Physical output .. how to make things move with solenoids (I’ve never quite understood what a solenoid is…) servo motors (got some of them floating around… will be good to put them to some good use… found some for sale on eBay for just a few cents too. but possibly will not win those) Physical output is where the rubber meets the road. This is where we make things move! Can’t wait till we get to chapter 8!!!
Chapter 9 – Audio Output – generate sounds by playing wav files and MIDI output.
Chapter 10 – Remotely Controlling External Devices – interact with the TV, cameras, garage doors, appliances, toys.
Chapter 11 – Using Displays – interfacing with text and graphical LCD displays
Chapter 12 – Using Time and Dates – measuring time; handling time delays (here we will learn what we need to know to develop a clock, timer, and I could create a speech timer for my toastmaster club…)
Chapter 13 – Communicating using I2C and SPI (I have did one project in the Parallax Basic stamp book using I2C. I understand it is a protocol to connect things together. I am completely unfamiliar with SPI…)
Chapter 14 – Wireless Communication – using XBee
Chapter 15 – Ethernet and Networking – hook up things to the Internet. (I have been playing around with the EtherShield, and got a web page setup to control a little LED. But I got the cheaper enc28j60 based EtherShield. Not the newer, expensive one based on the Wiznet chip. The API calls for the Enc28j60 are a lot more difficult to understand than the newer ones. The difference in cost though is about 100%. You can get the Enc28j60 etherShield for about $20. The Wiznet one will be around $45. It will be interesting to see which one the book uses… I think we can both already guess 🙂 )
Chapter 16 – Using, Modifying and Creating Libraries (maybe this is where I can learn how to create a easier to use library wrapper for the EtherShield that I have. )
Chapter 17 – Advanced Coding and Memory Handling
Chapter 18 – Using the Controller Chip Hardware – How to access and use hardware functions that are not “fully†exposed through the documented Arduino language… (Sounds interesting and advanced)
I have no idea how long it will take to get through the book. And I imagine we will be taking a lot of detours on the way to create projects using what we have learned. But I would recommend that if you are starting with the Arduino that you get the book and come along this journey with me. I intend to keep you updated on my progress in the book, and I intend to publish the code and projects that I create from the things that I learn from the book, but to fully understand everything, you will need the book. Please use this link:
Also, if you live in Harris county, then you can access it through the Harris Public County Library who has an arrangement with SafariBooksOnline to make it available. Your library might have a similar setup.