Practical Arduino Robotics: A hands-on guide to bringing your robotics ideas to life using Arduino

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Build your hardware, electronics, and programming skills, and use them to realize your advanced robotics projects with this powerful platform

Purchase of the print or Kindle book includes a free PDF eBook

Key Features

  • Become an expert in selecting sensors, motors, and Arduino boards for any robotics project
  • Discover how to write effective and reusable code for your Arduino robotics projects
  • Learn to build a camera-based line follower and a self-balancing telepresence robot on your own

Book Description

Every robot needs a "brain," and the Arduino platform provides an incredibly accessible way to bring your Arduino robot to life. Anyone can easily learn to build and program their own robots with Arduino for hobby and commercial uses, making Arduino-based robots the popular choice for school projects, college courses, and the rapid prototyping of industrial applications!

Practical Arduino Robotics is a comprehensive guide that equips you with the necessary skills and techniques that can be applied to various projects and applications, from automating repetitive tasks in a laboratory to building engaging mobile robots.

Building on basic knowledge of programming and electronics, this book teaches you how to choose the right components, such as Arduino boards, sensors, and motors, and write effective code for your robotics project, including the use of advanced third-party Arduino libraries and interfaces, such as Analog, SPI, I2C, PWM, and UART. You'll also learn different ways to command your robots wirelessly, such as over Wi-Fi. Finally, with basic to advanced project examples, this book illustrates how to build exciting autonomous robots like a self-balancing telepresence robot.

By the end of this book, you'll be able to design and create your own custom robots for a wide variety of applications.

What you will learn

  • Understand and use the various interfaces of an Arduino board
  • Write the code to communicate with your sensors and motors
  • Implement and tune methods for sensor signal processing
  • Understand and implement state machines that control your robot
  • Implement feedback control to create impressive robot capabilities
  • Integrate hardware and software components into a reliable robotic system
  • Tune, debug, and improve Arduino-based robots systematically

Who this book is for

If you're excited about robotics and want to start creating your own robotics projects from the hardware up, this book is for you. Whether you are an experienced software developer who wants to learn how to build physical robots, a hobbyist looking to elevate your Arduino skills to the next level, or a student with the desire to kick-start your DIY robotics journey, you'll find this book very useful. In order to successfully work with this book, you'll need basic familiarity with electronics, Arduino boards and the core concepts of computer programming.

Table of Contents

  1. Introducing Robotics and the Arduino Ecosystem
  2. Making Robots Perceive The World with Sensors
  3. Making Your Robot Move and Interact with the World with Actuators
  4. Selecting the Right Arduino Board for Your Project
  5. Getting Started with Robot Programming
  6. Understanding Object-Oriented Programming and Creating Arduino Libraries
  7. Testing and Debugging with the Arduino IDE
  8. Exploring Mechanical Design and the 3D Printing Toolchain
  9. Designing the Power System of Your Robot
  10. Working with Displays, LEDs, and Sound
  11. Adding Wireless Interfaces to Your Robot
  12. Building an Advanced Line-Following Robot Using a Camera

(N.B. Please use the Look Inside option to see further chapters)

Author(s): Lukas Kaul
Edition: 1
Publisher: Packt Publishing
Year: 2023

Language: English
Pages: 334
City: Birmingham
Tags: Arduino; Robotics; Electronics; I2C; UART; Wi-Fi; Computer Programming; Microprocessor Programming; Sensor Signal Processing; State Machine

