Thông tin tài liệu
MintDuino
Building an Arduino-Compatible
Breadboard Microcontroller
James Floyd Kelly
& Marc de Vinck
CREATE YOUR
OWN 2-PLAYER
LED GAME
Project Book
www.it-ebooks.info
Project Book
n
Wire up and program the MintDuino to light an LED
n
Build a game that tests the reflexes of two players
n
Learn how to make your “game light” glow at random
intervals
n
Construct a pushbutton circuit to control individual players’
LEDs
n
Put all of the components together, including simple code
to control your game
Get started with MintDuino, the Maker Shed kit that’s perfect for
learning or teaching the fundamentals of how microcontrollers
work. This hands-on book shows you how to build a complete
MintDuino project from start to finish. Learn how to assemble the
microcontroller on a breadboard (no soldering required), and
immediately begin programming it.
You’ll build the MintDuino Reflex Game in five separate stages or
sub-tasks. Breaking down a large project into manageable tasks
helps you track down errors quickly, and lets you see how each part
of the circuit works. Once you complete the game, you’ll have the
resources and experience to tackle more MintDuino projects. If
you’re interested in the fascinating world of microcontrollers, you’ll
enjoy this book.
MintDuino
Building an Arduino-Compatible Breadboard
Microcontroller
Twitter: @oreillymedia
facebook.com/oreilly
oreilly.com
ISBN: 978-1-449-30766-0
US $4.99 CAN $5.99
www.it-ebooks.info
MintDuino
James Floyd Kelly and
Marc de Vinck
Beijing
•
Cambridge
•
Farnham
•
Köln
•
Sebastopol
•
Tokyo
www.it-ebooks.info
MintDuino
by James Floyd Kelly and Marc de Vinck
Copyright © 2011 Blue Rocket Writing Services, Inc. All rights reserved.
Printed in the United States of America.
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
O’Reilly books may be purchased for educational, business, or sales promotional use. Online
editions are also available for most titles (http://my.safaribooksonline.com). For more informa-
tion, contact our corporate/institutional sales department: (800) 998-9938 or
corporate@oreilly.com.
Editor: Brian Jepson
Production Editor: Kristen Borg
Proofreader: O’Reilly Production Services
Cover Designer: Mark Paglietti
Interior Designer: David Futato
Illustrator: Robert Romano
September 2011: First Edition.
Revision History for the First Edition:
September 12, 2011 First release
December 16, 2011 Second release
See http://oreilly.com/catalog/errata.csp?isbn=9781449307660 for release details.
The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. The Maker Press series desig-
nations, MintDuino, and related trade dress are trademarks of O’Reilly Media, Inc.
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc.,
was aware of a trademark claim, the designations have been printed in caps or initial caps.
While every precaution has been taken in the preparation of this book, the publisher and authors
assume no responsibility for errors or omissions, or for damages resulting from the use of the
information contained herein.
ISBN: 978-1-449-30766-0
[LSI]
1325889248
www.it-ebooks.info
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
1/Build a Mintronics: MintDuino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Build the Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
Power the Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
Getting Ready to Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2/The MintDuino Reflex Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3/Subtask 1: Light an LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Start Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Upload Your First Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4/Subtask 2: Randomly Light an LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
The Game Takes Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
5/Subtask 3: Light an LED with a Pushbutton . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Light the LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
6/Subtask 4: Add Buttons and LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Light LEDs for Each Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7/Subtask 5: Program the Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
The Final Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Contents iii
www.it-ebooks.info
www.it-ebooks.info
Preface
The MintDuino is deceiving—this little tin of electronics is capable of provid-
ing the brains for an unlimited number of devices limited only by your imag-
ination…and, of course, your bank account.
While the MintDuino is certainly capable of being used during a moment of
inspiration, you’ll find that the real power of the device comes when you sit
down, figure out what you want to make, and then start tackling your project
a bit at a time. Anyone who has done circuit building or programming (or
both) knows that it rarely pays to just start inserting components and writing
complex sketches (programs in Arduino-speak). When trouble arises in a
circuit or a program, it can be a time-consuming process to track down the
error (or more likely, errors) when you have too much complexity. That’s
why it’s always a good idea to break a project idea down into manageable
components—let’s call them subtasks. If your big project has five major
subtasks, tackling the first subtask and building a slightly less complicated
circuit with a slightly less complicated sketch will save time and reduce
stress. Once you’ve got the first subtask figured out, you move on to the
second. By the time you’ve got all five subtasks built and their individual
sketches tested, you’re likely to have an increased chance of success when
you pull them all together and build The Big Project.
And that’s exactly what you’re going to do in this MintDuino Notebook.
You’re going to be shown The Big Project…but you’re not going to be allowed
to build it just yet. The Big project has subtasks, and first you’re going to
learn how to get the subtasks to work. Once you’ve done that, you’ll be ready
for the finale where you bring together all you’ve learned and tackle…The Big
Project. So, what is The Big Project? Keep reading.
www.it-ebooks.info
What You Need
The complete list of materials for this project is below, but you’ll find a partial
list of components with each subtask that contains only those items used in
that particular section:
• 1 MintDuino—assembled (see http://makeprojects.com/Project/Build
-a-Mintronics-MintDuino/608/1 for assembly instructions)
• 1 9V battery
• 1 FTDI adapter, such as the FTDI Friend (see http://www.makershed
.com/ProductDetails.asp?ProductCode=MKAD22)
• 1 USB cable (A to mini-B type)
• A jumper wire kit, such as http://www.makershed.com/ProductDetails
.asp?ProductCode=MKSEEED3
• 2 LEDs (you can use any color you have handy)
Plus, you’ll need the following components, all of which are available in the
Mintronics: Survival Pack:
• 2 LEDs (one red and one green LED come with the Survival Pack, but
you can use any color you have handy)
• 1 mini breadboard
• 1 9V battery connector
• 3 resistors (100 ohm minimum)
• Jumper wires (you’ll find enough wire in the Survival Pack to get you
started, but you’ll need to dip into the jumper wire kit soon)
• 2 pushbuttons
• Enough jumper wire to get you through Subtask 3.
Conventions Used in This Book
The following typographical conventions are used in this book:
Italic
Indicates new terms, URLs, email addresses, filenames, and file exten-
sions.
Constant width
Used for program listings, as well as within paragraphs to refer to pro-
gram elements such as variable or function names, databases, data
types, environment variables, statements, and keywords.
vi Preface
www.it-ebooks.info
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values or by val-
ues determined by context.
TIP: This icon signifies a tip, suggestion, or general
note.
CAUTION: This icon indicates a warning or caution.
Using Code Examples
This book is here to help you get your job done. In general, you may use the
code in this book in your programs and documentation. You do not need to
contact us for permission unless you’re reproducing a significant portion of
the code. For example, writing a program that uses several chunks of code
from this book does not require permission. Selling or distributing a CD-ROM
of examples from O’Reilly books does require permission. Answering a
question by citing this book and quoting example code does not require per-
mission. Incorporating a significant amount of example code from this book
into your product’s documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes
the title, author, publisher, and ISBN. For example: “MintDuino by James
Floyd Kelly (O’Reilly). Copyright 2011 Blue Rocket Writing Services, Inc.,
978-1-4493-0766-0.”
If you feel your use of code examples falls outside fair use or the permission
given above, feel free to contact us at permissions@oreilly.com.
Safari® Books Online
Safari Books Online is an on-demand digital library that lets you
easily search over 7,500 technology and creative reference
books and videos to find the answers you need quickly.
With a subscription, you can read any page and watch any video from our
library online. Read books on your cell phone and mobile devices. Access
Preface vii
www.it-ebooks.info
new titles before they are available for print, and get exclusive access to
manuscripts in development and post feedback for the authors. Copy and
paste code samples, organize your favorites, download chapters, bookmark
key sections, create notes, print out pages, and benefit from tons of other
time-saving features.
O’Reilly Media has uploaded this book to the Safari Books Online service. To
have full digital access to this book and others on similar topics from O’Reilly
and other publishers, sign up for free at http://my.safaribooksonline.com.
How to Contact Us
Please address comments and questions concerning this book to the pub-
lisher:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (in the United States or Canada)
707-829-0515 (international or local)
707-829-0104 (fax)
We have a web page for this book, where we list errata, examples, and any
additional information. You can access this page at:
http://www.oreilly.com/catalog/0636920020882
To comment or ask technical questions about this book, send email to:
bookquestions@oreilly.com
For more information about our books, courses, conferences, and news, see
our website at http://www.oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://www.youtube.com/oreillymedia
Content Updates
December 16, 2011
• Modified the book’s style and trim size.
• Added a new chapter that explains how to build the Mintduino.
viii Preface
www.it-ebooks.info
[...]... understand the proper wiring of the MintDuino, as well as the electronics components and programming elements required: 1 Wire up and program the MintDuino to light an LED—this will help us to not only light the Game Light but also the winning player’s green LED 2 Wire up and light an LED after a Random Wait Time—we will learn how to light an LED after waiting a random amount of time 3 Wire up and program... LED, and keep it from burning out 5 Lastly, cut (1) piece of red and black wire about 1 1/2" long and connect the right side rails together Remember to connect (+) to (+) and (-) to (-) Your breadboard should look just like Figure 1-2 Figure 1-2 Breadboard ready to be powered up Now we can power it up! Connect the battery clip’s red wire (+) to “d4” and the black wire (-) to “d5” Connect a 9v battery and... ground rail of the breadboard and the other into “a17” 4 Insert the other 22 pF capacitor with one pin into the the ground rail and the other into “a18” 5 While we are working on this part of the breadboard, let’s connect a ground connection to the microcontroller: cut a 1/2" piece of black wire and connect the ground rail of the breadboard to “a16” At this point, the center of your breadboard should... will thank you for it! OK, enough fun Unplug the battery and let’s get started with the micro controller Power the Microcontroller Now it’s time to connect power to the ATMega 328 chip (also known as an integrated circuit or IC) This is the brains of your MintDuino It combines a microprocessor, flash memory, RAM, and digital as well as analog inputs and outputs into a single chip known as a microcontroller. .. power that the ATMega can use Insert the 7805 into column “i” on the breadboard and rows 1, 2, and 3 The metal heatsink should be facing the right (or column “J”) Now we are going to add two 10 μF capacitors to the power regulator: 1 I like to trim the leads down so they don’t stick so far out of the breadboard One lead is longer than the other The long lead is the (+) lead and the short one is the... easy to identify the (+) and (-) leads 2 Take the first capacitor and insert the (+) lead into “g1” and the negative lead into “g2” Easy! 3 Take the other 10 μF capacitor, and insert the (-) lead into row 1 of the (-) power rail of the breadboard Insert the (+) lead into row 1 of the (+) rail of the breadboard Now lets get some regulated power over to the power rails of the breadboard Start by stripping... www.it-ebooks.info long Insert the wire from the (+) rail of the breadboard to “j3” of the breadboard Next, strip the ends of one piece of black wire cut to approximately 1/2" long Insert the wire from the (-) rail of the breadboard to “j2” of the breadboard Your breadboard should look like Figure 1-1 Figure 1-1 Breadboard with voltage regulator, capacitors, and wire Now it’s time to add the power LED Start by... crystal, and ground wire Build a Mintronics: MintDuino www.it-ebooks.info 5 Now you’re ready to connect the positive rail of the breadboard to the microcontroller: 1 Cut 3 pieces of red wire, all of them about 1/2" in length, and one black wire 1/2" in length 2 Use one red wire to connect the (+) rail of the breadboard to “j16” 3 Use another piece of red wire to connect the (+) rail of the breadboard. .. (+) longer than the short one (-)! Now you can insert the red LED into the breadboard: the longer lead (+) goes into “d2” and the negative (-) goes into “d1” Let’s get the power distributed around the board and to the LED: 1 Start by cutting one red wire, approximately 1/2" long and one black wire, approximately 1/2" long Strip both ends of each wire 2 Insert the red wire from “f1” to “e4”, and the black... required in order to light LEDs, wait a random amount of time, and test for pushbuttons to be pressed, we can pull it all together and build the MintDuino Reflex Game The fact that we’ll have multiple LEDS shouldn’t be a problem—if we know how to light one, well, we can light two…or three And if we know how to determine if a pushbutton has been pressed, we can probably figure out how to detect which . MintDuino Building an Arduino-Compatible Breadboard Microcontroller James Floyd Kelly & Marc de Vinck CREATE YOUR OWN 2-PLAYER LED GAME Project Book www.it-ebooks.info Project Book n Wire up and. you’re interested in the fascinating world of microcontrollers, you’ll enjoy this book. MintDuino Building an Arduino-Compatible Breadboard Microcontroller Twitter: @oreillymedia facebook.com/oreilly oreilly.com ISBN:. Online is an on-demand digital library that lets you easily search over 7,500 technology and creative reference books and videos to find the answers you need quickly. With a subscription, you can read
Ngày đăng: 29/03/2014, 16:20
Xem thêm: MintDuino: Building an Arduino-compatible Breadboard Microcontroller potx