Introduction |
|
xvi | |
|
Chapter 1 Meet the Arduino Family |
|
|
1 | (16) |
|
|
1 | (2) |
|
The Arduino Microcontroller |
|
|
3 | (1) |
|
|
3 | (1) |
|
Making Sense of the Numbers |
|
|
4 | (3) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (8) |
|
Official Arduino Products |
|
|
7 | (6) |
|
Third-Party Arduino-Like Microcontrollers |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (2) |
|
Chapter 2 Tools of the Trade |
|
|
17 | (26) |
|
|
18 | (1) |
|
|
19 | (9) |
|
|
20 | (3) |
|
|
23 | (1) |
|
|
24 | (1) |
|
|
25 | (3) |
|
|
28 | (1) |
|
|
28 | (7) |
|
|
28 | (2) |
|
|
30 | (3) |
|
|
33 | (1) |
|
|
34 | (1) |
|
|
35 | (8) |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
36 | (2) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
40 | (3) |
|
Chapter 3 From Idea to Project |
|
|
43 | (22) |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
45 | (2) |
|
|
47 | (2) |
|
|
49 | (3) |
|
|
52 | (1) |
|
|
52 | (1) |
|
|
53 | (1) |
|
I Don't Know What to Make! |
|
|
54 | (1) |
|
|
55 | (10) |
|
Traffic Light Example (Part I) |
|
|
55 | (5) |
|
Puppet Show Example (Part I) |
|
|
60 | (2) |
|
Pinball Machine Example (Part I) |
|
|
62 | (3) |
|
Chapter 4 A Guided Tour of Your New Arduino |
|
|
65 | (20) |
|
|
65 | (5) |
|
|
67 | (1) |
|
|
67 | (1) |
|
|
67 | (1) |
|
|
68 | (1) |
|
In-Circuit System Programming Header |
|
|
69 | (1) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
70 | (1) |
|
|
71 | (14) |
|
|
73 | (1) |
|
|
74 | (1) |
|
|
75 | (1) |
|
|
75 | (1) |
|
|
75 | (1) |
|
Clock Generation, Power Management, and Sleep Modes |
|
|
76 | (2) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
78 | (2) |
|
|
80 | (1) |
|
|
81 | (1) |
|
Universal Synchronous/Asynchronous Receiver Transmitter (USART) |
|
|
81 | (1) |
|
|
82 | (1) |
|
|
82 | (1) |
|
|
83 | (2) |
|
Chapter 5 To Cookbook or Not to Cookbook |
|
|
85 | (14) |
|
|
85 | (1) |
|
The Arduino Tutorials and IDE |
|
|
86 | (1) |
|
|
87 | (3) |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
90 | (1) |
|
|
91 | (1) |
|
|
92 | (1) |
|
|
93 | (3) |
|
|
94 | (1) |
|
|
95 | (1) |
|
Local User's Groups and Clubs |
|
|
96 | (1) |
|
|
96 | (3) |
|
Chapter 6 How to Read Specification Sheets |
|
|
99 | (34) |
|
|
99 | (1) |
|
|
100 | (6) |
|
|
100 | (1) |
|
|
101 | (1) |
|
|
101 | (1) |
|
|
101 | (1) |
|
Signal Descriptions and Names |
|
|
101 | (1) |
|
|
102 | (1) |
|
|
102 | (1) |
|
|
102 | (1) |
|
|
103 | (1) |
|
DC Electrical Characteristics |
|
|
104 | (1) |
|
AC Electrical Characteristics |
|
|
104 | (1) |
|
Timing Diagrams and Switching Waveforms |
|
|
105 | (1) |
|
|
105 | (1) |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
106 | (1) |
|
|
106 | (1) |
|
|
106 | (15) |
|
|
106 | (2) |
|
The Atmel ATmega328P Data Sheet |
|
|
108 | (2) |
|
|
110 | (11) |
|
Ohm's Law and Power Calculations |
|
|
121 | (6) |
|
|
122 | (1) |
|
|
122 | (1) |
|
BJT LED Driver Applications |
|
|
123 | (1) |
|
|
124 | (1) |
|
FET Transistor Driver Applications |
|
|
125 | (2) |
|
Low-Side or High-Side Switch? |
|
|
127 | (1) |
|
Transistor Selection Guidelines |
|
|
127 | (6) |
|
|
127 | (1) |
|
|
128 | (1) |
|
|
129 | (1) |
|
|
129 | (1) |
|
Power Dissipation and Heat Sinks |
|
|
130 | (3) |
|
Chapter 7 Input and Output |
|
|
133 | (38) |
|
|
133 | (1) |
|
|
134 | (4) |
|
|
134 | (1) |
|
|
135 | (1) |
|
|
136 | (2) |
|
|
138 | (1) |
|
|
138 | (1) |
|
|
139 | (4) |
|
Serial Protocol Addressing |
|
|
140 | (1) |
|
|
141 | (1) |
|
|
141 | (2) |
|
Arduino-to-Arduino Conversation |
|
|
143 | (1) |
|
|
144 | (4) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
147 | (1) |
|
|
148 | (1) |
|
Pin Assignment Guidelines |
|
|
148 | (3) |
|
|
151 | (1) |
|
|
151 | (20) |
|
|
151 | (16) |
|
The Traffic Light Example (Part II) |
|
|
167 | (2) |
|
Puppet Show Example (Part II) |
|
|
169 | (1) |
|
Pinball Machine Example (Part II) |
|
|
170 | (1) |
|
|
171 | (14) |
|
|
172 | (1) |
|
|
172 | (1) |
|
Arduino Connection to Computer |
|
|
173 | (1) |
|
Common Installation Problems |
|
|
174 | (4) |
|
|
174 | (1) |
|
I Can't Find the Sketch I Saved |
|
|
174 | (1) |
|
I Want to Install Multiple Copies of the IDE |
|
|
175 | (1) |
|
My Arduino Is Not Recognized. I Get an Unknown Device Error |
|
|
175 | (1) |
|
I Can't Put a Sketch on Arduino |
|
|
176 | (1) |
|
I Bought a Chip with No Bootloader |
|
|
177 | (1) |
|
My Version of Windows Complains |
|
|
178 | (1) |
|
|
178 | (3) |
|
|
178 | (2) |
|
|
180 | (1) |
|
|
180 | (1) |
|
|
180 | (1) |
|
Verify and Download Functions |
|
|
181 | (1) |
|
|
181 | (1) |
|
|
181 | (1) |
|
IDE Clones for Programmers |
|
|
181 | (1) |
|
Notes for C (and C++) Programmers |
|
|
182 | (3) |
|
|
182 | (1) |
|
Unconventional Conventions |
|
|
182 | (1) |
|
|
183 | (1) |
|
|
183 | (2) |
|
Chapter 9 Writing the Code |
|
|
185 | (42) |
|
|
185 | (1) |
|
|
186 | (2) |
|
|
187 | (1) |
|
|
187 | (1) |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
188 | (6) |
|
Functions and Global Variables |
|
|
190 | (1) |
|
|
190 | (1) |
|
|
191 | (1) |
|
Library-Defined Functions |
|
|
191 | (1) |
|
|
192 | (1) |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
194 | (1) |
|
The Traffic Light Example (Part III) |
|
|
195 | (10) |
|
|
195 | (3) |
|
|
198 | (2) |
|
|
200 | (5) |
|
Puppet Show Example (Part III) |
|
|
205 | (11) |
|
|
205 | (5) |
|
|
210 | (3) |
|
Scaling Analog Level/Volume Knob |
|
|
213 | (3) |
|
Pinball Machine Example (Part III) |
|
|
216 | (1) |
|
|
216 | (1) |
|
|
216 | (1) |
|
|
217 | (6) |
|
|
218 | (1) |
|
|
219 | (2) |
|
|
221 | (2) |
|
|
223 | (1) |
|
|
223 | (1) |
|
|
224 | (1) |
|
|
225 | (1) |
|
Two Arduino Boards Chatting |
|
|
225 | (2) |
|
Chapter 10 Just Enough C to Be Dangerous |
|
|
227 | (14) |
|
|
227 | (4) |
|
|
227 | (2) |
|
|
229 | (1) |
|
Type Matching and Casting |
|
|
229 | (1) |
|
Making Variables and Assigning Values |
|
|
229 | (2) |
|
Reading and Writing Registers |
|
|
231 | (1) |
|
|
231 | (1) |
|
|
232 | (3) |
|
|
232 | (1) |
|
|
233 | (2) |
|
|
235 | (2) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
237 | (1) |
|
|
237 | (1) |
|
|
237 | (1) |
|
|
238 | (1) |
|
|
239 | (2) |
|
|
241 | (14) |
|
|
242 | (1) |
|
|
243 | (3) |
|
|
244 | (1) |
|
pinMode() and digitalWrite() |
|
|
245 | (1) |
|
|
245 | (1) |
|
|
246 | (4) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
247 | (1) |
|
|
248 | (1) |
|
|
248 | (1) |
|
|
249 | (1) |
|
|
249 | (1) |
|
Combining Hardware and Software |
|
|
250 | (2) |
|
|
250 | (1) |
|
|
251 | (1) |
|
Dotting the I's and Crossing the T's |
|
|
252 | (3) |
|
Chapter 12 Bragging Rights and Pleas for Help |
|
|
255 | (6) |
|
|
255 | (2) |
|
|
257 | (1) |
|
|
257 | (1) |
|
|
258 | (1) |
|
|
259 | (1) |
|
|
260 | (1) |
|
|
260 | (1) |
|
Chapter 13 Expanding Your Horizons with Shields |
|
|
261 | (8) |
|
|
262 | (1) |
|
|
262 | (1) |
|
|
263 | (1) |
|
|
263 | (1) |
|
|
264 | (1) |
|
|
264 | (1) |
|
|
265 | (1) |
|
|
265 | (1) |
|
|
266 | (1) |
|
|
266 | (1) |
|
|
267 | (2) |
|
Chapter 14 Application Ideas |
|
|
269 | (20) |
|
|
269 | (1) |
|
|
270 | (4) |
|
|
270 | (1) |
|
|
270 | (1) |
|
|
271 | (1) |
|
|
271 | (1) |
|
|
271 | (1) |
|
|
272 | (1) |
|
|
272 | (1) |
|
|
273 | (1) |
|
|
273 | (1) |
|
|
274 | (1) |
|
|
275 | (4) |
|
|
275 | (1) |
|
|
276 | (1) |
|
|
276 | (1) |
|
|
277 | (1) |
|
|
277 | (1) |
|
|
278 | (1) |
|
Alarm or Timer Notification |
|
|
278 | (1) |
|
|
279 | (1) |
|
|
279 | (1) |
|
|
279 | (1) |
|
|
279 | (1) |
|
|
280 | (1) |
|
|
280 | (1) |
|
|
280 | (4) |
|
Robots and Other Vehicles |
|
|
281 | (1) |
|
Stroboscopes and Phenakistoscopes |
|
|
281 | (1) |
|
Solar Panel Tracking Controls |
|
|
282 | (1) |
|
|
282 | (1) |
|
|
282 | (1) |
|
|
282 | (1) |
|
Automated Model Train Controller |
|
|
283 | (1) |
|
Automated Plant Watering System |
|
|
283 | (1) |
|
|
284 | (1) |
|
|
284 | (1) |
|
|
284 | (5) |
|
|
285 | (1) |
|
|
285 | (1) |
|
Quadcopter Surveillance Drone |
|
|
286 | (1) |
|
Camera Trap or Security Camera |
|
|
287 | (1) |
|
|
287 | (1) |
|
|
287 | (2) |
Index |
|
289 | |