Categories

Arduino for beginners. The next step is to Simon monk*

Translation: Konrad Matuk. Publisher: Helion. The book introduces the reader to the more advanced world of Arduino.

More details

KSZ-05036

9788328300132

Add to cart

This product is no longer in stock


Notify me when available

Price 35,00 zł

Description

Simon Monk - the author of numerous publications representing a countless number of projects based on the Arduino platform, once again introduces hobbyists of electronics to the world of the popular microcontroller.

 

During the reading, the reader will learn how to handle a hardware interrupts, a USB interface, and also, how to manage the memory. In addition, it will teach you how to speed up Arduino board or optimize current consumption. You will also learn the secrets of serial communication and digital signal processing as well as how to use the network and how to create your own libraries.

 

  • Use the hardware and time  interrupts.
  • Increase the efficiency of the microcontroller's work by writing effective sketches.
  • Minimize the amount of the memory occupied by the sketches.
  • Reduce the current consumed by the Arduino.
  • Learn how to work with various interfaces — I2C, 1-Wire, SPI. Transmit the data serially via the TTL system.
  • Use the advanced functions of Leonardo and Due boards — i.a. emulate a keyboard's and a USB mouse's operation.
  • Write sketches that use the Internet.
  • Examine the issues related to digital signal processing.
  • Simultaneously perform more than one operation on a microcontroller that does not support multithreading.
  • Create and share your own libraries.

 

Examples of projects used in the book, available for download. Excerpt from the book for on-line reading.

 

The contents

 

About the author (9)

 

Thanks (10)

 

Introduction (11)

  • Downloading the examples (12)
  • What else do I need? (12)
  • Using this book (12)
 

Chapter 1. Programming the Arduino (15)

  • What is the Arduino (15)
  • Installation and development environment (17)
    • Installing the development environment (18)
    • Blink (18)
  • Tour around the Arduino Board (21)
    • Power (21)
    • Power connectors (22)
    • Analog inputs (22)
    • Digital connectors (22)
  • Arduino boards (23)
    • Uno and derivatives (23)
    • Large Arduino boards (24)
    • Small Arduino boards (25)
    • LilyPad boards and LilyPad USB (26)
    • Unofficial Arduino boards (27)
  • Programming language (27)
  • Changing the Blink sketch (27)
  • Variables (29)
  • If (30)
  • Loops (31)
  • Functions (32)
  • Digital inputs (33)
  • Digital outputs (35)
  • Monitor of the serial port (35)
  • Arrays and matrixes (37)
  • Analog inputs (38)
  • Analog outputs (40)
  • Using the libraries (42)
  • The data types supported by Arduino (43)
  • Arduino commands (44)
  • The summary (46)
 

Chapter 2. Under the hood (47)

  • A brief history of the Arduino (47)
  • Anatomy of the Arduino (47)
  • The AVR processors (48)
    • ATmega328 (48)
    • ATmega32u4 (50)
    • ATmega2560 (50)
    • AT91SAM3X8E (51)
  • Arduino and Wiring (51)
  • From the sketch to the Arduino (55)
  • AVR Studio (56)
  • Installation of the the bootloader (58)
    • Installing the bootloader using AVR Studio and programmer (59)
    • Installing the bootloader using the IDE of the Arduino and other Arduino board (60)
  • The summary (62)
 

Chapter 3. Interrupts and clocks (63)

  • Hardware interrupts (63)
    • Pins of interrupts (66)
    • Modes of interrupts 67)
    • Activation of the built-in pulling-up resistor (67)
    • Procedures for using the interrupts (67)
    • Volatile variables (68)
    • Summary of the knowledge about the  interrupt handling procedures (69)
  • Enabling and disabling the interrupt handling (69)
  • Timers and interrupts (70)
  • The summary (73)
 

Chapter 4. Acceleration of Arduino (75)

  • How fast is Your Arduino? (75)
  • Comparison of the Arduino boards (76)
  • The accelaration of the execution of arithmetic operations (77)
    • Is it really necessary to use float values? (77)
  • Viewing vs calculation (78)
  • Quick input-output (80)
    • Basic optimization of the code (80)
    • Bytes and bits (82)
    • Ports of the ATmega328 chip (82)
    • Very fast operation of the digital outputs (84)
    • Fast digital inputs (84)
  • Acceleration of the analog inputs (86)
  • Summary (88)
 

Chapter 5. Arduino and low current consumption (89)

  • Arduinoboards and current consumption (89)
  • Current and the rechargeable batteries (91)
  • The decrease in frequency of the timing (92)
  • Turning off the components (94)
  • "Sleep mode (95)
    • The Narcoleptic Library (95)
    • Waking up via the external interrupts (97)
  • The limitation of the consumed current using the digital outputs (99)
  • Summary (101)
 

Chapter 6. The memory (103)

  • The Memory Of The Arduino (103)
  • Using the minimum amount of RAM memory (104)
    • Using the right data structures (105)
    • Be careful with recursion (105)
    • Storage of the constants which are the chains, in flash memory (107)
    • Common misconception, (108)
    • Measurement of the free memory (108)
  • Using a minimum amount of flash memory (108)
    • Use the constants (109)
    • Delete unnecessary sketch components (109)
    • Skip bootloader (109)
  • Static and dynamic memory allocation (109)
  • Chains (111)
    • Arrays of char elements (111)
    • Library Arduino StringObject (114)
  • The use of EEPROM (115)
    • Example of using the EEPROM (116)
    • Using the library avr/eeprom.h (118)
    • The limitation of the EEPROM memory (120)
  • The use of Flash memory (120)
  • Saving data on SD cards (121)
  • Summary (122)
 

