Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Arduino Cookbook A Note Regarding Supplemental Files Preface
Who This Book Is For How This Book Is Organized What Was Left Out Code Style (About the Code) Arduino Platform Release Notes Conventions Used in This Book Using Code Examples Safari® Books Online How to Contact Us Acknowledgments Notes on the Second Edition
1. Getting Started
1.0. Introduction 1.1. Installing the Integrated Development Environment (IDE) 1.2. Setting Up the Arduino Board 1.3. Using the Integrated Development Environment (IDE) to Prepare an Arduino Sketch 1.4. Uploading and Running the Blink Sketch 1.5. Creating and Saving a Sketch 1.6. Using Arduino
2. Making the Sketch Do Your Bidding
2.0. Introduction 2.1. Structuring an Arduino Program 2.2. Using Simple Primitive Types (Variables) 2.3. Using Floating-Point Numbers 2.4. Working with Groups of Values 2.5. Using Arduino String Functionality 2.6. Using C Character Strings 2.7. Splitting Comma-Separated Text into Groups 2.8. Converting a Number to a String 2.9. Converting a String to a Number 2.10. Structuring Your Code into Functional Blocks 2.11. Returning More Than One Value from a Function 2.12. Taking Actions Based on Conditions 2.13. Repeating a Sequence of Statements 2.14. Repeating Statements with a Counter 2.15. Breaking Out of Loops 2.16. Taking a Variety of Actions Based on a Single Variable 2.17. Comparing Character and Numeric Values 2.18. Comparing Strings 2.19. Performing Logical Comparisons 2.20. Performing Bitwise Operations 2.21. Combining Operations and Assignment
3. Using Mathematical Operators
3.0. Introduction 3.1. Adding, Subtracting, Multiplying, and Dividing 3.2. Incrementing and Decrementing Values 3.3. Finding the Remainder After Dividing Two Values 3.4. Determining the Absolute Value 3.5. Constraining a Number to a Range of Values 3.6. Finding the Minimum or Maximum of Some Values 3.7. Raising a Number to a Power 3.8. Taking the Square Root 3.9. Rounding Floating-Point Numbers Up and Down 3.10. Using Trigonometric Functions 3.11. Generating Random Numbers 3.12. Setting and Reading Bits 3.13. Shifting Bits 3.14. Extracting High and Low Bytes in an int or long 3.15. Forming an int or long from High and Low Bytes
4. Serial Communications
4.0. Introduction 4.1. Sending Debug Information from Arduino to Your Computer 4.2. Sending Formatted Text and Numeric Data from Arduino 4.3. Receiving Serial Data in Arduino 4.4. Sending Multiple Text Fields from Arduino in a Single Message 4.5. Receiving Multiple Text Fields in a Single Message in Arduino 4.6. Sending Binary Data from Arduino 4.7. Receiving Binary Data from Arduino on a Computer 4.8. Sending Binary Values from Processing to Arduino 4.9. Sending the Value of Multiple Arduino Pins 4.10. How to Move the Mouse Cursor on a PC or Mac 4.11. Controlling Google Earth Using Arduino 4.12. Logging Arduino Data to a File on Your Computer 4.13. Sending Data to Two Serial Devices at the Same Time 4.14. Receiving Serial Data from Two Devices at the Same Time 4.15. Setting Up Processing on Your Computer to Send and Receive Serial Data
5. Simple Digital and Analog Input
5.0. Introduction 5.1. Using a Switch 5.2. Using a Switch Without External Resistors 5.3. Reliably Detecting the Closing of a Switch 5.4. Determining How Long a Switch Is Pressed 5.5. Reading a Keypad 5.6. Reading Analog Values 5.7. Changing the Range of Values 5.8. Reading More Than Six Analog Inputs 5.9. Displaying Voltages Up to 5V 5.10. Responding to Changes in Voltage 5.11. Measuring Voltages More Than 5V (Voltage Dividers)
6. Getting Input from Sensors
6.0. Introduction 6.1. Detecting Movement 6.2. Detecting Light 6.3. Detecting Motion (Integrating Passive Infrared Detectors) 6.4. Measuring Distance 6.5. Measuring Distance Accurately 6.6. Detecting Vibration 6.7. Detecting Sound 6.8. Measuring Temperature 6.9. Reading RFID Tags 6.10. Tracking Rotary Movement 6.11. Tracking the Movement of More Than One Rotary Encoder 6.12. Tracking Rotary Movement in a Busy Sketch 6.13. Using a Mouse 6.14. Getting Location from a GPS 6.15. Detecting Rotation Using a Gyroscope 6.16. Detecting Direction 6.17. Getting Input from a Game Control Pad (PlayStation) 6.18. Reading Acceleration
7. Visual Output
7.0. Introduction 7.1. Connecting and Using LEDs 7.2. Adjusting the Brightness of an LED 7.3. Driving High-Power LEDs 7.4. Adjusting the Color of an LED 7.5. Sequencing Multiple LEDs: Creating a Bar Graph 7.6. Sequencing Multiple LEDs: Making a Chase Sequence (Knight Rider) 7.7. Controlling an LED Matrix Using Multiplexing 7.8. Displaying Images on an LED Matrix 7.9. Controlling a Matrix of LEDs: Charlieplexing 7.10. Driving a 7-Segment LED Display 7.11. Driving Multidigit, 7-Segment LED Displays: Multiplexing 7.12. Driving Multidigit, 7-Segment LED Displays Using MAX7221 Shift Registers 7.13. Controlling an Array of LEDs by Using MAX72xx Shift Registers 7.14. Increasing the Number of Analog Outputs Using PWM Extender Chips (TLC5940) 7.15. Using an Analog Panel Meter as a Display
8. Physical Output
8.0. Introduction 8.1. Controlling the Position of a Servo 8.2. Controlling One or Two Servos with a Potentiometer or Sensor 8.3. Controlling the Speed of Continuous Rotation Servos 8.4. Controlling Servos Using Computer Commands 8.5. Driving a Brushless Motor (Using a Hobby Speed Controller) 8.6. Controlling Solenoids and Relays 8.7. Making an Object Vibrate 8.8. Driving a Brushed Motor Using a Transistor 8.9. Controlling the Direction of a Brushed Motor with an H-Bridge 8.10. Controlling the Direction and Speed of a Brushed Motor with an H-Bridge 8.11. Using Sensors to Control the Direction and Speed of Brushed Motors (L293 H-Bridge) 8.12. Driving a Bipolar Stepper Motor 8.13. Driving a Bipolar Stepper Motor (Using the EasyDriver Board) 8.14. Driving a Unipolar Stepper Motor (ULN2003A)
9. Audio Output
9.0. Introduction 9.1. Playing Tones 9.2. Playing a Simple Melody 9.3. Generating More Than One Simultaneous Tone 9.4. Generating Audio Tones and Fading an LED 9.5. Playing a WAV File 9.6. Controlling MIDI 9.7. Making an Audio Synthesizer
10. Remotely Controlling External Devices
10.0. Introduction 10.1. Responding to an Infrared Remote Control 10.2. Decoding Infrared Remote Control Signals 10.3. Imitating Remote Control Signals 10.4. Controlling a Digital Camera 10.5. Controlling AC Devices by Hacking a Remote-Controlled Switch
11. Using Displays
11.0. Introduction 11.1. Connecting and Using a Text LCD Display 11.2. Formatting Text 11.3. Turning the Cursor and Display On or Off 11.4. Scrolling Text 11.5. Displaying Special Symbols 11.6. Creating Custom Characters 11.7. Displaying Symbols Larger Than a Single Character 11.8. Displaying Pixels Smaller Than a Single Character 11.9. Connecting and Using a Graphical LCD Display 11.10. Creating Bitmaps for Use with a Graphical Display 11.11. Displaying Text on a TV
12. Using Time and Dates
12.0. Introduction 12.1. Creating Delays 12.2. Using millis to Determine Duration 12.3. More Precisely Measuring the Duration of a Pulse 12.4. Using Arduino as a Clock 12.5. Creating an Alarm to Periodically Call a Function 12.6. Using a Real-Time Clock
13. Communicating Using I2C and SPI
13.0. Introduction 13.1. Controlling an RGB LED Using the BlinkM Module 13.2. Using the Wii Nunchuck Accelerometer 13.3. Interfacing to an External Real-Time Clock 13.4. Adding External EEPROM Memory 13.5. Reading Temperature with a Digital Thermometer 13.6. Driving Four 7-Segment LEDs Using Only Two Wires 13.7. Integrating an I2C Port Expander 13.8. Driving Multidigit, 7-Segment Displays Using SPI 13.9. Communicating Between Two or More Arduino Boards
14. Wireless Communication
14.0. Introduction 14.1. Sending Messages Using Low-Cost Wireless Modules 14.2. Connecting Arduino to a ZigBee or 802.15.4 Network 14.3. Sending a Message to a Particular XBee 14.4. Sending Sensor Data Between XBees 14.5. Activating an Actuator Connected to an XBee 14.6. Sending Messages Using Low-Cost Transceivers 14.7. Communicating with Bluetooth Devices
15. Ethernet and Networking
15.0. Introduction 15.1. Setting Up the Ethernet Shield 15.2. Obtaining Your IP Address Automatically 15.3. Resolving Hostnames to IP Addresses (DNS) 15.4. Requesting Data from a Web Server 15.5. Requesting Data from a Web Server Using XML 15.6. Setting Up an Arduino to Be a Web Server 15.7. Handling Incoming Web Requests 15.8. Handling Incoming Requests for Specific Pages 15.9. Using HTML to Format Web Server Responses 15.10. Serving Web Pages Using Forms (POST) 15.11. Serving Web Pages Containing Large Amounts of Data 15.12. Sending Twitter Messages 15.13. Sending and Receiving Simple Messages (UDP) 15.14. Getting the Time from an Internet Time Server 15.15. Monitoring Pachube Feeds 15.16. Sending Information to Pachube
16. Using, Modifying, and Creating Libraries
16.0. Introduction 16.1. Using the Built-in Libraries 16.2. Installing Third-Party Libraries 16.3. Modifying a Library 16.4. Creating Your Own Library 16.5. Creating a Library That Uses Other Libraries 16.6. Updating Third-Party Libraries for Arduino 1.0
17. Advanced Coding and Memory Handling
17.0. Introduction 17.1. Understanding the Arduino Build Process 17.2. Determining the Amount of Free and Used RAM 17.3. Storing and Retrieving Numeric Values in Program Memory 17.4. Storing and Retrieving Strings in Program Memory 17.5. Using #define and const Instead of Integers 17.6. Using Conditional Compilations
18. Using the Controller Chip Hardware
18.0. Introduction 18.1. Storing Data in Permanent EEPROM Memory 18.2. Using Hardware Interrupts 18.3. Setting Timer Duration 18.4. Setting Timer Pulse Width and Duration 18.5. Creating a Pulse Generator 18.6. Changing a Timer’s PWM Frequency 18.7. Counting Pulses 18.8. Measuring Pulses More Accurately 18.9. Measuring Analog Values Quickly 18.10. Reducing Battery Drain 18.11. Setting Digital Pins Quickly 18.12. Uploading Sketches Using a Programmer 18.13. Replacing the Arduino Bootloader 18.14. Reprogram the Uno to Emulate a Native USB device
A. Electronic Components
A.1. Capacitor A.2. Diode A.3. Integrated Circuit A.4. Keypad A.5. LED A.6. Motor (DC) A.7. Optocoupler A.8. Photocell (Photoresistor) A.9. Piezo A.10. Pot (Potentiometer) A.11. Relay A.12. Resistor A.13. Solenoid A.14. Speaker A.15. Stepper Motor A.16. Switch A.17. Transistor A.18. See Also
B. Using Schematic Diagrams and Data Sheets
B.1. How to Read a Data Sheet B.2. Choosing and Using Transistors for Switching
C. Building and Connecting the Circuit
C.1. Using a Breadboard C.2. Connecting and Using External Power Supplies and Batteries C.3. Using Capacitors for Decoupling C.4. Using Snubber Diodes with Inductive Loads C.5. Working with AC Line Voltages
D. Tips on Troubleshooting Software Problems
D.1. Code That Won’t Compile D.2. Code That Compiles but Does Not Work as Expected
E. Tips on Troubleshooting Hardware Problems
E.1. Still Stuck?
F. Digital and Analog Pins G. ASCII and Extended Character Sets H. Migrating to Arduino 1.0
Migrating Print Statements Migrating Wire (I2C) Statements Migrating Ethernet Statements Migrating Libraries New Stream Parsing Functions
Index About the Author Colophon Copyright
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion