Book Image

Hands-On Robotics Programming with C++

By : Dinesh Tavasalkar, Lentin Joseph
Book Image

Hands-On Robotics Programming with C++

By: Dinesh Tavasalkar, Lentin Joseph

Overview of this book

C++ is one of the most popular legacy programming languages for robotics, and a combination of C++ and robotics hardware is used in many leading industries. This book will bridge the gap between Raspberry Pi and C/C++ programming and enable you to develop applications for Raspberry Pi. You'll even be able to implement C programs in Raspberry Pi with the WiringPi library. The book will guide you through developing a fully functional car robot and writing programs to move it in different directions. You’ll then create an obstacle-avoiding robot using an ultrasonic sensor. In addition to this, you’ll find out how to control the robot wirelessly using your PC or Mac. This book will also help you work with object detection and tracking using OpenCV, and guide you through exploring face detection techniques. Finally, you will create an Android app and control the robot wirelessly with an Android smartphone. By the end of this book, you will have gained experience in developing a robot using Raspberry Pi and C/C++ programming.
Table of Contents (16 chapters)
Free Chapter
1
Section 1: Getting Started with wiringPi on a Raspberry Pi
4
Section 2: Raspberry Pi Robotics
8
Section 3: Face and Object Recognition Robot
12
Section 4: Smartphone-Controlled Robot

Using an LCD

A liquid crystal display (LCD) is an electronic display unit that is generally used in computers, TVs, smartphones, and cameras. A 16x2 LCD is a basic LCD module that is generally used in electronics or DIY projects. As the name suggests, a 16x2 LCD consists of 16 columns and 2 rows. This means that it has two lines, on each of which we can display a maximum of 16 characters. A 16x2 LCD consists of 16 pins labeled from VSS to K, as shown in the following photo:

Each pin on the LCD can be described as follows:

Pin number Name How it works

1

VSS (GND)

Ground pin.

2

VCC

The VCC pin requires 5V of power in order to turn on the LCD module.

3

Vo

Using this pin, we can adjust the contrast of LCD. We can connect it to GND for maximum contrast. If you want to vary the contrast, connect it to the data pin of a potentiometer.

4

RS (Register

...