0% found this document useful (0 votes)
45 views53 pages

Arduino Workshop A Hands On Introduction With 65 Projects 1st Edition John Boxall PDF Download

Arduino Workshop is a hands-on introduction to Arduino with 65 projects designed for hobbyists to learn electronics. The book covers the basics of the Arduino platform, various electronic components, and includes projects that range from simple to complex, such as a digital thermometer and a GPS logger. Authored by John Boxall, it aims to empower readers to create their own interactive devices and DIY projects.

Uploaded by

jatongsekang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views53 pages

Arduino Workshop A Hands On Introduction With 65 Projects 1st Edition John Boxall PDF Download

Arduino Workshop is a hands-on introduction to Arduino with 65 projects designed for hobbyists to learn electronics. The book covers the basics of the Arduino platform, various electronic components, and includes projects that range from simple to complex, such as a digital thermometer and a GPS logger. Authored by John Boxall, it aims to empower readers to create their own interactive devices and DIY projects.

Uploaded by

jatongsekang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 53

Arduino Workshop A Hands On Introduction with 65

Projects 1st Edition John Boxall pdf download

https://ebookfinal.com/download/arduino-workshop-a-hands-on-
introduction-with-65-projects-1st-edition-john-boxall/

Explore and download more ebooks or textbooks


at ebookfinal.com
Here are some recommended products for you. Click the link to
download, or explore more at ebookfinal

Make Sensors A Hands On Primer for Monitoring the Real


World With Arduino and Raspberry Pi 1st Edition Ville
Valtokari
https://ebookfinal.com/download/make-sensors-a-hands-on-primer-for-
monitoring-the-real-world-with-arduino-and-raspberry-pi-1st-edition-
ville-valtokari/

Arduino Robotic Projects 1st Edition Grimmett

https://ebookfinal.com/download/arduino-robotic-projects-1st-edition-
grimmett/

A Hands On Introduction to Machine Learning 1st Edition


Shah

https://ebookfinal.com/download/a-hands-on-introduction-to-machine-
learning-1st-edition-shah/

Count like an Egyptian a hands on introduction to ancient


mathematics 1st Edition Reimer

https://ebookfinal.com/download/count-like-an-egyptian-a-hands-on-
introduction-to-ancient-mathematics-1st-edition-reimer/
Arduino Projects to Save the World 1st Edition Emery
Premeaux

https://ebookfinal.com/download/arduino-projects-to-save-the-
world-1st-edition-emery-premeaux/

30 Arduino Projects for the Evil Genius 1st Edition Simon


Monk

https://ebookfinal.com/download/30-arduino-projects-for-the-evil-
genius-1st-edition-simon-monk/

Arduino Robotics 1st Edition John-David Warren

https://ebookfinal.com/download/arduino-robotics-1st-edition-john-
david-warren/

Microservices for Java developers a hands on introduction


to frameworks and containers First Edition. Edition Posta

https://ebookfinal.com/download/microservices-for-java-developers-a-
hands-on-introduction-to-frameworks-and-containers-first-edition-
edition-posta/

Warhammer 40 000 Codex Supplement Iron Hands 8th Edition


Games Workshop

https://ebookfinal.com/download/warhammer-40-000-codex-supplement-
iron-hands-8th-edition-games-workshop/
Arduino Workshop A Hands On Introduction with 65
Projects 1st Edition John Boxall Digital Instant Download
Author(s): John Boxall
ISBN(s): 9781593274481, 1593274483
Edition: 1st
File Details: PDF, 10.14 MB
Year: 2013
Language: english
ARDUINO
LEARN THE BASICS,
BUILD THE PROJECTS,
CREATE YOUR OWN

WORKSHOP

ARDUINO WORKSHOP
The Arduino is a cheap, flexible, open source micro- • A handy tester that lets you check the voltage of any A HANDS-ON INTRODUCTION
controller platform designed to make it easy for hobbyists single-cell battery
W I T H 65 PROJECTS
to use electronics in homemade projects. With an almost • A keypad-controlled lock that requires a secret code
unlimited range of input and output add-ons, sensors, indi- to open
cators, displays, motors, and more, the Arduino offers you
countless ways to create devices that interact with the You’ll also learn to build Arduino toys and games like: JOHN BOXALL
world around you. • An electronic version of the classic six-sided die
In Arduino Workshop, you’ll learn how these add-ons • A binary quiz game that challenges your number
work and how to integrate them into your own projects. conversion skills
You’ll start off with an overview of the Arduino system
but quickly move on to coverage of various electronic • A motorized remote control tank with collision detection
components and concepts. Hands-on projects throughout to keep it from crashing
the book reinforce what you’ve learned and show you Arduino Workshop will teach you the tricks and design
how to apply that knowledge. As your understanding grows, principles of a master craftsman. Whatever your skill level,
the projects increase in complexity and sophistication. you’ll have fun as you learn to harness the power of the
Among the book’s 65 projects are useful devices like: Arduino for your own DIY projects.

• A digital thermometer that charts temperature changes


