Book Image

Hands-On Robotics with JavaScript

By : Kassandra Perch
Book Image

Hands-On Robotics with JavaScript

By: Kassandra Perch

Overview of this book

JavaScript has an effective set of frameworks and libraries that provide support for embedded device programming and the robotics ecosystem. You’ll be able to put your JavaScript knowledge to work with this practical robotics guide. The book starts by guiding you in setting up an environment to program robots with JavaScript and Rasberry Pi 3. You will build beginner-level projects, such as a line-following robot, and then upgrade your robotics skills with a series of projects that help you get to grips with the Johnny-Five library. As you progress, you’ll learn how you can improve your projects by enabling advanced hardware components and programming concepts. You’ll even build an advanced AI-enabled robot, connect its NodeBots to the internet, create a NodeBots Swarm, and explore Message Queuing Telemetry Transport (MQTT). By the end of this book, you will have enhanced your robot programming skills by building a range of simple to complex projects.
Table of Contents (19 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Using an analog sensor with the Pi


We talked about the lack of multiple PWM output pins on the Pi in Chapter 3, Building Interactive Projects with RGB LED, but an issue we haven't entirely addressed yet is with inputs. Digital inputs, such as buttons and switches, anything that is either on or off, are easy with the Pi, any digital output pin can also be used as a digital input pin. But what about things that require more than two states, such as sensors that detect light, temperature, moisture, distances, or anything else we'd like to measure in quantity? The answer lies in using specialized communication protocols developed over the years that allow digital pins to communicate analog information.

Finding the right sensors for your Pi project

When you're looking at sensors for a Raspberry Pi project, you need to be sure that any analog sensor you use has a digital interface. The two most common are I2C and SPI, and we'll talk about how to tell which your sensor has (or hasn't!) and whether...