Book Image

Raspberry Pi Robotic Blueprints

Book Image

Raspberry Pi Robotic Blueprints

Overview of this book

The Raspberry Pi is a series of credit card-sized single-board computers developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools. The Raspberry Pi is known as a tiny computer built on a single circuit board. It runs a Linux operating system, and has connection ports for various peripherals so that it can be hooked up to sensors, motors, cameras, and more. Raspberry Pi has been hugely popular among hardware hobbyists for various projects, including robotics. This book gives you an insight into implementing several creative projects using the peripherals provided by Raspberry Pi. To start, we’ll walk through the basic robotics concepts that the world of Raspberry Pi offers us, implementing wireless communication to control your robot from a distance. Next, we demonstrate how to build a sensible and a visionary robot, maximizing the use of sensors and step controllers. After that, we focus on building a wheeled robot that can draw and play hockey. To finish with a bang, we’ll build an autonomous hexcopter, that is, a flying robot controlled by Raspberry Pi. By the end of this book, you will be a maestro in applying an array of different technologies to create almost any imaginable robot.
Table of Contents (14 chapters)
Raspberry Pi Robotic Blueprints
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Moving the paddle to strike the puck


You'll need to add some commands to the puck tracking program to talk over the serial port and move the paddle. But first, let's explore how to send some simple commands from inside a python program that is running on Raspberry Pi to control the paddle. Here is a simple program that takes in user input and sends it to the Arduino control program:

When you run this code, you will be able to enter a location and the paddle will go to that location. Now you'll want to tie this code in to the code for puck tracking; however, you'll need a function that can calculate where the paddle needs to be, based on the puck speed and direction. Let's start with a very easy function, one that assumes no bounce on the side and that the paddle will stay at y = 0. As an example, let's look at when the puck is at a location with an equal x and y velocity. The following is a diagram of where you want to move the puck:

You'll also need to add the idea of bounce off the edge...