ABOUT THE AUTHOR
on an LCD
John Boxall (http://www.tronixstuff.com/ ) has been
• A GPS logger that records data from your travels, which
writing Arduino tutorials, projects, and kit and accessory
can be displayed on Google Maps
reviews for years. Arduino Workshop is his first book.

T H E F I N E ST I N G E E K E N T E RTA I N M E N T ™
w w w.nostarch.com
BOXALL

“ I L I E F L AT .” $29.95 ($31.95 CDN)


This book uses RepKover — a durable binding that won’t snap shut.
HARDWARE/ELECTRONICS
SHELVE IN:
Arduino Workshop
A r d ui n o
W or k s h o p
A Hands-On Introduction
with 65 Projects

by John Boxall

San Francisco
Arduino Workshop. Copyright © 2013 by John Boxall.

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic
or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the
prior written permission of the copyright owner and the publisher.

Printed in USA

First printing

17 16 15 14 13   1 2 3 4 5 6 7 8 9

ISBN-10: 1-59327-448-3
ISBN-13: 978-1-59327-448-1

Publisher: William Pollock


Production Editor: Serena Yang
Cover Illustration: Charlie Wylie
Interior Design: Octopod Studios
Developmental Editor: William Pollock
Technical Reviewer: Marc Alexander
Copyeditor: Lisa Theobald
Compositor: Susan Glinert Stevens
Proofreader: Emelie Battaglia

Circuit diagrams made using Fritzing (http://fritzing.org/)

For information on distribution, translations, or bulk sales, please contact No Starch Press, Inc. directly:

No Starch Press, Inc.


38 Ringold Street, San Francisco, CA 94103
phone: 415.863.9900; fax: 415.863.9950; info@nostarch.com; www.nostarch.com

Library of Congress Cataloging-in-Publication Data


A catalog record of this book is available from the Library of Congress.

No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other product and
company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark
symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to
the benefit of the trademark owner, with no intention of infringement of the trademark.

The information in this book is distributed on an “As Is” basis, without warranty. While every precaution has been
taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any liability to any
person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the infor-
mation contained in it.
For the two people who have always believed in me:
my mother and my dearest Kathleen
Brief Contents

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

Chapter 1: Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Chapter 2: Exploring the Arduino Board and the IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Chapter 3: First Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Chapter 4: Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Chapter 5: Working with Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Chapter 6: Numbers, Variables, and Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Chapter 7: Liquid Crystal Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Chapter 8: Expanding Your Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Chapter 9: Numeric Keypads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Chapter 10: Accepting User Input with Touchscreens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Chapter 11: Meet the Arduino Family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

Chapter 12: Motors and Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

Chapter 13: Using GPS with Your Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

Chapter 14: Wireless Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Chapter 15: Infrared Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

Chapter 16: Reading RFID Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295


Chapter 17: Data Buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

Chapter 18: Real-time Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Chapter 19: The Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

Chapter 20: Cellular Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

viii   Brief Contents
Conte nt s in De ta il

Acknowledgments xix

1
Getting Started 1
The Possibilities Are Endless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Strength in Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Parts and Accessories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Required Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Windows XP and Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Ubuntu Linux 9.04 and Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2
Exploring the Arduino Board and the IDE 19
The Arduino Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Taking a Look Around the IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
The Command Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
The Text Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
The Message Window Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Creating Your First Sketch in the IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
The Setup Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Controlling the Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
The Loop Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Verifying Your Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Uploading and Running Your Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Modifying Your Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3
First Steps 33
Planning Your Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
About Electricity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Electronic Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
The Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
The Light-Emitting Diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
The Solderless Breadboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Project #1: Creating a Blinking LED Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Running the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Using Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Project #2: Repeating with for Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Varying LED Brightness with Pulse-Width Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Project #3: Demonstrating PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
More Electric Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
The Transistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
The Rectifier Diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
The Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Higher-Voltage Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4
Building Blocks 55
Using Schematic Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Identifying Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Wires in Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Dissecting a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
The Capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Measuring the Capacity of a Capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Reading Capacitor Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Types of Capacitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Digital Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Project #4: Demonstrating a Digital Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Modifying Your Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Understanding the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Creating Constants with #define . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Reading Digital Input Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Making Decisions with if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Making More Decisions with if-then-else . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Boolean Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Making Two or More Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Project #5: Controlling Traffic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
The Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Running the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Analog vs. Digital Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Project #6: Creating a Single-Cell Battery Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
The Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

x Contents in Detail
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Doing Arithmetic with an Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Float Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Comparison Operators for Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Improving Analog Measurement Precision with a Reference Voltage . . . . . . . . . . . . . . . 84
Using an External Reference Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Using the Internal Reference Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
The Variable Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Piezoelectric Buzzers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Piezo Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Project #7: Trying Out a Piezo Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Project #8: Creating a Quick-Read Thermometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
The Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Hacking the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

5
Working with Functions 95
Project #9: Creating a Function to Repeat an Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Project #10: Creating a Function to Set the Number of Blinks . . . . . . . . . . . . . . . . . . . . . . 97
Creating a Function to Return a Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Project #11: Creating a Quick-Read Thermometer That Blinks the Temperature . . . . . . . . . 98
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Displaying Data from the Arduino in the Serial Monitor . . . . . . . . . . . . . . . . . . . . . . . 101
The Serial Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Project #12: Displaying the Temperature in the Serial Monitor . . . . . . . . . . . . . . . . . . . . 103
Debugging with the Serial Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Making Decisions with while Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
do-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Sending Data from the Serial Monitor to the Arduino . . . . . . . . . . . . . . . . . . . . . . . . . 106
Project #13: Multiplying a Number by Two . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
long Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Project #14: Using long Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

6
Numbers, Variables, and Arithmetic 111
Generating Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Using Ambient Current to Generate a Random Number . . . . . . . . . . . . . . . . 112
Project #15: Creating an Electronic Die . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Modifying the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Contents in Detail xi
A Quick Course in Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Byte Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Increasing Digital Outputs with Shift Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Project #16: Creating an LED Binary Number Display . . . . . . . . . . . . . . . . . . . . . . . . . . 119
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Connecting the 74HC595 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Project #17: Making a Binary Quiz Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Defining an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Referring to Values in an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Writing to and Reading from Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Seven-Segment LED Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Controlling the LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Project #18: Creating a Single-Digit Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Displaying Double Digits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Project #19: Controlling Two Seven-Segment LED Display Modules . . . . . . . . . . . . . . . . 131
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Project #20: Creating a Digital Thermometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
LED Matrix Display Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
The LED Matrix Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Making the Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Bitwise Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
The Bitwise AND Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
The Bitwise OR Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
The Bitwise XOR Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
The Bitwise NOT Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Bitshift Left and Right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Project #21: Creating an LED Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Project #22: Creating Images on an LED Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Project #23: Displaying an Image on an LED Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Project #24: Animating an LED Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

7
Liquid Crystal Displays 147
Character LCD Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Using a Character LCD in a Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Displaying Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Displaying Variables or Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

xii Contents in Detail


Project #25: Defining Custom Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Graphic LCD Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Connecting the Graphic LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Using the LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Controlling the Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Project #26: Seeing the Text Functions in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Creating More Complex Display Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Project #27: Creating a Temperature History Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . 157
The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
The Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Modifying the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

8
Expanding Your Arduino 161
Shields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
ProtoShields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Project #28: Creating a Custom Shield with Eight LEDs . . . . . . . . . . . . . . . . . . . . . . . . . 165
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
The Layout of the ProtoShield Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
The Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Soldering the Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Modifying the Custom Shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Expanding Sketches with Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Importing a Shield’s Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
MicroSD Memory Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Testing Your MicroSD Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Project #29: Writing Data to the Memory Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Project #30: Creating a Temperature-Logging Device . . . . . . . . . . . . . . . . . . . . . . . . . . 177
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Timing Applications with millis() and micros() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Project #31: Creating a Stopwatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Interrupt Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Configuring Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Activating or Deactivating Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Project #32: Using Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

Contents in Detail xiii


9
Numeric Keypads 187
Using a Numeric Keypad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Wiring a Keypad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Programming for the Keypad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Testing the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Making Decisions with switch-case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Project #33: Creating a Keypad-Controlled Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Testing the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

10
Accepting User Input with Touchscreens 195
Touchscreens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Connecting the Touchscreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Project #34: Addressing Areas on the Touchscreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Testing the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Mapping the Touchscreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Project #35: Creating a Two-Zone On/Off Touch Switch . . . . . . . . . . . . . . . . . . . . . . . . 200
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Testing the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Project #36: Creating a Three-Zone Touch Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
The Touchscreen Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

11
Meet the Arduino Family 207
Project #37: Creating Your Own Breadboard Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . 208
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Running a Test Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
The Many Arduino Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Freetronics Eleven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
The Freeduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
The Boarduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
The Arduino Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
The Arduino LilyPad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
The Arduino Mega 2560 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
The Freetronics EtherMega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
The Arduino Due . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

xiv Contents in Detail


12
Motors and Movement 225
Making Small Motions with Servos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Selecting a Servo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Connecting a Servo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Putting a Servo to Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Project #38: Building an Analog Thermometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Using Electric Motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
The TIP120 Darlington Transistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Project #39: Controlling the Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Project #40: Building and Controlling a Tank Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Sensing Collisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Project #41: Detecting Tank Bot Collisions with a Microswitch . . . . . . . . . . . . . . . . . . . . 243
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Infrared Distance Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Wiring It Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Testing the IR Distance Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Project #42: Detecting Tank Bot Collisions with IR Distance Sensor . . . . . . . . . . . . . . . . . 249
Ultrasonic Distance Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Connecting the Ultrasonic Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Using the Ultrasonic Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Testing the Ultrasonic Distance Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Project #43: Detecting Tank Bot Collisions with an Ultrasonic Distance Sensor . . . . . . . . 254
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

13
Using GPS with Your Arduino 257
What Is GPS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Testing the GPS Shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Project #44: Creating a Simple GPS Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Displaying the Position on the LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Project #45: Creating an Accurate GPS-based Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

Contents in Detail xv
Project #46: Recording the Position of a Moving Object over Time . . . . . . . . . . . . . . . . . 265
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Displaying Locations on a Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

14
Wireless Data 271
Using Low-cost Wireless Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Project #47: Creating a Wireless Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
The Hardware for the Transmitter Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
The Transmitter Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
The Hardware for the Receiver Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
The Receiver Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
The Transmitter Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
The Receiver Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Using XBee Wireless Data Modules for Greater Range and Faster Speed . . . . . . . . . . 277
Project #48: Transmitting Data with an XBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Setting Up the Computer to Receive Data . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Project #49: Building a Remote Control Thermometer . . . . . . . . . . . . . . . . . . . . . . . . . . 281
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
The Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

15
Infrared Remote Control 285
What Is Infrared? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Setting Up for Infrared . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
The IR Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
The Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
A Test Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Testing the Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Project #50: Creating an IR Remote Control Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Expanding the Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Project #51: Creating an IR Remote Control Tank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

16
Reading RFID Tags 295
Inside RFID Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Testing the Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Testing the Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

xvi Contents in Detail


Project #52: Creating a Simple RFID Control System . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Storing Data in the Arduino’s Built-in EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Reading and Writing to the EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Project #53: Creating an RFID Control with “Last Action” Memory . . . . . . . . . . . . . . . . . 303
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

17
Data Buses 307
2
The I C Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Project #54: Using an External EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
The Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Project #55: Using a Port Expander IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
The SPI Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Pin Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Implementing the SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Sending Data to an SPI Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Project #56: Using a Digital Rheostat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

18
Real-time Clocks 321
Connecting the RTC Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Project #57: Adding and Displaying Time and Date with an RTC . . . . . . . . . . . . . . . . . . . 322
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Project #58: Creating a Simple Digital Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
How It Works and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Project #59: Creating an RFID Time-Clock System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

Contents in Detail xvii


19
The Internet 337
What You’ll Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Project #60: Building a Remote-Monitoring Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Project #61: Creating an Arduino Tweeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Controlling Your Arduino from the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Project #62: Setting Up a Remote Control for Your Arduino . . . . . . . . . . . . . . . . . . . . . . 345
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Controlling Your Arduino Remotely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

20
Cellular Communications 349
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Preparing the Power Shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Hardware Configuration and Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Changing the Operating Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Project #63: Building an Arduino Dialer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Project #64: Building an Arduino Texter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Project #65: Setting Up an SMS Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
The Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
The Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Looking Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364

Index 365

xviii Contents in Detail


Acknowledgments

First of all, a huge thank you to the Arduino team:


Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, and David Mellis. Without your
vision, thought, and hard work, none of this would
have been possible.
Many thanks to my technical reviewer Marc Alexander for his contribu-
tions, expertise, suggestions, support, thoughts, and long conversations,
and for having the tenacity to follow through with such a large project.
I also want to thank the following organizations for their images and
encouragement: adafruit industries, Agilent Technologies, Gravitech,
Freetronics, Oomlout, Seeed Studio, Sharp Corporation, and SparkFun.
Furthermore, a big thanks to Freetronics for the use of their excellent
hardware products. And thank you to all those who have contributed their
time making Arduino libraries, which makes life much easier for everyone.
Kudos and thanks to the Fritzing team for their wonderful open source
circuit schematic design tool, which I’ve used throughout this book.
Discovering Diverse Content Through
Random Scribd Documents
39 A worral hole is a drain-pipe let in the wall immediately at
the back of the fire; this is to afford sufficient draught to burn the
sea coal which is daily gathered from the beach.
40 A sucking-pig.
41 A cant phrase of the time is used in the original.
42 The devil.
43 Hand in hand, both touch the floor together. This has
already been referred to.
44 Observe the lack of the possessive case.
45 The ground covered would be about twenty miles—not bad.
46 A woman was adjudged the same punishment at Bedale (for
a different offence) in the year 1779, also at Thirsk and
Northallerton.
47 For other interesting matter concerning Nan Hardwicke, vide
Henderson’s Folklore.
48 Observe rice is now being ousted by confetti, which is much
better—rice is so dangerous.
49 This statement has nothing to do with his private life, only
as that of a wise man. ‘De mortuis nil nisi bonum.’
50 This would be the father of the Mr. Scorer I knew, who for
many years lived at Basedale Abbey.
51 I know that Mr. G. Markham Tweddle holds quite contrary
views. His idea is that Wrightson was little better than a huge
swindler.
52 For other authentic stories of Wrightson, vide Henderson’s
Folklore.
53 A small four-legged stool.
54 A hedgehog.
55 I met a man in the train the other day who said he had
often seen them sucking.
56 Henry Wilson, of Broughton, was a wise man of some
repute after Wrightson’s time.
57 Something like Sadler and Clarke’s method.
58 The usual time was midnight; this case, so far as I know, is
unique.
59 Accuse openly.
60 To prepare a ‘hand of glory,’ the hand of a man who had
been hanged had to be left for some days in a special kind of
pickle; afterwards it was dried in the sun, and then parched in the
smoke of certain herbs. A special kind of candle had to be made
from certain fats; with this candle lighted and stuck in the dead
man’s hand, a hypnotic sleep could be cast upon a whole
household. Henderson’s Folklore.
61 There was a marvellous hobman once lived near Ripon, but
his deeds some one writing of the West Riding must chronicle.
62 With slight variation the same story is known in other parts
of the riding, also in Lancashire, and is as old as the hills
throughout Scandinavia.
63 A similar story is told of Sir Francis Drake.
64 See Glossary.
65 ‘Ower,’ prep. over.
66 ‘Ower,’ adv. too; ‘ower’ nearly always takes the place of ‘too.’
‘Ower mich,’ ‘ower monny apples,’ ‘ower big a load,’ ‘ower larl,’
‘ower au’d,’ &c.
67 This peculiarity, even amongst many educated Yorkshire
people, of repeating the verb is further illustrated in the
concluding remarks at the end of the Glossary.
68 Thirsty.
69 Really the same simile, common where otters fish.
70 Snails.
71 The name by which the Grammar School boys were known.
72 I have heard children innocently repeating, as they counted
each other out:—
Prest an, pop an,
Cock on t’ spire,
Holy Alice,
Dah mell fire.

Did their parents or teachers but know what the youngsters


were really saying, they would be no little shocked.
73 Staggerum buck, or Staggerer Staggera bobtail, is the name
of a boys’ game, very commonly played. ‘Philson,’ ‘Valson,’ and
‘Dickson’ are examples of the elision of the possessive case, i.e.
Phil’s son, Val’s son, and Dick’s son.
74 ‘Knave-a’ became general during the War of Independence
—we were a bit out of favour then.
75 Vide Grimm’s Household Tales.
76 As the children tell the story, they pronounce crooked,
‘crook-ed.’
77 The story in its original form was a prophetic hymn sung by
the Jews at the Passover, the animals and elements representing
their enemies and deliverers.
78 Henderson’s Folklore.
79 Knotted hair.
80 Both pronunciations are equally common.
81 Walk.
82 Brow.
83 Purse.
84 ‘Trigg’d his wame,’ filled his stomach.
85 ‘Lair,’ a barn.
86 ‘Streahy,’ strawy.
87 ‘Seeat,’ soot.
88 ‘Clais,’ clothes.
89 E is used in the original.
90 Horse.
91 Should be ‘wae’s t’ me,’ lit. ‘woe is to me.’
92 Riding apparel.
93 Well dressed.
94 Designed.
95 Mind.
96 Determined.
97 False.
98 Scythe.
99 ‘Window’ is commonly pronounced winder, winner, and
windther.
100 At is often used instead of who, which, and that.
101 The th and dh sound, found in so many East Riding words,
is not nearly so marked in the speech of the North Riding.
102 ‘Ya ’evn’t’ and ‘tha ’evn’t’ are not so emphatic as ‘ya’ve nut’
or ‘tha’ve nut,’ &c.
103 Throughout, save in this example, ‘He’ has been so
printed, but without exception its utterance approaches nearer to
that of ‘a’ or ‘eh,’ e.g. ‘‘Ez he ta’en ’t fra tha?’ would certainly
appear as if the speaker had said ’‘Ez a (or eh) ta’en ’t fra tha?’
But to save the reader much needless confusion, he has been
retained, though it is rarely heard save at the commencement of
a sentence.
104 ‘Divn’t’ is quite a common form of ‘do not.’
105 ‘Uz,’ ‘us,’ is often used for ‘me.’
106 Written gi’en.
107 ‘On,’ prep. ‘of.’
108 Rod = red.
109 The old pronunciations of ‘trashing’ for ‘thrashing,’
‘trepence’ for ‘threepence,’ ‘trive’ for ‘thrive,’ &c., are frequently
heard in Cleveland.
110 Along the borders touching the West Riding ‘Blathery’ is in
common use. ‘Bladdry’ it should be.
111 ‘Come’ is always pronounced ‘cum.’
112 The same pronunciation is often used in the sense of ‘to
lose.’ Ex.—‘Thoo’ll lowse thisel,’ or ‘Thoo’ll loss thisel;’ ‘It’s been a
lowsin’ gaame fra t’ fo’st ti t’ last,’ i.e. ‘It has been a losing game,’
&c.
113 In several instances this rule has been broken, but only to
give a correct rendering of the pronunciation as spoken in a
particular district to-day.
114 The term ‘dialect’ is used throughout this work for want of
a better word, and to avoid tautology. Our folk-speech is not a
dialect, it is a language.
115 The map issued with the North-Eastern 1d. Time-table
answers well for the purpose.
116 Our dialect word Fick, which is the Fik given, has three
distinct meanings: (1) to struggle under some form of restraint;
(2) to strive to obtain; (3) to succeed, to get.
Ex.—1. ‘T’ pig ficked that hard whahl Ah c’u’dn’t git it inti t’
cart,’ 2. ‘He made a poor fick on ’t,’ i.e. he made a feeble attempt.
‘He weean’t mak a fick for ’t,’ he won’t strive to do, obtain, or get.
3. ‘He ficked it at t’ finish,’ he got it in the end.
117 ‘Roke’ is the common dialectic word for mist or fog. ‘Reek’
is the North Riding word for smoke. ‘Rog’ is the Danish.
118 ‘The’ is always used before the name of the Deity, and
often in conversation of a grave and sorrowful nature.
LIST OF SUBSCRIBERS
A.
Allison, Dr. T., 9 Picton Place, Newcastle.
Allison, F., Church Green, Guisborough.
Anderson, Tempest, M.D., J.P., St. Agnes-gate, York.
Anderson, Major F. H., Fulford, York.
Anderson, W., Rimswell, Thornaby-on-Tees.
Argles, C. G., St. Clement’s Vicarage, York.
Ashton, The Right Hon. Lord, Rylands, Lancaster.

B.
Backhouse, C. H., J.P., Darlington.
Barker, E., Cleveland House, West Hartlepool.
Barker, G., Tancred Grange, Scorton.
Barling, Dr. A. S., Dalton Square, Lancaster.
Barraclough, W., Swainby.
Baynes, Alderman Jno., J.P., Ripon.
Beatty, Dr. H. J., Van Mildert House, Stockton-on-Tees.
Beck, Mrs., Carthorpe House, Bedale.
Beckett, E. W., M.P., 17 Stratton St., Piccadilly, W.
Bell, Hugh, J.P., Red Barnes, Redcar.
Bell Bros., Ltd., Middlesbrough.
Beresford Pierse, Mrs., The Hall, Bedale.
Best, Mrs., 31 Lyddon Terrace, Leeds.
Bethell, Miss L., Newton Kyme, Tadcaster (2 copies).
Beverley, The Right Rev. Lord Bishop of, Bolton Percy.
Birch, Mrs., Middleham, R.S.O.
Bird, Col. C. H., Crookhey Hall, Garstang, Lancashire.
Blackett, Capt. C. M., Newsham Hall, Darlington.
Blair, Gen., V.C., C.B., Thorpe Hall, Wycliffe, Darlington.
Blandford, Dr. J. M., Norton, Stockton-on-Tees.
Bohr, Von, Mill Hill, Brandsby.
Bowes-Wilson, T., Enterpen Hutton, Rudby (2 copies).
Bowstead-Warwick, P., Settlebeck, Sedbergh.
Bramley, W., Church St., Guisborough.
Briggs, Rev. A. C., Moor Allerton.
Brooksbank, E. C., Helaugh Old Hall, Tadcaster.
Brown, F., J.P., Norton, Stockton-on-Tees (2 copies).
Brown, W. T., Yew Court, Scarborough.
Buchannan, G., Whitby, Yorkshire.
Burra, R., The Hall, Gate, Sedbergh.
Burrell, Miss, Fairthorn, Botley, Hants.
Burton, Rev. B. C., The Rectory, Cherry Burton, Beverley.
Burton, D. F., The Hall, Cherry Burton, Beverley (2 copies).
Butcher, J. S., M.P., 22 Collingham Place, S.W.

C.
Cadle, C. E., 5 North Bailey, Durham.
Carlisle, The Right Hon. Lady, Naworth Castle.
Carpenter, Admiral the Hon. W. C., Kipling Hall, Northallerton.
Carter, Rev. E. S., St. Michael’s-le-Belfry, York.
Carter, T., J.P., Richmond, Yorkshire.
Cayley, Digby, J.P., Brompton, R.S.O. (4 copies).
Chaloner, Mrs., Long Hull, Guisborough.
Chapman, Mrs., The Cliff, Leyburn.
Charlton, W., North Eastern Bank, Durham.
Clarke, A. F., The Ven. Archdeacon of Lancaster (2 copies).
Clegg, J., 1 Spring Bank, Preston.
Cobb, C., Clifton, York.
Collier, Rev. Carus, Great Ayton.
Collinson, S., Royal Hotel, Scorton.
Collison, W., 79 Fenchurch St., London.
Comerline, Rev. A. S., York.
Coning, T., 28 Bankment, York.
Coper, Rev. J. M. A., Robin Hood’s Bay.
Corney, Miss, Newton Hall, Great Ayton.
Craddock, C., J.P., Grove House, Wakefield.
Crusher, T., Forest Farm, Scorton.

D.
Dale, Sir David, Bart., West Lodge, Darlington.
Daltry, The Rev. Vernon G., The Rectory, Yarm.
Dawnay, Col., The Hon., Benningbrough Hall.
Dent, Miss I., Ribston Hall, Wetherby.
Derby, Right Hon. Earl, K.G., Knowsley, Prescot.
Dixon, David, Brotton Hall.
Dixon, D. D., Coquetdale House, Rothbury.
Dixon, Sir Raylton, Kt., Gunnegate Hall, Cleveland.
Durham, The Right Rev. the Lord Bishop of.
E.
Eaves, Mrs., The Vicarage, Lyminge.
Eccles, E. E., Fenton House, Lancaster.
Edmundson, C. F. P., Nutwith House, Masham.
Ellerton, Dr. J., Grove Hill, Middlesborough.
Elliott, C., The Lodge, Scorton.
Emmerson, J. J., Easby Hall, Great Ayton (4 copies).

F.
Fallow, T. M., Coatham House, Redcar.
Fawcet, Miss, North Bailey, Durham.
Fife, Capt., Langton Hall, Northallerton.
Flintoff, C., The Grange, Scorton.
Forbes, C. M., 14 New St., York (2 copies).
Foster, Martin, Claremont, Norton.
Fowler, Rev. J. C., Whorlton, Northallerton.
Fry, J., Cleveland Lodge, Great Ayton.

G.
Gaddesden, Mrs., Hunmanby Hall, East Yorkshire (2 copies).
Gallimore, J. S., Escrick, York.
Gaussen, Rev., The Vicarage, Malton.
Gilpin Brown, Mrs., Sedbury Park, Richmond, Yorkshire
(6 copies).
Gisborne Fawcett, T., Yarm (2 copies).
Gravely, A. C., Hutton Grange, Guisborough.
Gray, The Right Hon. Lady Mayoress, York (2 copies).
Greenbank, Thos., Bank of Liverpool, Sedbergh.
Greenwood, Capt., Swartcliff Hall, Leeds.
Gregson, B. P., The Hall, Caton, Lancaster (2 copies).

H.
Hales, Rev., Aysgarth School, Jervaulx (2 copies).
Hamilton Russell, The Hon. Constance, Brancepeth Castle.
Harrison, W., North Road, Ripon.
Hartley, Mrs., The Rectory, Burneston.
Hawke, The Right Hon. Lady, Wighill Park, Tadcaster.
Hawkins, C., Sowerby, Thirsk.
Head, Mrs. J., Hartburn Hall (2 copies).
Heavisides, J., Stockton-on-Tees.
Hedlam, Rev. A. W., Gainford (2 copies).
Heppenstall, Rev. F. W., East Layton (2 copies).
Heslop, R. O., 12 Arkenside Hill, Newcastle.
Hill, Miss, Romanby.
Hill, J., Newport, Middlesborough.
Hincks, Capt. J. C., Terrace House, Richmond (2 copies).
Horsfall, E. F. Wilson, Potto Grange (2 copies).
Howard, Rev. R. G., Hovingham.
Huddart, Rev. G., Kirklington.
Hulton, ——, Bolton-le-Moors, Lancaster.
Hutton Darcy, Miss E., Aldborough Hall, Masham.
Hull, The Right Rev. Lord Bishop of.
Hunter, Rev. C., Seaton Carew.
Hunter, Rev. F. W., Wath.

I.
Ingleby, Sir H., Bart., Ripley Castle.
Irwin, Rev. J., Hurworth.
Irvin, Major, Ragworth, Norton.

J.
James, Rev. F. G., The Rectory, Marske.
Jefferson, J., Dunnington Priory, York.
Johnson, Dr., Dallas Road, Lancaster.
Johnstone, The Hon. Miss, Hackness Hall (8 copies).
Johnstone, The Rev., Hackness Hall.
Jones, Ed., Manor House, Scorton.

K.
Kearsley, Col. G., Prospect House, Ripon.
Kennedy, Mrs., Wetherby.
King, F. E., Edgley, Leyburn.
Kirk, W., Norton.
Kitchin, A. E., The Firs, Great Ayton.
Kitchin, H., The Grange, Great Ayton (2 copies).
Knight, Rev. J. G. P., Eastgate, Darlington.

L.
Langley, W. C., J.P., Stockton-on-Tees.
Lascelles, The Hon. G. E., Sion Hill, Thirsk (2 copies).
Leadman, Dr. Alex. D. H., Pocklington.
Lee, J. B., The Worshipful the Mayor, Ripon.
Legard, J. H., Welham, Malton.
Lesley, Mrs. A., The Hall, Little Habton.
Levett, Rev. T. P., Richmond, Yorkshire.
Lockwood, P. H., Sedbergh.
Lodge, Col., The Rookeries, Bishopdale.
Londesborough, The Right Hon. Lord, Londesborough Park.
Longbotham, Dr. G. F., Birtley.
Lovejoy, Rev. H. T., Hamsterley, Bishop Auckland.

M.
MacCartie, Rev. J., Wilton.
Mason, O. Matthews, The Hall, Crayke.
Matthews, F. W., The Bank, Leyburn.
Maule-Cole, Rev. E., Wetwang.
Maynard, A. C. Hutton, Pickhill House, Pickhill (2 copies).
McCririck, Rev. T. W., Stockton-on-Tees.
McKay, W., Haldthorpe House, Scarborough.
Melrose, J., Clifton Croft, York.
Metcalfe, R. M. D., Leyburn.
Mickle, Dr. G., Kirklington (2 copies).
Middleton, Lady, The Right Hon. Julia, Setterington House (4 copies).
Milner, Mrs., The Mount, York (2 copies).
Mitchell, Rev. A. P., The Rectory, Brotton (2 copies).
Mittan, Rev. H., Sherburn House, Durham.
Moorsom, M. Maude, Harewood, Leeds.
Morgan, Rev. F. H., The Rectory, Guisborough.
Morris, Rev. M. C. F., The Rectory, Nunburnholme.

N.
Nelson, Alderman Thos., J.P., Newstadt, Norton.

O.
Ord, Chas., Guisborough.
Ornsby, J. A., 5 North Bailey, Durham.
Orton, Mrs. E. S., Westgate, Guisborough.
Oxford, The Right Rev. the Lord Bishop of.

P.
Page, J. W., J.P., Norton, Stockton-on-Tees (2 copies).
Pearson, H., Whitby.
Pease, A. E., M.P., Pinchingthorpe Hall (2 copies).
Pease, Mrs. G., Woodside, Darlington.
Pease, Howard, Arcott Hall, Dudley, Northumberland.
Pease, Sir Joseph W., Bart., M.P., Hutton Hall (2 copies).
Pease, Pike, Undercliff, Great Ayton.
Peckstone, J., Stockton-on-Tees.
Peel, The Right Hon. Lady, Potterton Hall, Barnoldswick.
Pegler, T. B., Sholebrook Avenue, Leeds.
Peirson, Rev. W. B., Rothwell, Leeds.
Platnauer, H. M., St. Olive’s Road, York (2 copies).
Plews, W. J., Southend End, Northallerton.
Pollexfen, Rev. H., Stanwick, Darlington.
Porter, Chas., Mill Vale, Great Ayton.
Prince, E., Woodhouse Moor, Leeds (2 copies).
Proud, J., The Hall, East Layton.
Purvis, R., 6 Westoe Crescent, South Shields.

R.
Raw, Rev. G., 250 Hawthorne Road, Bootle.
Reynard, Capt., Camp Hill, Bedale.
Richardson, W., Guisborough.
Richmond, The Right Rev. Lord Bishop of (4 copies).
Riddell, E. C., J.P., The Hall, Leyburn.
Riddell, Sir J., Bart., The Hall, Hepple, Rothbury.
Ripley, Rev. Thos., Kirklington.
Ripon, The Most Noble the Marchioness of.
Ripon, The Right Rev. Lord Bishop of.
Ripon, The Very Rev. the Dean of (2 copies).
Robinson, F. J. H., Easingwold.
Robinson, Rev. Stewart, The Rectory, Richmond, Yorkshire.
Robinson, Rev. W., The Rectory, Tadcaster.
Ropner, G., J.P., The Grove, Richmond, Yorkshire.
Ropner, Col. R., J.P., Preston Hall, Egglescliffe.
Rowcliffe, H. S., Guisborough.
Rowsell, Rev. Canon, Topcliffe.
Rudd, A. G., The Worshipful the Mayor, Stockton-on-Tees.

S.
Salman, Rev. J. S., The Vicarage, Lastingham.
Scott, Rev. Errington, The Vicarage, Norton.
Sedgwick, Miss, The Hall, Sedbergh.
Shand, Dr., Fountain Street, Guisborough.
Sharp, F. J., Skelton, near Boroughbridge.
Sheffield, The Right Hon. Lady, Yeadon Manor, Henley-on-Thames (2
copies).
Sissons, D. W., North Ferriby, Brough.
Sissons, W., Nunthorpe, Jesmond Park.
Slingsby, W., Red House, Moor Monkton, York.
Smith Alderson, G. A., J.P., D.L., Scarborough.
Smith, E. J., The Bank, Bridlington (4 copies).
Smith, T. Rudolph, 25 Bridge Road, Stockton-on-Tees.
Somerson, J., Pocklington.
Sprent, Dr. W. S., Slingsby.
Stanbridge, T., The Hall, Harlsey.
Stannyforth, Capt. E., J.P., The Hall, Kirkhammerton.
Starkie, Miss S., Scarthwaite, Lancashire.
Staveley, Miss, Old Slenningford Hall, Ripon.
Stirling-Newall, Mrs., The Hall, Birtley, Durham.
Stobart, ——, The Hall, Spellow Hill (2 copies).
Stobart, Col. W., Pepper Arden.
Storey, Sir Thos., D.L., Lancaster (2 copies).
St. Quintin, W. H., J.P., Scampston Hall (2 copies).
Strickland, Sir C., Bart., Boynton Hall (2 copies).
Strickland Constable, Mrs., The Hall, Wassand (2 copies).
Sudlow, Thos., Stockton-on-Tees.

T.
Tattersal, O., Green Royd, Ripon (2 copies).
Taylor, J., Brotton Grange, Brotton.
Temple, Miss M., Saltergill, Yarm.
Tettley, A., The Right Hon. Lady Mayoress, Leeds (2 copies).
Thomson, J. S., New Buildings, Thirsk (2 copies).
Tindal, Miss, Kirby Misperton Hall, Pickering.
Tomlinson, Miss, Heysham House, Lancaster.
Tomlinson, Rev. W., Vicarage, North Cave.
Trevor, W. C., Overbeck, Guisborough.

V.
Vie, E. J., Paradise Row, Stockton-on-Tees (2 copies).

W.
Wade, E. W., 5 Clyde Terrace, Hull.
Wade-Dalton, Col. Hamlet Coote, C.B., Hawxwell Hall.
Wakefield, The Right Rev. Lord Bishop of.
Waldy, Rev. A. G., Horsley Vicarage, Derby.
Walker, Capt. Gerald, Hill House, Richmond, Yorkshire.
Walker, Sir J., Bart., 41 Belgrave Square, S.W.
Ward, Rev. H., The Rectory, Amotherby.
Watson, Fred. Byers, Stockton-on-Tees.
Watson, Thomas, M.D., Argyle House, Stockton-on-Tees (2 copies).
West, Mrs., Stoneybrough, Thirsk.
White, Col. W. A., J.P., Clifton Green, York.
Willan, Rev. A., The Vicarage, Copmanthorpe.
Williamson, T., J.P., Fairfield, Ripon.
Wilson, Miss A., Hutton House, Hutton Rudby.
Wilson, Mrs. A., Rockhurst, York (2 copies).
Wilson, I., Nunthorpe Hall.
Wilson, Rev. J. Alder, Craythorne Rectory, Yarm.
Wilson, J. G., 12 South Bailey, Durham (2 copies).
Wilson, P., Bedale.
Wilton, R., The Rev. Canon, Londesborough.
Wimbush, Rev. S., The Rectory, Terrington.
Withington, Rev. R., Rectory, Great Ayton.
Wood, F. Maurice Dale, Swainby, Northallerton.
Wood, Rev. F., The Rectory, Nunthorpe.
Wright, Professor J., M.A., Langdale House, Oxford (2 copies).
Wyndham, Mrs., 31 Cambridge Street, Hyde Park, S.W.
Wynne Finch, Mrs., Manor House, Stokesley.

Y.
Yeoman, Miss C., Prior House, Richmond, Yorkshire.
York, His Grace the Archbishop of.

Z.
Zetland, The Right Hon. Lord, Aske Hall, Richmond, Yorkshire.
*** END OF THE PROJECT GUTENBERG EBOOK WIT, CHARACTER,
FOLKLORE & CUSTOMS OF THE NORTH RIDING OF YORKSHIRE ***

Updated editions will replace the previous one—the old editions


will be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States
copyright in these works, so the Foundation (and you!) can copy
and distribute it in the United States without permission and
without paying copyright royalties. Special rules, set forth in the
General Terms of Use part of this license, apply to copying and
distributing Project Gutenberg™ electronic works to protect the
PROJECT GUTENBERG™ concept and trademark. Project
Gutenberg is a registered trademark, and may not be used if
you charge for an eBook, except by following the terms of the
trademark license, including paying royalties for use of the
Project Gutenberg trademark. If you do not charge anything for
copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such
as creation of derivative works, reports, performances and
research. Project Gutenberg eBooks may be modified and
printed and given away—you may do practically ANYTHING in
the United States with eBooks not protected by U.S. copyright
law. Redistribution is subject to the trademark license, especially
commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the


free distribution of electronic works, by using or distributing this
work (or any other work associated in any way with the phrase
“Project Gutenberg”), you agree to comply with all the terms of
the Full Project Gutenberg™ License available with this file or
online at www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand,
agree to and accept all the terms of this license and intellectual
property (trademark/copyright) agreement. If you do not agree
to abide by all the terms of this agreement, you must cease
using and return or destroy all copies of Project Gutenberg™
electronic works in your possession. If you paid a fee for
obtaining a copy of or access to a Project Gutenberg™
electronic work and you do not agree to be bound by the terms
of this agreement, you may obtain a refund from the person or
entity to whom you paid the fee as set forth in paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only


be used on or associated in any way with an electronic work by
people who agree to be bound by the terms of this agreement.
There are a few things that you can do with most Project
Gutenberg™ electronic works even without complying with the
full terms of this agreement. See paragraph 1.C below. There
are a lot of things you can do with Project Gutenberg™
electronic works if you follow the terms of this agreement and
help preserve free future access to Project Gutenberg™
electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright
law in the United States and you are located in the United
States, we do not claim a right to prevent you from copying,
distributing, performing, displaying or creating derivative works
based on the work as long as all references to Project
Gutenberg are removed. Of course, we hope that you will
support the Project Gutenberg™ mission of promoting free
access to electronic works by freely sharing Project Gutenberg™
works in compliance with the terms of this agreement for
keeping the Project Gutenberg™ name associated with the
work. You can easily comply with the terms of this agreement
by keeping this work in the same format with its attached full
Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.

1.E. Unless you have removed all references to Project


Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project
Gutenberg™ work (any work on which the phrase “Project
Gutenberg” appears, or with which the phrase “Project
Gutenberg” is associated) is accessed, displayed, performed,
viewed, copied or distributed:

This eBook is for the use of anyone anywhere in the United


States and most other parts of the world at no cost and
with almost no restrictions whatsoever. You may copy it,
give it away or re-use it under the terms of the Project
Gutenberg License included with this eBook or online at
www.gutenberg.org. If you are not located in the United
States, you will have to check the laws of the country
where you are located before using this eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is


derived from texts not protected by U.S. copyright law (does not
contain a notice indicating that it is posted with permission of
the copyright holder), the work can be copied and distributed to
anyone in the United States without paying any fees or charges.
If you are redistributing or providing access to a work with the
phrase “Project Gutenberg” associated with or appearing on the
work, you must comply either with the requirements of
paragraphs 1.E.1 through 1.E.7 or obtain permission for the use
of the work and the Project Gutenberg™ trademark as set forth
in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is


posted with the permission of the copyright holder, your use and
distribution must comply with both paragraphs 1.E.1 through
1.E.7 and any additional terms imposed by the copyright holder.
Additional terms will be linked to the Project Gutenberg™
License for all works posted with the permission of the copyright
holder found at the beginning of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files
containing a part of this work or any other work associated with
Project Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute


this electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the
Project Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must,
at no additional cost, fee or expense to the user, provide a copy,
a means of exporting a copy, or a means of obtaining a copy
upon request, of the work in its original “Plain Vanilla ASCII” or
other form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™
works unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or


providing access to or distributing Project Gutenberg™
electronic works provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using
the method you already use to calculate your applicable
taxes. The fee is owed to the owner of the Project
Gutenberg™ trademark, but he has agreed to donate
royalties under this paragraph to the Project Gutenberg
Literary Archive Foundation. Royalty payments must be paid
within 60 days following each date on which you prepare (or
are legally required to prepare) your periodic tax returns.
Royalty payments should be clearly marked as such and sent
to the Project Gutenberg Literary Archive Foundation at the
address specified in Section 4, “Information about donations
to the Project Gutenberg Literary Archive Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return
or destroy all copies of the works possessed in a physical
medium and discontinue all use of and all access to other
copies of Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full


refund of any money paid for a work or a replacement copy,
if a defect in the electronic work is discovered and reported
to you within 90 days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project


Gutenberg™ electronic work or group of works on different
terms than are set forth in this agreement, you must obtain
permission in writing from the Project Gutenberg Literary
Archive Foundation, the manager of the Project Gutenberg™
trademark. Contact the Foundation as set forth in Section 3
below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on,
transcribe and proofread works not protected by U.S. copyright
law in creating the Project Gutenberg™ collection. Despite these
efforts, Project Gutenberg™ electronic works, and the medium
on which they may be stored, may contain “Defects,” such as,
but not limited to, incomplete, inaccurate or corrupt data,
transcription errors, a copyright or other intellectual property
infringement, a defective or damaged disk or other medium, a
computer virus, or computer codes that damage or cannot be
read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except


for the “Right of Replacement or Refund” described in
paragraph 1.F.3, the Project Gutenberg Literary Archive
Foundation, the owner of the Project Gutenberg™ trademark,
and any other party distributing a Project Gutenberg™ electronic
work under this agreement, disclaim all liability to you for
damages, costs and expenses, including legal fees. YOU AGREE
THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT
LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT
EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE
THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY
DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE
TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL,
PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE
NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of
receiving it, you can receive a refund of the money (if any) you
paid for it by sending a written explanation to the person you
received the work from. If you received the work on a physical
medium, you must return the medium with your written
explanation. The person or entity that provided you with the
defective work may elect to provide a replacement copy in lieu
of a refund. If you received the work electronically, the person
or entity providing it to you may choose to give you a second
opportunity to receive the work electronically in lieu of a refund.
If the second copy is also defective, you may demand a refund
in writing without further opportunities to fix the problem.

1.F.4. Except for the limited right of replacement or refund set


forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’,
WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of
damages. If any disclaimer or limitation set forth in this
agreement violates the law of the state applicable to this
agreement, the agreement shall be interpreted to make the
maximum disclaimer or limitation permitted by the applicable
state law. The invalidity or unenforceability of any provision of
this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the


Foundation, the trademark owner, any agent or employee of the
Foundation, anyone providing copies of Project Gutenberg™
electronic works in accordance with this agreement, and any
volunteers associated with the production, promotion and
distribution of Project Gutenberg™ electronic works, harmless
from all liability, costs and expenses, including legal fees, that
arise directly or indirectly from any of the following which you
do or cause to occur: (a) distribution of this or any Project
Gutenberg™ work, (b) alteration, modification, or additions or
deletions to any Project Gutenberg™ work, and (c) any Defect
you cause.

Section 2. Information about the Mission


of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new
computers. It exists because of the efforts of hundreds of
volunteers and donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project
Gutenberg™’s goals and ensuring that the Project Gutenberg™
collection will remain freely available for generations to come. In
2001, the Project Gutenberg Literary Archive Foundation was
created to provide a secure and permanent future for Project
Gutenberg™ and future generations. To learn more about the
Project Gutenberg Literary Archive Foundation and how your
efforts and donations can help, see Sections 3 and 4 and the
Foundation information page at www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-
profit 501(c)(3) educational corporation organized under the
laws of the state of Mississippi and granted tax exempt status
by the Internal Revenue Service. The Foundation’s EIN or
federal tax identification number is 64-6221541. Contributions
to the Project Gutenberg Literary Archive Foundation are tax
deductible to the full extent permitted by U.S. federal laws and
your state’s laws.

The Foundation’s business office is located at 809 North 1500


West, Salt Lake City, UT 84116, (801) 596-1887. Email contact
links and up to date contact information can be found at the
Foundation’s website and official page at
www.gutenberg.org/contact
Section 4. Information about Donations to
the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission
of increasing the number of public domain and licensed works
that can be freely distributed in machine-readable form
accessible by the widest array of equipment including outdated
equipment. Many small donations ($1 to $5,000) are particularly
important to maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws


regulating charities and charitable donations in all 50 states of
the United States. Compliance requirements are not uniform
and it takes a considerable effort, much paperwork and many
fees to meet and keep up with these requirements. We do not
solicit donations in locations where we have not received written
confirmation of compliance. To SEND DONATIONS or determine
the status of compliance for any particular state visit
www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states


where we have not met the solicitation requirements, we know
of no prohibition against accepting unsolicited donations from
donors in such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot


make any statements concerning tax treatment of donations
received from outside the United States. U.S. laws alone swamp
our small staff.

Please check the Project Gutenberg web pages for current


donation methods and addresses. Donations are accepted in a
number of other ways including checks, online payments and
credit card donations. To donate, please visit:
www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could
be freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose
network of volunteer support.

Project Gutenberg™ eBooks are often created from several


printed editions, all of which are confirmed as not protected by
copyright in the U.S. unless a copyright notice is included. Thus,
we do not necessarily keep eBooks in compliance with any
particular paper edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg
Literary Archive Foundation, how to help produce our new
eBooks, and how to subscribe to our email newsletter to hear
about new eBooks.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookfinal.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy