Contents

Contents at a Glance

About the Authors

About the Technical Reviewer

Acknowledgments

Introduction

images Chapter 1: Arduino Basics

What is Arduino?

A Brief History of Arduino

Installing Arduino

Installation on Mac OS X

Installation on Windows

Installation on Linux

Testing the Arduino

Arduino Hardware

Arduino Input and Output Pins

Digital Pins

Analog Input Pins

Pull-Up Resistors

Arduino Shields

Arduino IDE

Serial Monitor

Arduino Language

The setup() Function

The loop() Function

Variables

Variable Declaration and Initialization

Variable Scope

Your First Arduino Project

Breadboard

Building the Circuit

Programming the Arduino

The setup() Function

The loop() Function

Circuit Diagrams

Fritzing

Electronic Symbols

Electricity

AC/DC

Ohms Law

Joule’s Law

Summary

images Chapter 2: Kinect Basics

A Brief History of the Kinect

Hacking the Kinect

Official Frameworks

The Kinect Sensor

Positioning your Kinect

Kinect Capabilities

RGB Image

IR Image

Depth Map

Hand and Skeleton Tracking

Kinect Drivers and Frameworks

OpenKinect: Libfreenect Drivers

PrimeSense: OpenNI and NITE

OpenNI

NITE

Microsoft Kinect for Windows

Kinect Theory

Structured-Light 3D Scanning

Converting the Light Coding Image to a Depth Map

Kinect Alternative: ASUS Xtion PRO

Summary

images Chapter 3: Processing

Processing Language

Installing Processing

Processing IDE

A First Processing Sketch

Processing Variables

Variable Scope

Structure of a Processing Sketch

setup() Function

draw() Function

Processing Libraries

Simple-OpenNI

Installing Simple-OpenNI

Installation on Windows

Installation in Mac OS X

Installation on Linux

Accessing the Depth Map and RGB Image

The Third Dimension

Processing in 3D

Matrix Transforms

Camera Control Libraries

KinectOrbit Example

Kinect Space

Linear and Two-Dimensional Arrays

Coloring the Point Cloud

NITE Functions

Hand Tracking

Skeleton Tracking

Summary

images Chapter 4: Arduino and Kinect: “Hello World”

Parts List for Hello World

Serial Communication

Serial-Controlled LED

Pulse Width Modulation

PWM-Controlled LED

Writing Your Own Communication Protocol

Serial-Controlled LEDs

Kinect-Controlled LEDs

Feedback from Arduino

Summary

images Chapter 5: Kinect Remote Control

Parts List for Kinect Remote Control

Hacking a Remote Control

Connecting the Remote to Arduino

Assembling the Prototype Shield

Testing the Circuit

Kinect Hand Tracking and Gesture Recognition

Libraries and Setup

NITE Callbacks

Draw Loop and Other Functions

Connecting the Processing Sketch to Arduino

Summary

images Chapter 6: Kinect Networked Puppet

The Puppet

Servos

Building the Stage

Building the Puppet

Building the Circuit

Testing the Servos

Setting the Servos to the Starting Position

Skeleton Tracking On-Screen

Simple-OpenNI Events

Angle Calculation

Network Communication

Communicating Within a Local Network

Communicating over the Internet

Server Applet: Sending the Angles over a Network

Client Applet: Controlling the Puppet

Final Arduino Code

Summary

images Chapter 7: Mood Lamps

RGB Color Space

Arduino Nano

Building the Circuit

Resistors

Understanding Resistor Color Codes

Testing the Circuit

XBee Wireless Module

Arduino Programming

The Lamp Class

Object-Oriented Programming

Class Declaration

Field Description

Constructor

Methods

User Control Sketch

Variable Declaration

Setup() Function

Draw() Function

User Control

Lamp Control

Lamp Creation

Data Storage and Retrieval

Serial Communication

Display Functions

Simple-OpenNI Callbacks

Summary

images Chapter 8: Kinect-Driven Drawing Robot

Building the Robot

Part 1

Part 2

Part 3

The Base

Building the Circuit

Testing the Circuit

Firmata and the Arduino Library for Processing

Servo Test

Robot Simulation

Angle Measuring Program

Robot Simulation Program

Driving the Physical Robot

Kinect: Tangible Table Interface

Calibrating the Point Cloud

Rotation Equations

Rotating the Point Cloud

Point Cloud Filtering

Finding the Finger Position

Virtual Robot Model

Polishing the Input

The Drawing Robot in Action

Summary

images Chapter 9: Kinect Remote-Controlled Vehicles

Electrical Motors and the H-Bridge

Hacking a Car

Building the Circuit

Testing the Circuit

Setup Function

Draw Function

DrawVector Function

Car Function

SendSerial Function

Arduino Testing Sketch

Setup Function

Loop Function

Turning Functions

Move Functions

Enable/Disable Functions

Proximity Sensors

Setup Function

Loop Function

Move Functions

XBee and Wireless

Kinect RC Interface

Setup Function

Draw Function

Other Functions

Summary

images Chapter 10: Biometric Station

Hacking a Bathroom Scale

Seven-Segment LCD

Hacking the LCD

Acquiring the LCD Signal

Reading the LCD Signal

Sending the Signal to Processing

Decoding the LCD Signal

Using the Weight Data

Implementing the Biometric Recognition

Imports and Variable Declaration

Setup Function

User Interface

Draw Function

Additional Functions

New User

Updating User Data

Updating User Height

Saving the User

User Recognition

Reading and Drawing the Chart

Graphic Output

Serial Event

Simple-OpenNI User Events

Summary

images Chapter 11: 3D Modeling Interface

The Interface

Arduino LilyPad

Flex Sensors

Sewing the Circuit

Testing the Circuit

Arduino Serial Sender

Processing Glove Data Receiver

Going Wireless

LilyPad XBee

SoftwareSerial Library

Wireless Arduino Code

Implementing the Modeling Interface

The GloveInterface Class

Setter Functions

Display Functions

Calibrating the Interface

Geometric Classes

Point Class

Line Class

Shape Class

Modeling Interface Main Program

Imports and Fields

Setup Function

Draw Function

Additional Functions

Processing Callbacks

Simple-OpenNI Callbacks

Summary

images Chapter 12: Turntable Scanner

The Theory

Building a Turntable

Connecting the Gears

Building the Circuit

Arduino Code

Processing Code

Variable Declaration

Setup and Draw Functions

Additional Functions

Exporting the Point Cloud

The exportPly Function

Surface Reconstruction in Meshlab

Summary

images Chapter 13: Kinect-Controlled Delta Robot

About This Project

The Delta Robot

Building a Delta Robot

The Legs

The Base

The Effector

The Gripper

Hanging the Robot

Building the Circuit

Delta Robot Simulation Software

Inverse Kinematics

DeltaRobot Class

deltaLeg Class

Driving the Delta Robot Simulation with the Mouse

Kinect-Controlled Delta Robot

Gripper Control

Sending the Data to Arduino

Arduino Code

Summary

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset