Beginning C for Arduino, Second Edition is written for those who have no prior experience with microcontrollers or programming but would like to experiment and learn both. Updated with new projects and new boards, this book introduces you to the C programming language, reinforcing each programming structure with a simple demonstration of how you can use C to control the Arduino family of microcontrollers.
Author Jack Purdum uses an engaging style to teach good programming techniques using examples that have been honed during his 25 years of university teaching.
Beginning C for Arduino, Second Edition will teach you:
The C programming language
How to use C to control a microcontroller and related hardware
How to extend C by creating your own libraries, including an introduction to object-oriented programming
During the course of the book, you will learn the basics of programming, such as working with data types, making decisions, and writing control loops. You'll then progress onto some of the trickier aspects of C programming, such as using pointers effectively, working with the C preprocessor, and tackling file I/O. Each chapter ends with a series of exercises and review questions to test your knowledge and reinforce what you have learned.
What you’ll learn
The syntax of the C programming language as defined for the Arduino
Tried and true coding practices (applicable to any programming language)
How to design, code, and debug programs that drive Arduino microcontrollers
How to extend the functionality of C
How to integrate low cost, off-the-shelf, hardware shields into your own projects
Who this book is for
The book is aimed at a complete novice with no programming background. It assumes no prior programming or hardware design experience and is written for creative and curious people who would like to blend a software and hardware learning experience into a single, enjoyable endeavor.
Table of Contents
Introduction to Arduino Microcontrollers
Arduino C
Data Types
Decision Making in C
Program Loops
Functions in C
Storage Classes and Scope
Introduction to Pointers
Using Pointers Effectively
I/O Operations
The C Preprocessor
A Gentle Introduction to Object-Oriented Programming
Arduino Libraries
Arduino I/O
Appendix A - Suppliers
Appendix B - Hardware Components