Cover
Title Page
Copyright and credits
Contributors
Table of Contents
Preface
Part 1: Selecting the Right Components for Your Robots
Chapter 1: Introducing Robotics and the Arduino Ecosystem
Technical requirements
The main components of a robot
What different types of robots are there?
What is an Arduino microcontroller board?
What is a microcontroller?
What exactly is Arduino?
The Arduino ecosystem
The Arduino IDE
The Arduino Uno
How to program your Arduino board
Installing the Arduino IDE
Writing your first Arduino program
Compiling the code for your Arduino board
Transmitting the code to your Arduino board and running it
Examples of Arduino robot technology
Summary
Further reading
Chapter 2: Making Robots Perceive the World with Sensors
Technical requirements
Understanding common sensor characteristics
Commonly used sensor types for Arduino robots
Switches and buttons
Distance sensors
Encoders (rotary and linear)
Temperature sensors
Pressure sensors
Light sensors
Sound sensors
GPS
IMU
Common sensor interfaces and code examples
GPIO – great for simple sensors
Analog is simple
Serial interfaces
Additional peripherals for working with sensors
Summary
Further reading
Chapter 3: Making Your Robot Move and Interact with the World with Actuators
Technical requirements
Understanding electric motors and motor drivers
Brushed DC motors
Brushless DC motors
Different motor types and how to use them
Using RC servo motors
Using brushed DC motors
Using BLDC motors
ESCs for BLDC motors
Driving a BLDC motor with a sensorless ESC
Using stepper motors
Dedicated robot actuators and servo controllers
Summary
Further reading
Chapter 4: Selecting the Right Arduino Board for Your Project
Technical requirements
Important characteristics of Arduino boards
Input voltage and operating voltage
Interfaces
CPU
Memory
Additional hardware
Size
Cost
An introduction to selected official Arduino boards
Arduino Nano and Nano Every
Arduino Mega
A brief overview of third-party Arduino-compatible boards
Adafruit Feather and Trinket M0
SparkFun RedBoard
Teensy
Summary
Further reading
Part 2: Writing Effective and Reliable Robot Programs for Arduino
Chapter 5: Getting Started with Robot Programming
Technical requirements
The general structure of an Arduino robot program
Cooperative multitasking
Running two tasks asynchronously
Task execution with variable frequency
State machines
Blocking and non-blocking function calls
Feedback control
What is feedback control?
Examples of feedback control systems
The PID control algorithm
Building a DC servo motor
Summary
Chapter 6: Understanding Object-Oriented Programming and Creating Arduino Libraries
Technical requirements
The OOP paradigm
Writing and using the Blinker class
Public and private class members
Using our class definition
The power of OOP
Turning your class into an Arduino library
The header file
The source file
Using the library in the Arduino IDE
Adding examples
Working with third-party Arduino libraries
Adding library files manually
Using the IDE’s Library Manager
Summary
Further reading
Chapter 7: Testing and Debugging with the Arduino IDE
Technical requirements
Building modular robot hardware
Mechanical components
Electrical components
Writing testable robot programs
Using the Arduino IDE for testing and debugging
Using the Serial Monitor as input
Using the Serial Plotter for live visualization
Summary
Further reading
Part 3: Building the Hardware, Electronics, and UI of Your Robot
Chapter 8: Exploring Mechanical Design and the 3D Printing Toolchain
Technical requirements
Principles of mechanical design for DIY robots
Keep it simple
Make it modular
Make a plan
Exploring materials and manufacturing techniques
Permanent connections
Temporary connections
Wood
Acrylic
Aluminum
Other materials
CAD
3D printing
What is a 3D printer?
3D printers for DIY robotics
Slicing
Printing
Additional tips for 3D printing
Summary
Further reading
Chapter 9: Designing the Power System of Your Robot
Technical requirements
Fundamentals of electrical power systems
Voltage, current, and power
Understanding the power demands of your robot
Safety considerations and hazards when working with high-power batteries
Electric shock
Arcing
Excessive temperature
Overvoltage
Components and design of a robot power system
Power distribution
Monitoring
Control and safety
Putting it all together
Summary
Further reading
Chapter 10: Working with Displays, LEDs, and Sound
Technical requirements
Advanced use of LEDs
Dimming LEDs
LED circuits
Multicolor LEDs
Other LEDs
Using different types of displays
Character displays
Graphical displays
Adding sound output to your robot
Digital sound
Analog sound
Summary
Further reading
Chapter 11: Adding Wireless Interfaces to Your Robot
Technical requirements
What is a wireless interface
When to use wireless interfaces
The structure of a wireless interface
Controlling your robot with a hobby remote control
Decoding the receiver output
Replacing the USB cable with a Zigbee module
Hardware
Software
Using your XBee modules
Other uses
Controlling a robot from your phone via Bluetooth
Hardware
Bluetooth chat
Bluetooth Plotter
Bluetooth controller
Connecting to your robot over Wi-Fi
Hardware
Setup
Wi-Fi
Next steps with Wi-Fi
Summary
Further reading
Part 4: Advanced Example Projects to Put Your Robotic Skills into Action
Chapter 12: Building an Advanced Line-Following Robot Using a Camera
Technical requirements
Line following – the “Hello, World!” of robotics
Building a reliable mobile base
Building the frame
Adding motors and wheels
Electronic components
Wiring up the robot
Battery and motor connections
On-breadboard connections
Inter-board connections
Integrating the camera
Electrical integration
Mechanical integration
Software
Overview
Motor control
Bluetooth interface
Line following
Battery monitoring
Hardware compatibility
Tuning and testing
Summary
Further reading
Chapter 13: Building a Self-Balancing, Radio-Controlled Telepresence Robot
Technical requirements
Building the robot
Integrating motors and encoders
Integrating the RC receiver
Integrating the IMU
Phone holder
Writing the control software
Driving the motors
Encoder library
Wheel velocity estimation
Namespaces
Pitch estimation with the IMU
Controlling the robot
Balance control
Remote control
Motor deadband compensation
Auto on/off
Parameter tuning
Testing and practice
Telepresence
Summary
Further reading
Chapter 14: Wrapping Up, Next Steps, and a Look Ahead
Technical requirements
A quick recap
The bigger picture
Your next steps
Becoming a DIY robotics master
Focusing on mechanical engineering
Focusing on electrical engineering
Focusing on computer engineering and computer science
Focusing on data-driven methods ML
Trends in robotics
ML/AI
Cloud robotics
Human/robot collaboration
Soft robotics
Robots as consumer products
Robots for autonomous data acquisition
Robots in logistics
Humanoids as multi-purpose robots
How to start your career in robotics
Summary
Index
Other Books You May Enjoy