Arduino: a technical reference: a handbook for technicians, engineers, and makers
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Beijing ; Boston ; Farnham ; Sebastopol ; Tokyo
O'Reilly
May 2016
|
Ausgabe: | First edition |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis Klappentext |
Beschreibung: | xxii, 613 Seiten Illustrationen |
ISBN: | 9781491921760 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV043659935 | ||
003 | DE-604 | ||
005 | 20160921 | ||
007 | t | ||
008 | 160707s2016 a||| |||| 00||| eng d | ||
020 | |a 9781491921760 |c pbk. |9 978-1-491-92176-0 | ||
035 | |a (OCoLC)953415662 | ||
035 | |a (DE-599)HBZHT018985869 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-355 |a DE-11 |a DE-83 |a DE-29T | ||
084 | |a ST 170 |0 (DE-625)143602: |2 rvk | ||
084 | |a ZN 4980 |0 (DE-625)157428: |2 rvk | ||
100 | 1 | |a Hughes, John M. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Arduino: a technical reference |b a handbook for technicians, engineers, and makers |c J.M. Hughes |
250 | |a First edition | ||
264 | 1 | |a Beijing ; Boston ; Farnham ; Sebastopol ; Tokyo |b O'Reilly |c May 2016 | |
300 | |a xxii, 613 Seiten |b Illustrationen | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Mikrocontroller |0 (DE-588)4127438-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Arduino-Plattform |0 (DE-588)7692236-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Arduino-Plattform |0 (DE-588)7692236-4 |D s |
689 | 0 | 1 | |a Mikrocontroller |0 (DE-588)4127438-6 |D s |
689 | 0 | 2 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Regensburg - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029073314&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
856 | 4 | 2 | |m Digitalisierung UB Regensburg - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029073314&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |3 Klappentext |
999 | |a oai:aleph.bib-bvb.de:BVB01-029073314 |
Datensatz im Suchindex
_version_ | 1804176413928980480 |
---|---|
adam_text | Table of Contents
Preface..................................,............................... xiii
1. The Arduino Family..................................................... 1
A Brief History 1
Types of Arduino Devices 2
Arduino Galleries 4
Arduino-Compatible Devices 7
Hardware-Compatible Devices 7
Software-Compatible Devices 8
The Arduino Naming Convention 9
What Can You Do with an Arduino? 10
For More Information 12
2. The AVR Microcontroller.................................,.............13
Background 14
Internal Architecture 14
Internal Memory 17
Peripheral Functions 17
Control Registers 18
Digital I/O Ports 18
8-Bit Timer/Counters 19
16-Bit Timer/Counters 21
Timer/Counter Prescaler 21
Analog Comparator 21
Analog-to-Digital Converter 22
Serial I/O 24
USART 24
SPI 25
in
TWI 25
Interrupts 26
Watchdog Timer 29
Electrical Characteristics 29
For More Information 29
Arduino-Specific AVR Microcontrollers.....................
ATmegal68/328 32
Memory 32
Features 32
Packages 34
Ports 34
Pin Functions 34
Analog Comparator Inputs 34
Analog Inputs 34
Serial Interfaces 35
Timer/Clock I/O 36
External Interrupts 37
Arduino Pin Assignments 38
Basic Electrical Characteristics 38
ATmega1280/ ATmega2560 39
Memory 39
Features 41
Packages 41
Ports 42
Pin Functions 42
Analog Comparator Inputs 42
Analog Inputs 43
Serial Interfaces 44
Timer/Clock I/O 45
External Interrupts 46
Arduino Pin Assignments 46
Electrical Characteristics 49
ATmega32U4 49
Memory 49
Features 51
Packages 51
Ports 51
Pin Functions 52
Analog Comparator Inputs 53
Analog Inputs 53
Serial Interfaces 54
iv | Table of Contents
v Timer/Clock I/O 55
External Interrupts 56
USB 2.0 Interface 57
Electrical Characteristics 58
Arduino Pin Assignments 59
Fuse Bits 60
For More Information 62
4. Arduino Technical Details............................................. 63
Arduino Features and Capabilities 63
Arduino USB Interfaces 64
Arduino Physical Dimensions 66
Full-Size Baseline Arduino PCB Types 67
Mega Form-Factor Arduino PCB Types 68
Small Form-Factor Arduino PCB Types 69
Special-Purpose PCB Types 73
Arduino Pinout Configurations 73
The Baseline Arduino Pin Layout 74
The Extended Baseline Pin Layout 76
The Mega Pin Layout 81
Nonstandard Layouts 83
For More Information 87
5. Programming the Arduino and AVR Microcontrollers......................... 89
Cross-Compiling for Microcontrollers 90
Bootloaders 92
The Arduino IDE Environment 94
Installing the Arduino IDE 95
Configuring the Arduino IDE 96
Cross-Compiling with the Arduino IDE 98
The Arduino Executable Image 101
The Arduino Software Build Process 101
Sketch Tabs 103
Arduino Software Architecture 104
Runtime Support: The main() Function 106
An Example Sketch 107
Constants 110
Global Variables 111
Libraries 112
Using Libraries in Sketches 112
Adding a Library to the Arduino IDE 116
Creating Custom Libraries 118
Table of Contents | v
Arduino Source Code
119
6. Life Without the Arduino IDE..........................................121
IDE Alternatives 121
PlatformlO 122
Ino 124
The AVR Toolchain 125
Installing the Toolchain 127
make 130
avr-gcc 131
binutils 132
avr-libc 135
Building C or C++ Programs from Scratch 137
Compiling with avr-gcc or avr-g++ 137
Multiple Source Files and make 138
AVR Assembly Language 140
The AVR Programming Model 141
Creating AVR Assembly Language Programs 143
AVR Assembly Language Resources 146
Uploading AVR Executable Code 147
In-System Programming 147
Programming with the Bootloader 148
Uploading Without the Bootloader 149
JTAG 151
AVRDUDE , 152
Using an Arduino as an ISP 154
Bootloader Operation 154
Replacing the Bootloader 156
Summary 156
7* Arduino Libraries.................................................... 157
Library Components 158
Contributed Libraries 211
8. Shields............................................................ 215
Electrical Characteristics of Shields 216
Physical Characteristics of Shields 217
Stacking Shields 219
Common Arduino Shields 220
Input/Output 221
I/O Extension Shields 222
I/O Expansion Shields 226
vi I Table of Contents
Relay Shields 230
Signal Routing Shields 232
Memory 235
Communication 237
Serial I/O and MIDI 237
Ethernet 239
Bluetooth 241
USB 243
ZigBee 244
CAN 246
Prototyping 249
Creating a Custom Prototype Shield 253
Motion Control 253
DC and Stepper Motor Control 254
PWM and Servo Control 255
Displays ; v •;;• 257
Instrumentation Shields 263
Adapter Shields 266
Miscellaneous Shields 268
Uncommon Arduino Shields ■ i , r . ‘ 272
Sources :4 ^ ■; • 274
Modules and I/O Components............................ .. 275
Modules 276
: •
Physical Form Factors ^ ; .y 277
Interfaces 277
Module Sources 280
Module Descriptions 282
Grove Modules 309
Sensor and Module Descriptions -s 310
Sensors 312
Temperature, Humidity, and Pressure Sensors 312
Tilt Sensors 318
Audio Sensors 319
Light Sensors 320
Magnetic Sensors :■ . .i 324
Vibration and Shock Sensors • - 324
Motion Sensors 325
Contact and Position Sensors 327
Range Sensors 331
Communications 332
APC220 Wireless Modules 332
Table of Contents | vii
315/433 MHz RF Modules 332
ESP8266 Transceiver 333
Output Devices and Components 334
Light Sources 335
Relays, Motors, and Servos 339
Analog Signal Outputs 342
User Input 343
Keypads 343
Joysticks 344
Potentiometers and Rotary Encoders 345
User Output 345
Text Displays 345
Graphical Displays 347
Support Functions 347
Clocks 348
Timers 350
Connections 351
Working with Naked Jumper Wires 351
Module Connection Systems 351
Building Custom Connectors 352
Choosing a Connection Method 354
Sources 355
Summary 355
10. Creating Custom Components........................................ 357
Getting Started 360
Custom Shields 365
Physical Considerations 366
Stacking Shields 367
Electrical Considerations 369
The GreenShield Custom Shield 369
Objectives 370
Definition and Planning 370
Design 371
Prototype 379
Final Software 385
Fabrication 393
Final Acceptance Testing 397
Operation 399
Next Steps 400
Custom Arduino-Compatible Designs 400
Programming a Custom Design 401
viii | Table of Contents
The Switchinator 401
Definition and Planning 402
Design 403
Prototype 416
Software 420
Fabrication 423
Acceptance Testing 427
Next Steps 428
Resources 428
Project: A Programmable Signal Generator.................. .................. 431
Project Objectives 433
Definition and Planning 434
Design 435
Functionality 436
Enclosure 437
Schematic 438
Prototype 441
Control inputs and Modes 441
Display Output 443
DDS Module 444
Software 446
Source Code Organization 447
Software Description 448
The DDS Library 456
Testing 457
Final Assembly 460
Pull-up Resistor Array 460
Input Protection 461
Chassis Components 462
DC Power 465
Final Testing and Closing 466
Reducing the Cost 467
Cost Breakdown 468
Resources 469
Project: Smart Thermostat................................ .................. 471
Background 471
HVAC Overview 472
Temperature Control Basics 473
Smart Temperature Control 476
Project Objectives 477
Table of Contents | «
Definition and Planning 477
Design 478
Functionality 478
Enclosure 480
Schematic 482
Software 482
User Input/Output 485
Control Output 488
Prototype 489
DHT22 Sensor 491
Rotary Encoder 491
Real-Time Clock Module 493
LCD Shield 493
Software 493
Source Code Organization 494
Software Description 494
Testing 497
Final Version 498
Assembly 498
Testing and Operation 501
Cost Breakdown 502
Next Steps 503
Resources 503
Model Rocket Launcher A Design Study......................... ............. 505
Overview 505
The Design Cycle 506
Objectives 508
Selecting and Defining Functional Requirements 510
Creating the Preliminary Design 514
Design Feasibility 517
Preliminary Parts List 520
Prototype 521
Final Design 522
Electrical 522
Physical 527
Software 529
Testing and Operation 532
Cost Analysis 533
Tools and Accessories.........................................
x | Table of Contents
B. AVRATmega Control Registers.......................................549
C. Arduino and Compatible Products Vendors.......................... 575
D. Recommended Reading.............................................. 581
E. Arduino and AVR Software Development Tools........................585
Index............................................................... 589
Table of Contents | xi
Arduino: A Technical Reference
For beginners, Arduino is a great starting point that doesn t demand a
lot of technical knowledge. But if you re an engineer or maker looking to
use Arduino to prototype your innovative hardware product, you need to
know precisely how and why it works. This unique technical reference and
handbook thoroughly describes the internal and external operating details
of this open-source electronics prototyping platform.
Because Arduinos don t require manuals or datasheets at the outset,
author and embedded systems engineer J. M. Hughes assembled
every detail he could find in one convenient place. You’ll get details on
AVR microcontrollers, Arduino libraries, shields, modules, and other
components. This book also describes four advanced projects that
highlight specific ideas you can apply to other applications.
■ Physical characteristics and interface functions of Arduino boards
■ Various AVR microcontrollers used with Arduino
■ Arduino’sunique programming environment including sketches
■ Programming Arduino without using the Arduino IDE
i Shields such as flash memory, Ethernet, Bluetooth, and ZigBee
■ Sensors, relay modules, keypads, and other add-ons that work
well with Arduino
■ Steps for creating your own custom shield from scratch
■ Ways to analyze a design problem and define solid, testable
requirements to help ensure success
J. M. Hughes is an embedded systems engineer with over 30 years of experi-
ence in electronics, aerospace systems, and scientific applications programming.
He was responsible for the surface imaging software on the Phoenix Mars Lander
and was part of the team that developed a novel synthetic heterodyne laser
interferometer for calibrating the position control of the mirrors on the James
Webb Space Telescope.
|
any_adam_object | 1 |
author | Hughes, John M. |
author_facet | Hughes, John M. |
author_role | aut |
author_sort | Hughes, John M. |
author_variant | j m h jm jmh |
building | Verbundindex |
bvnumber | BV043659935 |
classification_rvk | ST 170 ZN 4980 |
ctrlnum | (OCoLC)953415662 (DE-599)HBZHT018985869 |
discipline | Informatik Elektrotechnik / Elektronik / Nachrichtentechnik |
edition | First edition |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01893nam a2200397 c 4500</leader><controlfield tag="001">BV043659935</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20160921 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">160707s2016 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781491921760</subfield><subfield code="c">pbk.</subfield><subfield code="9">978-1-491-92176-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)953415662</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)HBZHT018985869</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-355</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-29T</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 170</subfield><subfield code="0">(DE-625)143602:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ZN 4980</subfield><subfield code="0">(DE-625)157428:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Hughes, John M.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Arduino: a technical reference</subfield><subfield code="b">a handbook for technicians, engineers, and makers</subfield><subfield code="c">J.M. Hughes</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">First edition</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Beijing ; Boston ; Farnham ; Sebastopol ; Tokyo</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">May 2016</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxii, 613 Seiten</subfield><subfield code="b">Illustrationen</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Mikrocontroller</subfield><subfield code="0">(DE-588)4127438-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Arduino-Plattform</subfield><subfield code="0">(DE-588)7692236-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Arduino-Plattform</subfield><subfield code="0">(DE-588)7692236-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Mikrocontroller</subfield><subfield code="0">(DE-588)4127438-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Regensburg - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029073314&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Regensburg - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029073314&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Klappentext</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-029073314</subfield></datafield></record></collection> |
id | DE-604.BV043659935 |
illustrated | Illustrated |
indexdate | 2024-07-10T07:31:47Z |
institution | BVB |
isbn | 9781491921760 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-029073314 |
oclc_num | 953415662 |
open_access_boolean | |
owner | DE-355 DE-BY-UBR DE-11 DE-83 DE-29T |
owner_facet | DE-355 DE-BY-UBR DE-11 DE-83 DE-29T |
physical | xxii, 613 Seiten Illustrationen |
publishDate | 2016 |
publishDateSearch | 2016 |
publishDateSort | 2016 |
publisher | O'Reilly |
record_format | marc |
spelling | Hughes, John M. Verfasser aut Arduino: a technical reference a handbook for technicians, engineers, and makers J.M. Hughes First edition Beijing ; Boston ; Farnham ; Sebastopol ; Tokyo O'Reilly May 2016 xxii, 613 Seiten Illustrationen txt rdacontent n rdamedia nc rdacarrier Mikrocontroller (DE-588)4127438-6 gnd rswk-swf Arduino-Plattform (DE-588)7692236-4 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf Arduino-Plattform (DE-588)7692236-4 s Mikrocontroller (DE-588)4127438-6 s Programmierung (DE-588)4076370-5 s DE-604 Digitalisierung UB Regensburg - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029073314&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis Digitalisierung UB Regensburg - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029073314&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA Klappentext |
spellingShingle | Hughes, John M. Arduino: a technical reference a handbook for technicians, engineers, and makers Mikrocontroller (DE-588)4127438-6 gnd Arduino-Plattform (DE-588)7692236-4 gnd Programmierung (DE-588)4076370-5 gnd |
subject_GND | (DE-588)4127438-6 (DE-588)7692236-4 (DE-588)4076370-5 |
title | Arduino: a technical reference a handbook for technicians, engineers, and makers |
title_auth | Arduino: a technical reference a handbook for technicians, engineers, and makers |
title_exact_search | Arduino: a technical reference a handbook for technicians, engineers, and makers |
title_full | Arduino: a technical reference a handbook for technicians, engineers, and makers J.M. Hughes |
title_fullStr | Arduino: a technical reference a handbook for technicians, engineers, and makers J.M. Hughes |
title_full_unstemmed | Arduino: a technical reference a handbook for technicians, engineers, and makers J.M. Hughes |
title_short | Arduino: a technical reference |
title_sort | arduino a technical reference a handbook for technicians engineers and makers |
title_sub | a handbook for technicians, engineers, and makers |
topic | Mikrocontroller (DE-588)4127438-6 gnd Arduino-Plattform (DE-588)7692236-4 gnd Programmierung (DE-588)4076370-5 gnd |
topic_facet | Mikrocontroller Arduino-Plattform Programmierung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029073314&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029073314&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT hughesjohnm arduinoatechnicalreferenceahandbookfortechniciansengineersandmakers |