Warehouse Stock Clearance Sale

Grab a bargain today!


Sign Up for Fishpond's Best Deals Delivered to You Every Day
Go
Exploring Arduino
Tools and Techniques for Engineering Wizardry

Rating
275 Ratings by Goodreads
Already own it? Write a review
Format
Paperback, 384 pages
Other Formats Available

Paperback : HK$305.00

Published
United States, 1 July 2013

Learn to easily build gadgets, gizmos, robots, and more using
Arduino


Written by Arduino expert Jeremy Blum, this unique book uses the
popular Arduino microcontroller platform as an instrument to teach
you about topics in electrical engineering, programming, and
human-computer interaction. Whether you're a budding hobbyist or an
engineer, you'll benefit from the perfectly paced lessons that walk
you through useful, artistic, and educational exercises that
gradually get more advanced. In addition to specific projects, the
book shares best practices in programming and design that you can
apply to your own projects. Code snippets and schematics will serve
as a useful reference for future projects even after you've
mastered all the topics in the book.





Includes a number of projects that utilize different
capabilities of the Arduino, while interfacing with external
hardware

Features chapters that build upon each other, tying in concepts
from previous chapters to illustrate new ones

Includes aspects that are accompanied by video tutorials and
other multimedia content 

Covers electrical engineering and programming concepts,
interfacing with the world through analog and digital sensors,
communicating with a computer and other devices, and internet
connectivity

Explains how to combine smaller topics into more complex
projects

Shares downloadable materials and source code for everything
covered in the book

Projects compatible with many official Arduino boards including
Arduino Uno; Arduino Leonardo; Arduino Mega 2560; Arduino Due;
Arduino Nano; Arduino Mega ADK; LilyPad Arduino and may work with
Arduino-compatible boards such as Freeduino and new third party
certified boards such as the Intel Galileo



Exploring Arduino takes you on an adventure and
provides you with exclusive access to materials not found anywhere
else!

Show more

Our Price
HK$434
Ships from USA Estimated delivery date: 7th May - 15th May from USA
Free Shipping Worldwide

Buy Together
+
Buy together with Practical Arduino Engineering at a great price!
Buy Together
HK$1,134

Product Description

Learn to easily build gadgets, gizmos, robots, and more using
Arduino


Written by Arduino expert Jeremy Blum, this unique book uses the
popular Arduino microcontroller platform as an instrument to teach
you about topics in electrical engineering, programming, and
human-computer interaction. Whether you're a budding hobbyist or an
engineer, you'll benefit from the perfectly paced lessons that walk
you through useful, artistic, and educational exercises that
gradually get more advanced. In addition to specific projects, the
book shares best practices in programming and design that you can
apply to your own projects. Code snippets and schematics will serve
as a useful reference for future projects even after you've
mastered all the topics in the book.





Includes a number of projects that utilize different
capabilities of the Arduino, while interfacing with external
hardware

Features chapters that build upon each other, tying in concepts
from previous chapters to illustrate new ones

Includes aspects that are accompanied by video tutorials and
other multimedia content 

Covers electrical engineering and programming concepts,
interfacing with the world through analog and digital sensors,
communicating with a computer and other devices, and internet
connectivity

Explains how to combine smaller topics into more complex
projects

Shares downloadable materials and source code for everything
covered in the book

Projects compatible with many official Arduino boards including
Arduino Uno; Arduino Leonardo; Arduino Mega 2560; Arduino Due;
Arduino Nano; Arduino Mega ADK; LilyPad Arduino and may work with
Arduino-compatible boards such as Freeduino and new third party
certified boards such as the Intel Galileo



Exploring Arduino takes you on an adventure and
provides you with exclusive access to materials not found anywhere
else!

Show more
Product Details
EAN
9781118549360
ISBN
1118549368
Publisher
Age Range
Other Information
Illustrated
Dimensions
23.4 x 18.5 x 2 centimeters (0.64 kg)

Table of Contents

Introduction xix


Part I Arduino Engineering Basics 1


Chapter 1 Getting Up and Blinking with the Arduino 3


Exploring the Arduino Ecosystem 4


Arduino Functionality 4


Atmel Microcontroller 6


Programming Interfaces 6


General I/O and ADCs 7


Power Supplies 7


Arduino Boards 8


Creating Your First Program 13


Downloading and Installing the Arduino IDE 13


Running the IDE and Connecting to the Arduino 14


Breaking Down Your First Program 16


Summary 18


Chapter 2 Digital Inputs, Outputs, and Pulse-Width Modulation 19


Digital Outputs 20


Wiring Up an LED and Using Breadboards 20


Working with Breadboards 21


Wiring LEDs 22


Programming Digital Outputs 24


Using For Loops 25


Pulse-Width Modulation with analogWrite() 27


Reading Digital Inputs 29


Reading Digital Inputs with Pulldown Resistors 29


Working with “Bouncy” Buttons 32


Building a Controllable RGB LED Nightlight 35