Chapter 7. The use of the I2C bus (123)

  • Layer of hardware (125)
  • The protocol of the I2C bus (126)
  • The Wire Library (126)
    • Initiation of the I2C bus (127)
    • Data transfer from the master device (127)
    • Receiving data from the master device (127)
  • An example of the I2C bus operation (128)
    • TEA5767 FM radio (128)
    • Data transfer between two Arduino boards (130)
    • Boards with LEDs (133)
    • Real time clock DS1307 (134)
  • Summary (135)
 

Chapter 8. Work with devices equipped with interface 1-Wire (137)

  • The hardware that supports the 1-Wire interface (137)
  • 1-Wire Protocol (138)
  • OneWire Library (139)
    • Initialize of the OneWire library (139)
    • Scan of the bus (139)
  • The use of the DS18B20 system (141)
  • Summary (143)
 

Chapter 9. Work with devices equipped with a SPI interface (145)

  • Work with bits (145)
    • Binary and hexadecimal values (146)
    • Masking the bits (146)
    • Moving the bits (148)
  • Equipment serving the SPI bus (150)
  • The SPI Protocol (151)
  • The SPI library (151)
  • An example of communication using the SPI interface (153)
  • Summary (157)
 

Chapter 10. Serial data transfer using the UART chip (159)

  • Equipment used for serial data transmission (159)
  • The protocol supporting the serial data transfer (162)
  • Commands to support the serial data transmission (162)
  • The SoftwareSerial Library (164)
  • Examples of the serial data transmission (165)
    • The communication between PC and Arduino via the USB interface (165)
    • The connection between the two Arduino boards (167)
    • GPS module (169)
  • Summary (172)
 

Chapter 11. Support of the USB interface (173)

  • Emulation of keyboard and mouse (173)
    • Keyboard emulation (174)
    • Example of keyboard emulation (175)
    • Mouse emulation (175)
    • An example of mouse emulation (176)
  • Programming the USB-host (176)
    • USB Host board and library supporting it (177)
    • USB Host of the Arduino Due board (180)
  • Summary (182)
 

Chapter 12. Network maintenance (183)

  • Network equipment (183)
    • The expansion board is equipped with Ethernet controller (183)
    • Arduino Ethernet and Arduino EtherTen (184)
    • Arduino and Wi-Fi (185)
  • The Ethernet Library (185)
    • Making the connection (185)
    • Setting up the Web server (188)
    • Create calls (189)
  • An example of the sketch that uses the Ethernet library (189)
    • Hardware Web server (190)
    • Downloading the data in JSON format (194)
  • The Wi-Fi library (195)
    • Making the connection (195)
    • Functions defined in the wi-fi library (196)
  • A rough sketch using a Wi-Fi network (196)
  • Summary (197)
 

Chapter 13. Digital signal processing (199)

  • Introduction to digital signal processing (199)
  • Averaging of readings (200)
  • Introduction to filter (202)
  • A simple lowpass filter (203)
  • Digital signal processing via Arduino Uno (204)
  • Digital signal processing via Arduino Due (205)
  • Generating the filter code (208)
  • The Fourier transformation (210)
    • Spectrum analyzer (212)
    • Frequency measurement (214)
  • Summary (214)
 

Chapter 14. Work with only one process (215)

  • The change of scale (215)
  • Why themes are not needed (216)
  • The functions of setup and loop (216)
    • Detect first, then respond (216)
    • Pause which does not block the microcontroller (217)
  • Library Timer (218)
  • Summary (220)
 

Chapter 15. Creation of the libraries (221)

  • When to create the library? (221)
  • The use of classes and methods (222)
  • Example of TEA5767 Radio library (222)
    • Specify the programming interface (223)
    • Create a header file (224)
    • Create the implementation file (225)
    • Create a file with keywords (226)
    • Create a folder with examples (226)
  • Testing the libraries (227)
  • Library publications (227)
  • Sumary (228)
 

Addition A. Units (229)

  • Arduino boards(229)
  • Expansion boards (229)
  • Modules (229)
  • Distributors (230)
 

Index (233)

  • Book - Author: Simon Monk
  • Book - ISBN: 978-83-283-0013-2
  • Book - Binding: miękka
  • Book - Publisher: Helion

SAME DAY SHIPPING

Posting the payment for the order on our account on a business day up to 13:00 means sending the goods on the same day!

 

The time of payment depends on the hours of ELIXIR session of the sender's bank and the recipient of the transfer (more information on this subject, for example on the websitehttp://www.kiedy-przelew.pl/).

 

The table presents available forms of delivery in Poland

 

Carrier and
regulations

Bank wire
transfer

Payment
by cash

Delivery
time

Poczta Polska

terms of service

9,90 PLN17,90 PLN1-3 days

Kurier GLS

terms of service

14,90 PLN22,90 PLN

1-2 days

Paczkomaty 24/7 

terms of service

12,90 PLN-1-3 days

If the amount to pay for products exceeds 500 PLN
Delivery is for free!

 

  • Free delivery of orders over 500 PLN does not apply to parcels addressed outside of Poland.
  • Free delivery does not apply when changing orders.
  • The delivery period is counted in working days from the date of dispatch of the order.