| |
| |
| |
Introduction | |
| |
| |
Requirements | |
| |
| |
Microcontrollers | |
| |
| |
Programming Fundamentals | |
| |
| |
Programming Languages | |
| |
| |
The BASIC Programming Language | |
| |
| |
| |
Introducing the BASIC Stamps | |
| |
| |
What is a BASIC Stamp? | |
| |
| |
Stamp Hardware: Overview | |
| |
| |
Stamp Hardware: Detailed Tour | |
| |
| |
PBASIC Interpreter Chip (U1) | |
| |
| |
Program Memory (U2) | |
| |
| |
Programming Connection | |
| |
| |
Power Supply (U4) | |
| |
| |
Reset Circuit (U3) | |
| |
| |
Special Features of the BS2-SX and BS2-E | |
| |
| |
Choosing a Stamp to Start On | |
| |
| |
The Future of the Stamps | |
| |
| |
Stamp-Specific and Stamp-Friendly Kits and Accessories | |
| |
| |
Robots | |
| |
| |
Stamp Peripherals | |
| |
| |
| |
Electronic Foundations | |
| |
| |
Electricity | |
| |
| |
Batteries and Circuits | |
| |
| |
Resistance | |
| |
| |
Electrical Properties, Measurements, and Units | |
| |
| |
Ohm's Law: a Quick Preview | |
| |
| |
Electronic Components and Symbols | |
| |
| |
Batteries and Power Supplies | |
| |
| |
Resistors | |
| |
| |
Potentiometers ("Pots") | |
| |
| |
Capacitors | |
| |
| |
Diodes and LEDs | |
| |
| |
Transistors | |
| |
| |
Integrated Circuits | |
| |
| |
Other Components | |
| |
| |
Combining Symbols into Schematics | |
| |
| |
| |
Building Electronic Circuits | |
| |
| |
Plug-in Prototyping Boards | |
| |
| |
Crimp Connectors | |
| |
| |
Wire Wrapping | |
| |
| |
Soldering | |
| |
| |
Printed Circuit Boards | |
| |
| |
Tools and Test Equipment | |
| |
| |
Summary of Construction Techniques | |
| |
| |
| |
Getting Started with Stamps | |
| |
| |
What You'll Need | |
| |
| |
Connecting the Stamp Hardware | |
| |
| |
Installing and Starting the Stamp Software | |
| |
| |
Configuring the Stamp Software | |
| |
| |
Initial Checkout: Hello World | |
| |
| |
Installing the Program Examples | |
| |
| |
Understanding the Program Process | |
| |
| |
Where Do I Go from Here? | |
| |
| |
| |
BASIC Stamp Boot Camp, Part 1 | |
| |
| |
Variables: Storage Spaces for Numbers | |
| |
| |
Variables Have Fixed Sizes | |
| |
| |
Name Those Variables | |
| |
| |
Constants are Unchanging Values | |
| |
| |
Summary | |
| |
| |
Labels, Gotos and Loops | |
| |
| |
For...Next, Another Kind of Loop | |
| |
| |
Getting in Step | |
| |
| |
Making Decisions with If...Then | |
| |
| |
Combining If...Then Conditions | |
| |
| |
Multiple Possibilities with Branch | |
| |
| |
Looking Up Values from a List | |
| |
| |
Another Look at a List: Lookdown | |
| |
| |
Create Your Own Instructions with Gosub | |
| |
| |
Passing Data to Subroutines | |
| |
| |
At Ease! End of Boot Camp Part 1 | |
| |
| |
| |
BASIC Stamp Boot Camp, Part 2 | |
| |
| |
Seeing the World through an Input | |
| |
| |
Where Does Input Come From? | |
| |
| |
Changing the World through an Output | |
| |
| |
Deeper Meanings of "Input" and "Output" | |
| |
| |
Output Bit | |
| |
| |
Direction Bit | |
| |
| |
Input Bit | |
| |
| |
Summing up the I/O Trio | |
| |
| |
Variations on an LED Blinker | |
| |
| |
Controlling the LED Blinker | |
| |
| |
Final Example: Dial-controlled Timer | |
| |
| |
Comments | |
| |
| |
Formatting | |
| |
| |
The Timer Programs | |
| |
| |
Boot Camp Graduation | |
| |
| |
| |
Magic Message Machine | |
| |
| |
Persistence of Vision (POV) | |
| |
| |
Putting POV to Work | |
| |
| |
A Different Spin on POV | |
| |
| |
Initial Experiments with POV | |
| |
| |
Displaying a Text Message | |
| |
| |
Modifications and Photography | |
| |
| |
Parts List | |
| |
| |
| |
Intelligent Traffic Signal Simulation: BS1 | |
| |
| |
Traffic School | |
| |
| |
Stoplight Circuit | |
| |
| |
Construction and Modifications | |
| |
| |
Parts List | |
| |
| |
| |
Robotic Bug with Whisker Sensors: BS1 | |
| |
| |
Motors, Ready-to-roll | |
| |
| |
Modifying Servos to Drive Wheels | |
| |
| |
Building and Programming the Robot | |
| |
| |
Adding Collision-detection Sensors | |
| |
| |
Modifications and Improvements | |
| |
| |
Parts List | |
| |
| |
| |
Time/Temperature Display: BS1 | |
| |
| |
Keeping Time | |
| |
| |
Measuring Temperature | |
| |
| |
ADC0831 Analog-to-digital Converter | |
| |
| |
2x16 Serial LCD Module | |
| |
| |
All Together Now | |
| |
| |
Parts List | |
| |
| |
| |
Data-Logging Thermometer: BS2 | |
| |
| |
Getting Peripherals on the Bus | |
| |
| |
Different Bus Widths | |
| |
| |
Programming for the Serial Bus | |
| |
| |
A Synchronous-serial Thermometer | |
| |
| |
BS2-based Temperature Logger | |
| |
| |
Summary | |
| |
| |
Parts List | |
| |
| |
| |
Worldwide Remote Control with C2TERM: BS2 | |
| |
| |
Asynchronous Serial Communication | |
| |
| |
Serial Timing and Framing | |
| |
| |
Serial Parameters | |
| |
| |
Bit Rate (Baud) | |
| |
| |
Parity | |
| |
| |
Data Bits | |
| |
| |
Stop Bits | |
| |
| |
A Serial Frame | |
| |
| |
RS-232 Serial Signals | |
| |
| |
Serial Communication by Modem | |
| |
| |
X-10 Appliance Control | |
| |
| |
C2TERM | |
| |
| |
Initial X-10 checkout | |
| |
| |
Modem Checkout | |
| |
| |
Display and Button Checkout | |
| |
| |
Complete C2TERM Application | |
| |
| |
Going Further | |
| |
| |
Parts List | |
| |
| |
| |
Short-Range Sonar: BS2 | |
| |
| |
Sonar Principles | |
| |
| |
Frequency and Wavelength | |
| |
| |
The Sonar Circuitry | |
| |
| |
Construction Notes | |
| |
| |
The Sonar Program | |
| |
| |
Just for Fun--the "Sonamin" | |
| |
| |
Going Further | |
| |
| |
Parts List | |
| |
| |
Other Components | |
| |
| |
| |
Network Terminal with Keypad and Display: BS2 | |
| |
| |
Alphanumeric LCD Modules | |
| |
| |
Cursor Positioning | |
| |
| |
Keypad Interface | |
| |
| |
Stand-alone LCD/keypad demo | |
| |
| |
RS-485 Networking | |
| |
| |
RS-485 Interface | |
| |
| |
Limitations of the Demo Application | |
| |
| |
The Network Terminal | |
| |
| |
Parts List | |
| |
| |
| |
Using the Powerful BS2-SX | |
| |
| |
SX-Powered Stamp | |
| |
| |
Speed: More Than Just Fast | |
| |
| |
Scratchpad Memory: Flexible Temporary Storage | |
| |
| |
Multiple Programs: Multiple Personalities | |
| |
| |
Practical Examples of BS2-SX Programming | |
| |
| |
| |
Moving Between Programs | |
| |
| |
| |
Variables and Scratchpad RAM | |
| |
| |
| |
Navigating Inside Programs | |
| |
| |
| |
Backing Up Your Variables | |
| |
| |
| |
Charge-Transfer Capacitance Sensing (BS2-SX) | |
| |
| |
Measuring Capacitance | |
| |
| |
The Change-Transfer Technique | |
| |
| |
Implementing Charge Transfer with the BS2-SX | |
| |
| |
Charge-Transfer Mechanics | |
| |
| |
Calibration and Interpolation | |
| |
| |
Using the Charge-Transfer Project | |
| |
| |
Other Applications of Charge Transfer | |
| |
| |
Appendices | |
| |
| |
| |
BASIC Stamp Quick Reference Guides | |
| |
| |
BASIC Stamp 1 Language Reference | |
| |
| |
Program Memory (EEPROM) | |
| |
| |
Data Memory (RAM) | |
| |
| |
Input/Output (I/O) | |
| |
| |
Math and Logic (Let) | |
| |
| |
Instruction Summary | |
| |
| |
BASIC Stamp 2 Language Reference | |
| |
| |
Program Memory (EEPROM) | |
| |
| |
Data Memory (RAM) | |
| |
| |
Input/Output (I/O) | |
| |
| |
Math and Logic | |
| |
| |
Instruction Summary | |
| |
| |
Numeric Conversion Options for Serin | |
| |
| |
String Collection and Sequence Matching Options for Serin | |
| |
| |
Options for Serout | |
| |
| |
BASIC Stamp 2-SX and -E Language Reference | |
| |
| |
Program Memory (EEPROM) | |
| |
| |
Data Memory (RAM) | |
| |
| |
Scratchpad Memory (RAM) | |
| |
| |
Input/Output (I/O) | |
| |
| |
Math and Logic | |
| |
| |
Instruction Summary | |
| |
| |
Numeric Conversion Options for Serin | |
| |
| |
String Collection and Sequence Matching Options for Serin | |
| |
| |
Options for Serout | |
| |
| |
| |
Numbering Systems, Integer Math, and Boolean Logic | |
| |
| |
Numbering Systems | |
| |
| |
Digits, Weights, and Significance | |
| |
| |
Conversions | |
| |
| |
Numbers as Text and Text as Numbers | |
| |
| |
Math with Fixed-size Integers | |
| |
| |
Negative Numbers | |
| |
| |
Boolean Logic | |
| |
| |
So what? | |
| |
| |
Summary | |
| |
| |
| |
Electronic Calculations and Stamp-Related Circuits | |
| |
| |
Ohm's Law calculations | |
| |
| |
Resistances in Series and Parallel | |
| |
| |
Resistances in Series | |
| |
| |
Resistances in Parallel | |
| |
| |
Rules of Thumb and Shortcuts | |
| |
| |
Calculations with Rtotal | |
| |
| |
Circuits with Resistors in Series and Parallel | |
| |
| |
Series Resistors as a Voltage Divider | |
| |
| |
Potentiometers as Adjustable Voltage Dividers | |
| |
| |
Digital Switch Input | |
| |
| |
Switches in the Real World | |
| |
| |
Why are Pullups Preferred? | |
| |
| |
LED Output | |
| |
| |
Switching Bigger Loads with Transistors | |
| |
| |
Calculating Resistor-capacitor (RC) Timing | |
| |
| |
Using an External Voltage Regulator | |
| |
| |
Building an Efficient Switching Power Supply | |
| |
| |
Why Bother? | |
| |
| |
| |
Bug-Hunting Guide | |
| |
| |
| |
Sources for Electronic Components | |
| |
| |
Component Sources | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Glossary | |
| |
| |
Index | |