Summary 39


Chapter 3 Reading Analog Sensors 41


Understanding Analog and Digital Signals 42


Comparing Analog and Digital Signals 43


Converting an Analog Signal to a Digital One 44


Reading Analog Sensors with the Arduino: analogRead() 45


Reading a Potentiometer 45


Using Analog Sensors 50


Working with Analog Sensors to Sense Temperature 52


Using Variable Resistors to Make Your Own Analog Sensors 54


Using Resistive Voltage Dividers 55


Using Analog Inputs to Control Analog Outputs 56


Summary 59


Part II Controlling Your Environment 61


Chapter 4 Using Transistors and Driving Motors 63


Driving DC Motors 65


Handling High-Current Inductive Loads 65


Using Transistors as Switches 66


Using Protection Diodes 67


Using a Secondary Power Source 68


Wiring the Motor 68


Controlling Motor Speed with PWM 70


Using an H-Bridge to Control DC Motor Direction 72


Building an H-bridge Circuit 73


Operating an H-bridge Circuit 76


Driving Servo Motors 80


Understanding the Difference Between Continuous Rotation and Standard Servos 80


Understanding Servo Control 80


Controlling a Servo 85


Building a Sweeping Distance Sensor 86


Summary 90


Chapter 5 Making Sounds 91


Understanding How Speakers Work 92


The Properties of Sound 92


How a Speaker Produces Sound 94


Using tone() to Make Sounds 95


Including a Definition File 95


Wiring the Speaker 96


Making Sound Sequences 99


Using Arrays 99


Making Note and Duration Arrays 100


Completing the Program 101


Understanding the Limitations of the tone() Function 102


Building a Micro Piano 102


Summary 105


Chapter 6 USB and Serial Communication 107


Understanding the Arduino’s Serial Communication Capabilities 108


Arduino Boards with an Internal or External FTDI USB-to-Serial Converter 110


Arduino Boards with a Secondary USB-Capable ATMega MCU Emulating a Serial Converter 112


Arduino Boards with a Single USB-Capable MCU 114


Arduino Boards with USB-Host Capabilities 114


Listening to the Arduino 115


Using print Statements 115


Using Special Characters 117


Changing Data Type Representations 119


Talking to the Arduino 119


Reading Information from a Computer or Other Serial Device 120


Telling the Arduino to Echo Incoming Data 120


Understanding the Differences Between Chars and Ints 121


Sending Single Characters to Control an LED 122


Sending Lists of Values to Control an RGB LED 125


Talking to a Desktop App 127


Talking to Processing 127


Installing Processing 128


Controlling a Processing Sketch from Your Arduino 129


Sending Data from Processing to Your Arduino 132


Learning Special Tricks with the Arduino Leonardo (and Other 32U4-Based Arduinos) 134


Emulating a Keyboard 135


Typing Data into the Computer 135


Commanding Your Computer to Do Your Bidding 139


Emulating a Mouse 140


Summary 144


Chapter 7 Shift Registers 145


Understanding Shift Registers 146


Sending Parallel and Serial Data 147


Working with the 74HC595 Shift Register 148


Understanding the Shift Register Pin Functions 148


Understanding How the Shift Register Works 149


Shifting Serial Data from the Arduino 151


Converting Between Binary and Decimal Formats 154


Controlling Light Animations with a Shift Register 154


Building a “Light Rider” 154


Responding to Inputs with an LED Bar Graph 157


Summary 160


Part III Communication Interfaces 161


Chapter 8 The I2C Bus 163


History of the I2C Bus 164


I2C Hardware Design 164


Communication Scheme and ID Numbers 165


Hardware Requirements and Pull-Up Resistors 167


Communicating with an I2C Temperature Probe 167


Setting Up the Hardware 168


Referencing the Datasheet 169


Writing the Software 171


Combining Shift Registers, Serial Communication, and I2C Communications 173


Building the Hardware for a Temperature Monitoring System 173


Modifying the Embedded Program 174


Writing the Processing Sketch 177


Summary 180


Chapter 9 The SPI Bus 181


Overview of the SPI Bus 182


SPI Hardware and Communication Design 183


Hardware Configuration 184


Communication Scheme 184


Comparing SPI to I2C 185


Communicating with an SPI Digital Potentiometer 185


Gathering Information from the Datasheet 186


Setting Up the Hardware 189


Writing the Software 190


Creating an Audiovisual Display Using


SPI Digital Potentiometers 193


Setting Up the Hardware 194


Modifying the Software 195


Summary 197


Chapter 10 Interfacing with Liquid Crystal Displays 199


Setting Up the LCD 200


Using the LiquidCrystal Library to Write to the LCD 203


Adding Text to the Display 204


Creating Special Characters and Animations 206


Building a Personal Thermostat 209


Setting Up the Hardware 210


Displaying Data on the LCD 211


Adjusting the Set Point with a Button 213


Adding an Audible Warning and a Fan 214


