SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
In just 24 sessions of one hour or less, Sams Teach Yourself Arduino Programming in 24 Hours teaches you C programmingon Arduino, so you can start creating inspired “DIY” hardwareprojects of your own! Using this book’s straightforward, step-by-stepapproach, you’ll walk through everything from setting up yourprogramming environment to mastering C syntax and features, interfacing your Arduino to performing full-fledged prototyping.Every hands-on lesson and example builds on what you’ve alreadylearned, giving you a rock-solid foundation for real-world success!
Step-by-step instructions carefully walk you through the most common Arduino programming tasks.
Quizzes at the end of each chapter help you test your knowledge.
By the Way notes present interesting information related to the discussion.
Did You Know? tips offer advice or show you easier ways to perform tasks.
Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.
Learn how to...
Introduction 1
HOUR 1: Introduction to the Arduino 7
What Is an Arduino? 7
Introducing the Arduino Family 11
Exploring Arduino Shields 18
Summary 20
Workshop 20
HOUR 2: Creating an Arduino Programming Environment 23
Exploring Microcontroller Internals 23
Moving Beyond Machine Code 27
Creating Arduino Programs 29
Installing the Arduino IDE 32
Summary 37
Workshop 38
HOUR 3: Using the Arduino IDE 39
Overview of the IDE 39
Walking Through the Menus 40
Exploring the Toolbar 49
Exploring the Message Area and Console Window 49
Setting Up the Arduino IDE 51
Using the Serial Monitor 52
Summary 54
Workshop 54
HOUR 4: Creating an Arduino Program 57
Building an Arduino Sketch 57
Creating Your First Sketch 59
Interfacing with Electronic Circuits 64
Summary 70
Workshop 71
HOUR 5: Learning the Basics of C 75
Working with Variables 75
Using Operators 80
Exploring Arduino Functions 83
Summary 87
Workshop 87
HOUR 6: Structured Commands 89
Working with the if Statement 89
Grouping Multiple Statements 90
Using else Statements 92
Using else if Statements 93
Understanding Comparison Conditions 95
Creating Compound Conditions 97
Negating a Condition Check 98
Expanding with the switch Statement 98
Summary 99
Workshop 100
HOUR 7: Programming Loops 103
Understanding Loops 103
Using while Loops 104
Using do-while Loops 106
Using for Loops 107
Using Arrays in Your Loops 109
Using Multiple Variables 112
Nesting Loops 112
Controlling Loops 113
Summary 116
Workshop 116
HOUR 8: Working with Strings 119
What’s a String? 119
Understanding C-Style Strings 120
Introducing the Arduino String Object 126
Manipulating String Objects 130
Summary 131
Workshop 132
HOUR 9: Implementing Data Structures 133
What’s a Data Structure? 133
Creating Data Structures 134
Using Data Structures 136
Manipulating Data Structures 138
Arrays of Structures 140
Working with Unions 142
Summary 145
Workshop 145
HOUR 10: Creating Functions 147
Basic Function Use 147
Returning a Value 150
Passing Values to Functions 152
Handling Variables in Functions 154
Calling Functions Recursively 158
Summary 160
Workshop 160
HOUR 11: Pointing to Data 163
What Is a Pointer? 163
Working with Pointers 166
Using Special Types of Pointers 167
Pointer Arithmetic 168
Strings and Pointers 171
Combining Pointers and Structures 173
Using Pointers with Functions 176
Summary 179
Workshop 179
HOUR 12: Storing Data 181
Arduino Memory Refresher 181
Taking a Closer Look at SRAM 183
Creating Dynamic Variables 185
Using Flash to Store Data 189
Using the EEPROM Memory 194
Summary 198
Workshop 198
HOUR 13: Using Libraries 201
What Is a Library? 201
Using the Standard Libraries 203
Using Contributed Libraries 206
Creating Your Own Libraries 208
Summary 214
Workshop 215
HOUR 14: Working with Digital Interfaces 219
Digital Overview 219
Using Digital Outputs 221
Experimenting with Digital Output 223
Working with Digital Inputs 226
Experimenting with Digital Input 229
Summary 231
Workshop 232
HOUR 15: Interfacing with Analog Devices 235
Analog Overview 235
Working with Analog Input 238
Modifying the Input Result 241
Using Input Mapping 242
Changing the Reference Voltage 245
Analog Output 246
Using the Analog Output 246
Summary 248
Workshop 248
HOUR 16: Adding Interrupts 251
What Are Interrupts? 251
Types of Interrupts 252
Using External Interrupts 254
Testing External Interrupts 255
Using Pin Change Interrupts 260
Working with Timer Interrupts 262
Ignoring Interrupts 264
Summary 265
Workshop 265
HOUR 17: Communicating with Devices 267
Serial Communication Protocols 267
Using the Serial Port 268
Working with the SPI Port 274
Working with I2C 277
Summary 284
Workshop 284
HOUR 18: Using Sensors 287
Interfacing with Analog Sensors 287
Working with Voltage 288
Using a Voltage-Based Sensor 293
Working with Resistance Output 295
Using a Resistance-Based Sensor 296
Using Touch Sensors 297
Working with Touch Sensors 298
Summary 300
Workshop 301
HOUR 19: Working with Motors 303
Types of Motors 303
Using DC Motors 305
Experimenting with Motors 308
Using Servo Motors 313
Summary 317
Workshop 317
HOUR 20: Using an LCD 319
What Is an LCD? 319
Interfacing with LCD Devices 321
The LiquidCrystal Library 325
The LCD Shield 329
Summary 335
Workshop 335
HOUR 21: Working with the Ethernet Shield 337
Connecting the Arduino to a Network 337
The Ethernet Shield Library 340
Writing a Network Program 349
Summary 351
Workshop 352
HOUR 22: Advanced Network Programming 355
The Web Protocol 355
Reading Sensor Data from a Web Server 361
Controlling an Arduino from the Web 364
Summary 370
Workshop 370
HOUR 23: Handling Files 373
What Is an SD Card Reader? 373
SD Cards and the Arduino 375
The SD Library 376
Interfacing with the SD Card 378
Storing Sensor Data 382
Summary 385
Workshop 385
HOUR 24: Prototyping Projects 387
Determining Project Requirements 387
Determining Interface Requirements 389
Listing Components 391
Creating a Schematic 392
Creating the Breadboard Circuit 393
Designing the Sketch 394
Writing the Sketch 395
Testing the Sketch 398
Creating a Prototype Board 399
Summary 401
Workshop 401
Index 403