Arduino Programming in 24 Hours, Sams Teach Yourself
By

Rating

Product Description
Product Details

Table of Contents

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

About the Author

Richard Blum has worked in the IT industry for more than 25 years as a network and systems administrator, managing Microsoft, UNIX, Linux, and Novell servers for a network with more than 3,500 users. He has developed and teaches programming and Linux courses via the Internet to colleges and universities worldwide. Rich has a master’s degree in management information systems from Purdue University and is the author of several programming books, including Teach Yourself Python Programming for the Raspberry Pi in 24 Hours (coauthored with Christine Bresnahan, 2013, Sams Publishing), Linux Command Line and Shell Scripting Bible (coauthored with Christine Bresnahan, 2011, Wiley), Professional Linux Programming (coauthored with Jon Masters, 2007, Wiley), and Professional Assembly Language (2005, Wrox). When he’s not busy being a computer nerd, Rich enjoys spending time with his wife, Barbara, and two daughters, Katie Jane and Jessica.

Ask a Question About this Product More...
 
This title is unavailable for purchase as none of our regular suppliers have stock available. If you are the publisher, author or distributor for this item, please visit this link.

Back to top