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

Index
Cover Title Page Copyright Page Contents Preface Acknowledgments Introduction 1 Programming Arduino
What Is Arduino? Installation and the IDE
Installing the IDE Blink
A Tour of Arduino
Power Supply Power Connections Analog Inputs Digital Connections
Arduino Boards
Uno and Similar Big Arduino Boards Small Arduino Boards Unofficial Arduinos
Programming Language Modifying the Blink Sketch Variables If Loops Functions Digital Inputs Digital Outputs The Serial Monitor Arrays and Strings Analog Inputs Analog Outputs Using Libraries Arduino Data Types Arduino Commands Summary
2 Under the Hood
A Brief History of Arduino Anatomy of an Arduino AVR Processors
ATmega328 ATmega32u4 ATmega2560 AT91SAM3X8E
Arduino and Wiring From Sketch to Arduino AVR Studio Installing a Bootloader
Burning a Bootloader with AVR Studio and a Programmer Burning a Bootloader with the Arduino IDE and a Second Arduino
Summary
3 When Is an Arduino Not an Arduino?
The Arduino IDE’s Extensible Architecture Adafruit Circuit Playground Express NodeMCU ESP32 ATtiny Microcontrollers
ATtiny44 Using an Arduino as a Programmer Installing ATtinyCore into the IDE Clocks, Crystals, and Fuses Minimal Arduino
Summary
4 Interrupts and Timers
Hardware Interrupts
Interrupt Pins Interrupt Modes Enabling Internal Pull-Up Interrupt Service Routines Volatile Variables ISR Summary
Enabling and Disabling Interrupts Timer Interrupts Summary
5 Making Arduino Faster
How Fast Is an Arduino? Comparing Arduino Boards Speeding Up Arithmetic
Do You Really Need to Use a Float?
Lookup vs. Calculate Fast I/O
Basic Code Optimization Bytes and Bits ATmega328 Ports Very Fast Digital Output Fast Digital Input
Speeding Up Analog Inputs Summary
6 Low-Power Arduino
Power Consumption of Arduino Boards Current and Batteries Reducing the Clock Speed Turning Things Off Sleeping ATmega-Based Arduinos
Narcoleptic Waking ATmega-Based Arduinos on External Interrupts
ESP8266 Sleeping ESP32 Sleeping Use Digital Outputs to Control Power Summary
7 Memory
Arduino Memory Minimizing RAM Usage
Use the Right Data Structures Store String Constants in Flash Memory Common Misconceptions Measure Free Memory
Minimizing Flash Usage
Use Constants Remove Unwanted Trace Bypass the Bootloader
Static vs. Dynamic Memory Allocation Strings
C char Arrays The Arduino String Object Library
Using EEPROM
EEPROM Example Using the avr/eeprom.h Library EEPROM Limitations
Using Flash Using SD Card Storage Summary
8 Interfacing with Arduino
Binary Arduino Types and Binary Hexadecimal Masking Bits Shifting Bits Serial Data Summary
9 Using I2C
I2C Hardware The I2C Protocol The Wire Library
Initializing I2C Master Sending Data Master Receiving Data
I2C Examples
TEA5767 FM Radio Arduino-to-Arduino Communication LED Backpack Boards DS1307 Real-Time Clock
Summary
10 Interfacing with 1-Wire Devices
1-Wire Hardware The 1-Wire Protocol The OneWire Library
Initializing 1-Wire Scanning the Bus
Using the DS18B20 Summary
11 Interfacing with SPI Devices
Bit Manipulation SPI Hardware The SPI Protocol The SPI Library SPI Example Summary
12 Serial UART Programming
Serial Hardware Serial Protocol The Serial Commands The SoftwareSerial Library Serial Examples
Computer to Arduino over USB Arduino to Arduino GPS Module
Summary
13 USB Programming
Keyboard and Mouse Emulation
Keyboard Emulation Keyboard Emulation Example Mouse Emulation Mouse Emulation Example USB Host on the Arduino Due
Summary
14 Network and Internet of Things Programming
Networking Hardware
Ethernet Shield Arduino Ethernet/EtherTen
The Ethernet Library
Making a Connection Setting Up a Web Server Making Requests
Wired Ethernet Examples
Physical Web Server Using a JSON Web Service
The Official Arduino WiFi Library
Making a Connection WiFi-Specific Functions
Arduino WiFi Example ESP8266/ESP32 WiFi Example Internet of Things
dweet.io Programming the NodeMCU or Wemos D1 Mini Attaching the TMP36 A Web Page to Display the Temperature
Summary
15 Digital Signal Processing
Introducing Digital Signal Processing Averaging Readings An Introduction to Filtering Creating a Simple Low-Pass Filter Arduino Uno DSP Arduino Due DSP Filter Code Generation The Fourier Transform
Spectrum Analyzer Example Frequency Measurement Example
Summary
16 Managing with One Process
Making the Transition from Big Programming Why You Don’t Need Threads Setup and Loop
Sense Then Act Pause Without Blocking
The Timer Library State Diagrams State Machines in Arduino Summary
17 Writing Libraries
When to Make a Library Using Classes and Methods Library Example (TEA5767 Radio)
Define the Library’s Interface Write the Header File Write the Implementation File Write the Keywords File Make the Examples Folder
Testing the Library Releasing the Library Publishing Your Library on GitHub
GitHub Creating a Repository
Summary
A Parts
Arduino Boards Components and Modules Suppliers Arduino Starter Kits
Index
  • ← 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