Bringing It All Together: The Complete Program 215


Taking This Project to the Next Level 219


Summary 219


Chapter 11 Wireless Communication with XBee Radios 221


Understanding XBee Wireless Communication 222


XBee Radios 223


The XBee Radio Shield and Serial Connections 224


3.3V Regulator 226


Logic Level Shifting 226


Associate LED and RSSI LED 226


UART Selection Jumper or Switch 226


Hardware vs. Software Serial UART Connection Option 227


Configuring Your XBees 228


Configuring via a Shield or a USB Adapter 228


Programming Option 1: Using the Uno as a Programmer (Not Recommended) 229


Programming Option 2: Using the SparkFun USB Explorer (Recommended) 230


Choosing Your XBee Settings and Connecting Your XBee to Your Host Computer 230


Configuring Your XBee with X-CTU 231


Configuring Your XBee with a Serial Terminal 235


Talking with Your Computer Wirelessly 236


Powering Your Remote Arduino 236


USB with a Computer or a 5V Wall Adapter 237


Batteries 237


Wall Power Adapters 239


Revisiting the Serial Examples: Controlling Processing with a Potentiometer 239


Revisiting the Serial Examples: Controlling an RGB LED 243


Talking with Another Arduino: Building a Wireless Doorbell 246


System Design 246


Transmitter Hardware 247


Receiver Hardware 248


Transmitter Software 249


Receiver Software 250


Summary 252


Part IV Advanced Topics and Projects 255


Chapter 12 Hardware and Timer Interrupts 257


Using Hardware Interrupts 258


Knowing the Tradeoffs Between Polling and Interrupting 259


Ease of Implementation (Software) 260


Ease of Implementation (Hardware) 260


Multitasking 260


Acquisition Accuracy 261


Understanding the Arduino’s Hardware Interrupt Capabilities 261


Building and Testing a Hardware-Debounced Button Interrupt Circuit 262


Creating a Hardware-Debouncing Circuit 262


Assembling the Complete Test Circuit 267


Writing the Software 267


Using Timer Interrupts 270


Understanding Timer Interrupts 270


Getting the Library 270


Executing Two Tasks Simultaneously(ish) 271


Building an Interrupt-Driven Sound Machine 272


Sound Machine Hardware 272


Sound Machine Software 273


Summary 275


Chapter 13 Data Logging with SD Cards 277


Getting Ready for Data Logging 278


Formatting Data with CSV Files 279


Preparing an SD Card for Data Logging 279


Interfacing the Arduino with an SD Card 284


SD Card Shields 284


SD Card SPI Interface 288


Writing to an SD Card 289


Reading from an SD Card 293


Using a Real-Time Clock 297


Understanding Real-Time Clocks 298


Using the DS1307 Real-Time Clock 298


Using the RTC Arduino Third-Party Library 299


Using the Real-Time Clock 300


Installing the RTC and SD Card Modules 300


Updating the Software 301


Building an Entrance Logger 305


Logger Hardware 306


Logger Software 307


Data Analysis 311


Summary 312


Chapter 14 Connecting Your Arduino to the Internet 313


The Web, the Arduino, and You 314


Networking Lingo 314


IP Address 314


Network Address Translation 315


MAC Address 316


HTML 316


HTTP 316


GET/POST 316


DHCP 316


DNS 317


Clients and Servers 317


Networking Your Arduino 317


Controlling Your Arduino from the Web 318


Setting Up the I/O Control Hardware 318


Designing a Simple Web Page 318


Writing an Arduino Server Sketch 320


Connecting to the Network and Retrieving an IP via DHCP 321


Replying to a Client Response 321


Putting It Together: Web Server Sketch 322


Controlling Your Arduino via the Network 326


Controlling Your Arduino over the Local Network 326


Using Port Forwarding to Control your Arduino from Anywhere 327


Sending Live Data to a Graphing Service 329


Building a Live Data Feed on Xively 330


Creating a Xively Account 330


Creating a Data Feed 330


Installing the Xively and HttpClient Libraries 331


Wiring Up Your Arduino 332


Configuring the Xively Sketch and Running the Code 332


Displaying Data on the Web 335


Adding Feed Components 336


Adding an Analog Temperature Sensor 336


Adding Additional Sensor Readings to the Datastream 336


Summary 339


Appendix Deciphering the ATMega Datasheet and Arduino Schematics 341


Reading Datasheets 341


Breaking Down a Datasheet 341


Understanding Component Pin-outs 344


Understanding the Arduino Schematic 345


Index 349

About the Author

Jeremy Blum is known for his series of educational YouTube videos that have taught engineering concepts to millions of people around the world. He has built a range of microcontroller-based systems including solar trackers, prosthetic arms, truss-traversing robots, musical theremins, computer vision-based and glove-based gesture controllers, and more.

Show more
Review this Product
Ask a Question About this Product More...
 
Look for similar items by category
Item ships from and is sold by Fishpond.com, Inc.

Back to top