From the Book - Regular Print - Second edition.
When is an Arduino not an Arduino?
Interfacing with 1-wire devices
Interfacing with SPI devices
Network and internet of things programming
Digital signal processing
Managing with one process
From the Book - Regular Print
1 Programming Arduino 1 --
Installation and the IDE 4 --
Programming Language 15 --
Modifying the Blink Sketch 15 --
A Brief History of Arduino 37 --
Anatomy of an Arduino 38 --
From Sketch to Arduino 46 --
Installing a Bootloader 51 --
3 Interrupts and Timers 57 --
Hardware Interrupts 57 --
Enabling and Disabling Interrupts 64 --
4 Making Arduino Faster 69 --
How Fast Is an Arduino? 69 --
Comparing Arduino Boards 70 --
Speeding Up Arithmetic 71 --
Lookup vs. Calculate 72 --
Speeding Up Analog Inputs 81 --
5 Low Power Arduino 85 --
Power Consumption of Arduino Boards 85 --
Current and Batteries 87 --
Reducing the Clock Speed 88 --
Use Digital Outputs to Control Power 97 --
Minimizing RAM Usage 103 --
Minimizing Flash Usage 108 --
Static vs. Dynamic Memory Allocation 109 --
Using SD Card Storage 123 --
8 Interfacing with 1-Wire Devices 141 --
The 1-Wire Protocol 142 --
9 Interfacing with SPI Devices 149 --
10 Serial UART Programming 163 --
SoftwareSerial Library 168 --
11 USB Programming 179 --
Keyboard and Mouse Emulation 179 --
USB Host Programming 183 --
12 Network Programming 193 --
Networking Hardware 193 --
13 Digital Signal Processing 211 --
Introducing Digital Signal Processing 211 --
Averaging Readings 213 --
An Introduction to Filtering 215 --
Creating a Simple Low-Pass Filter 215 --
Filter Code Generation 221 --
14 Managing with One Process 231 --
Making the Transition from Big Programming 231 --
Why You Don't Need Threads 232 --
15 Writing Libraries 239 --
When to Make a Library 239 --
Using Classes and Methods 240 --
Library Example (TEA5767 Radio) 240 --
Testing the Library 246 --
Releasing the Library 246 --