Chapter 1, Introduction to the Raspberry Pi, covers different modes of Raspberry Pi and GPIO pin configuration. Then, we will set up Raspberry Pi B+ and Raspberry Pi Zero and install the Raspbian OS on it. We will also learn how to connect a Raspberry Pi to a laptop wirelessly via a Wi-Fi network.
Chapter 2, Implementing Blink with wiringPi, covers the installation of the wiringPi library. In this chapter, we will understand the wiringPi pin connections for the Raspberry Pi. Then, we will write two C++ programs and will upload them onto our Raspberry Pi.
Chapter 3, Programming the Robot, covers the criteria for selecting a robot chassis. After that, we will construct our car, connect the motor driver to the Raspberry Pi, and understand the workings of an H-bridge circuit. Finally, we will write programs to move the robot forward, backward, left, and right.
Chapter 4, Building an Obstacle-Avoiding Robot, looks at how an ultrasonic sensor works, and we will write a program to measure distance values. Next, we will program the 16 x 2 LCD to read the ultrasonic distance value. We will also look at the I2C LCD, which takes the 16 LCD pin as an input and provides four pins as an output, thus simplifying the wiring connections. Finally, we will fit the ultrasonic sensor on our robot to create our obstacle-avoiding robot. This robot will move freely when there are no obstacles near it, and if it approaches an obstacle, it will avoid it by taking a turn.
Chapter 5, Controlling a Robot Using a Laptop, looks at two different techniques for controlling the robot using a laptop. In the first technique, we will use the ncurses library to take input from the keyboard to move the robot accordingly. In the second technique, we will use the QT Creator IDE to create GUI buttons, and then use these buttons to move the robot in different directions.
Chapter 6, Accessing Rpi Cam with OpenCV, focuses on the installation of OpenCV on the Raspberry Pi. You will also be introduced to the Raspberry Pi camera module and, after setting up the Pi camera, you will take pictures and record a short video clip using the Pi camera.
Chapter 7, Building an Object-Following Robot with OpenCV, covers some of the important functions inside OpenCV libraries. After that, we will put these functions to the test and attempt to recognize an object from an image. Then, we will learn how to read a video feed from the Pi camera, how to threshold a colored ball, and how to place a red dot on top of it. Finally, we will use the Pi camera and the ultrasonic sensor to detect the ball and follow it.
Chapter 8, Face Detection and Tracking Using Haar Classifier, uses the Haar face classifier to detect a face from a video feed and draw a rectangle around it. Next, we will detect eyes and a smile on the given face and create a circle surrounding the eyes and mouth. After using this knowledge of face and eye detection, we will first turn the LED on/off when the eyes and smile are detected. Next, by creating a white dot in the center of the face, we will make the robot follow the face.
Chapter 9, Building a Voice-Controlled Robot, starts with creating our first Android application, called Talking Pi, in which text written inside the textbox will be displayed in a label and also read out by the smartphone. We will then develop a voice-controlled Android app for the bot, which will recognize our voice and send text to the RPi via Bluetooth. After this, using the terminal window, we will pair the Android smartphone's Bluetooth with the RPi's Bluetooth. Finally, we will look at socket programming and write the VoiceBot program to establish a connection with the Android smartphone's Bluetooth in order to control the robot.