!= (not equal to), 34
* (asterisk) symbol, 74
{} (curly braces), 25
< (less than), 34
<= (less than or equal to), 34
== (equal to), 34
> (greater than), 34
>= (greater than or equal to), 34
5-volt linear regulator, 4
5×7 LED dot matrix, 134
74HC595 Shift Register IC, 48, 116–118, 122, 124, 129, 134
7-segment LED displays, 155
840 tie-point breadboard, 22
8-bit mode, 177
8×8 LED dot matrix display, 129, 134
access control system
circuit connections, 348
parts required, 347
Adafruit shield, 215
Add File option, 18
additive color model, 63
AFMotor.h library, 215
analog input/outputs, 57
Analog Pin 4 (SDA), 339
Analog Pin 5 (SCL), 339
analogRead command, 57
analogWrite() function, 60, 194
Anthros art installation, 5
API key, 376
Archive Sketch option, 18
Arduino
advantages of, 1
components, 4
extensions, 5
internal pull-up resistors, 48
as open source, 4
programming, 4
testing, 10
uses of, 3
variants, 5
Arduino Boards menu, 10
Arduino Duemilanove, 6
Arduino IDE (Integrated Development Environment), 4
appearance of, 13
board and port selection, 8–10,
Arduino Mega 2560, 5
Arduino menu, 16
Arduino Project, 1
Arduino projects
1-wire digital temperature sensor, 283–291
access control system, 347–356
digital pressure sensor, 231–245
dual 8-bit binary counters, 124–128
interactive LED chase effect, 54–57
interactive traffic lights, 38–48
Internet weather display, 368–383
joystick servo control, 201–206
L293D motor driver IC, 104–108
LCD temperature display, 182–188
materials needed for, 2
piezo sounder melody player, 85–89
S.O.S. Morse Code Signaler, 31–34
serial controlled mood lamp, 68–79
serial temperature sensor, 279–283
shift register 8-bit binary counter, 111–124
temperature SD datalogger, 327–340
touch screen light controller, 272–278
ultrasonic distance display, 298–305
ultrasonic rangefinder, 293–298
Arduino Tools menu, 9
Arduino-based boards, 4
array data type, 42
data type, 53
endTag, 411
RGB2, 64
ASCII (American Standard Code for Information Interchange), 159
ASCII characters, 159–160, 353
ASCII code, 159
ASCIITable sketch, 15
Atmega chip, 4, 18, 19, 61, 137, 156
Atmega8U2 chip, 4
Atmega32 chip, 42
Atmega168 chip, 42
attach command, 194
Austria Microsystems AS1107, 145
Auto Format function, 18
available() command, 365
base 10 number system, 114
basicPrintDemo() function, 177
battery assisted passive (BAP), 345
begin() command, 364
bi-color dot matrix displays, 129
bi-color LEDs, 31
dual 8-bit binary counters, 124–128
shift register 8-bit binary counter, 111–124
bitshift command, 139
bitshift operator, 122
bitwise AND (&) operator, 120, 122, 157
bitwise NOT (~) operator, 121
bitwise operators, 120–122, 157, 354
bitwise OR (|) operation, 121, 354
bitwise rotation, 144
bitwise XOR (^) operator, 121
BlankLine variable, 365
boolean data type, 42
boolean operators, 44
boolean variables, 119
bootloader, 5
break command, 187
buttons, 45
byte data type, 42
bytes, 88
C language, 4
casting, 60
CdS (Cadmium-Sulfide), 94
changeLED() function, 54
changeLights() function, 39
char data type, 42
checkForResponse() function, 381–382
checksums, 354
chrPointer variable, 158
circular shift, 144
clean_buffer() function, 378
clear string (clearStr) function, 410, 412
clearDisplay() function, 156
client.println() command, 366
client.read() command, 365
clockPin, 157
clone boards, 4
.close() command, 326
comments, code, 23
comparison operators, 34
components
buttons, 45
computer programs, 4
condition parameter, 33
conditional operators, 271
conditions, nested, 44
control structures, 43
Copy for Forum option, 18
counter variable, 252
createChar() function, 180
createGlyphDemo() function, 180
curly braces {}, 25
cursor() function, 179
.csv (comma separated values) file, 380
DallasTemperature library, 285, 289–291, 329, 392
DATA command, 389
data type array, 53
dataPin, 157
L293D motor driver IC, 104–108
circuit connections, 100
parts required, 100
project code, 101
decode mode register, 155
detach() function, 195
DeviceAddress variables, 289
DHCP (Dynamic Host Configuration Protocol), 399
digital barograph
parts required, 245
Digital Pin 9, 103, 222, 294–296
Digital Pin 10, 22, 24, 25, 26, 28, 33
sending analog values to, 60
setting pinMode, 48
digital pressure sensors
digital temperature sensors, 283
circuit connections, 284
parts required, 283
setting resolution of, 290
digitalRead statement, 43
digitalWrite statement, 48
diodes, 103
direction variable, 54
disconnect_pachube() function, 381
display() function, 177
displayDigit() function, 304, 311
dot matrix displays, 129
parts required, 129
pins required for, 131
Pong game, 164
circuit connections, 164
parts required, 164
scrolling message, 144
parts required, 145
scrolling sprite, 139
dotCursor variable, 252
double data type, 42
do-while loop, 324
drawPoints() function, 253–254
DrawRect command, 252
DS1307 RTC (Real Time Clock) chip, 327, 339
DS18B20 digital temperature sensor, 283, 327
dual 8-bit binary counters
code and hardware overview, 127–128
parts required, 124
Dual H-Bridge, 107
parts required, 196
Dynamic Host Configuration Protocol (DHCP), 399
Edit menu, 17
electromagnets, in stepper motors, 211
email alert system, 384
endTag array, 411
.errorCode() command, 323
error messages, 16
error_P function, 322
Ethernet shield, 401
circuit connections, 360
parts required, 359
Ethernet.begin command, 378
Ethernet.h library, 363
EthernetDHCP library, 393, 399–400
EthernetDNS library, 393
external libraries, 132, 137, 144
circuit connections, 66
code overview, 68
parts required, 66
project code, 67
flash memory, 156
float data type, 42
floating pins, 265
floating state, 46
FTDI USB-to-serial driver chip, 4
function calls, 45
functions, 24–25, 45. See also specific functions
Toolbar button, 14
Verify/Compile, 18
passing control to, 54
getPressure() function, 253
getTemp() function, 282
.getTempC() function, 290, 361, 365, 383
getTemperature() function, 338, 361–362, 365–367, 392
getTemperatures() function, 372, 379, 383
getTimeDate() function, 336, 338
GLCD.h library, 252
global scope, 34
Hardware Timer, 137
heatsink, 105
Help menu, 19
hexadecimal numbers, converting ASCII characters to, 353
high impedance, 265
HTML (or HyperText Markup Language), 366
HTTP request, 366
HTTP version 1.1, 366
I/O (input/output) pins, 4
I2C (Inter-IC) protocol, 339–340
ID12 readers, 343
IDE menus, 16
IDE window, 16
if statement, 43
impedance, 265
Import Library option, 18
include command, 137
increment parameter, 33
index variable, 352
indexes, 354
initialization parameter, 33
initMAX7219() function, 157
installation
Mac OSX, 7
Vista, 7
Windows XP, 7
integers, 24
integrated circuits, 28
intensity register, 154
intensity() function, 157
interactive traffic lights, 38–48
parts required, 38
Internet weather display, 368–383
interrupt routine, 139
IP address, 362, 364, 384, 388
ISR (Interrupt Service Routine), 137
Joystick Servo Control, 201–206
parts required, 201
project code, 204
jumper wires, 30
keypad, touch screen
keywords, 24
L293D motor driver IC, 104–108
circuit connections, 105
parts required, 104
last_connect, 379
lcd object, creating, 270
lcd.clear() function, 177
LCDs. See liquid crystal displays
Least Significant Byte, 157
LED (light emitting diode) displays, 129–170
parts required, 129
dot matrix display, 129
circuit connections, 164
parts required, 164
parts required, 145
LED Driver ICs, 144
circuit connections, 66
code overview, 68
parts required, 66
project code, 67
interactive LED chase effect, 54–57
circuit connections, 55
hardware overview, 57
project code, 56
parts required, 51
circuit connections, 58
code overview, 60
parts required, 58
circuit connections, 61
parts required, 61
serial controlled mood lamp, 68–79
circuit, 22
connections, 22
entering code, 23
LedControl objects
creating instance of, 166
parameters required by, 166
LedControl.h library, 166, 303
ledOutput, 158
ledState Boolean value, 276
ledValue, 91
libraries, 18
DallasTemperature, 285, 289–291, 329, 392
Matrix, 144
SoftwareSerial.h, 351
SPI.h, 363
Wire.h, 334
Wprogram.h, 334
light controller, touch screen, 272
Light Dependent Resistor (LDR), 92–96
light emitting diode (LED), 30–31,. See also LED displays
circuit connections, 93
parts required, 92
linear actuator, 196
linear regulator, 4
liquid crystal displays (LCDs), 171–189
basic LCD control
hardware overview, 181
parts required, 171
LCD temperature display, 182–188
circuit connections, 182
parts required, 182
workings of, 181
LiquidCrystal object, 176, 185
LiquidCrystal.h library, 171–181, 270
LM335 analog temperature sensor, 279–280
LM35DT temperature sensor, 183
Logic Analyzer, 117
logic statements, 44
logical AND (&&) operator, 44, 353
logical operators, 44, 271, 353
Logical OR (||) operator, 44
LV-MaxSonar ultrasonic range finder, 293
MAC (Media Access Control) address, 364
Mac OSX installation, 7
maintain command, 400
Master API Key, 370
Matrix library, 144
pin diagram, 152
register address map, 154
serial data format, 153
timing diagram for, 153
MAX7219 LED Display Driver chips, 144–145, 298
memory
data types and, 42
flash, 156
SRAM, 156
memset command, 378
messages window, 13
microblogging, 393
millis() function, 43, 160, 163, 377, 379, 390, 398, 400
mills() function, 379
Morse Code, 31
Most Significant Byte, 157
motor shield
about, 218
line-following robot using, 219
parts required, 220
types of, 219
using, 213
motors, 103
controlling direction of, 218, 226
controlling speed of, 225
turning off, 217
Nano, 6
NeoCat, 393
nested conditions, 44
New button, 14
noDisplay() command, 177
NOT (!) operator, 44
NOT bitwise operator (~), 138
noTone() function, 83, 89, 312
NULL character, 72
O_APPEND flag, 337
O_CREAT flag, 325
O_EXCL flag, 325
O_READ flag, 326
O_WRITE flag, 325
Ohm, 28
OneWire library, 284, 289, 329
oops() function, 168
Open button, 14
open() command, 326
Optiboot, 5
or (logical OR ||) commands, 167
oscillator, 4
pachube_data, 380
pachube_out() function, 379, 383
passive RFID, 345
PCB (Printed Circuit Board), 4
circuit connections, 81
parts required, 81
project code, 82
persistence of vision, 135
pgm_read_byte command, 162
PGMPrint() command, 323
photoresistor, 94
Physical or Embedded Computing platform, 3
piezo disc, 85
circuit connections, 90
parts required, 89
piezo sounder, 84
piezo sounder melody player, 85–89
Pin 13 LED, 12
pinMode, 48
pins/pinouts
between Arduino, IC, and dot matrix display, 146
between Mega and the GLCD, 246
changing mode between INPUT and OUTPUT, 48
for dot matrix display, 131
for L293D, 109
for LCD, 268
for MAX7219, 152
pointers, 73
port number, 364
post() method, 398
post-decrement, 73
potential divider, 95
potentiometers, 54–57, 99, 164, 166
for DC motor control, 102
joystick, 202
Preferences option, 16
digital
digital barograph
parts required, 245
println command, 74
printTemperature() function, 290
printTrend() function, 253–256
PROGMEM command, 156
Program Space utilities, 155–156
pull-down resistors, 38, 45–48
circuit connections, 58
code overview, 60
parts required, 58
pulse width, 60
Pulse Width Modulation (PWM), 60
pulseIn command, 296
PWM functions, 194
QUIT command, 390
read_register16() function, 244
request_pause, 379
resetEthernetShield() function, 378
resistance, 28
resistive touch screens, 262
color codes, 29
reverse voltage, 104
RFID (Radio Frequency Identification) readers, 343–357
access control system
circuit connections, 348
parts required, 347
battery assisted passive, 345
passive, 345
simple, 343
parts required, 343
project code, 345
circuit connections, 61
parts required, 61
RGB2 array, 64
robots
controlling two-wheeled, 213–219
line following, 219
parts required, 220
rotate value, 226
RSS (Really Simple Syndication), 401
RSS Weather Reader, 401
S.O.S. morse code signaler, 31–34
Save button, 14
scan limit, 155
scope, variable, 34
SCP1000 absolute digital pressure sensor, 231
screenUpdate() function, 137–138, 143–144, 156, 163
screw terminal, 84
scroll() function, 158
scrollDisplayLeft() function, 178, 272
scrollDisplayRight() function, 178
SD cards, 317
initializing, 337
simple/read write, 317
circuit connections, 318
parts required, 317
temperature SD datalogger, 327
parts required, 327
SD/MMC Card Breakout Board, 317
SdFatUtil.h library, 319
Send button, 15
sendEmail function, 392
sensors
1-wire digital temperature sensor, 283–291
analog temperature sensor, 279–280
digital pressure sensor, 231–245
serial temperature sensor, 279–283
serial buffer, 72
serial clock line (SCL), 339
serial controlled mood lamp, 68–79
serial data line (SDA), 339
Serial Monitor button, 15
Serial Peripherals Interface (SPI), 238–240
Serial Port list, 10
serial temperature sensor
circuit connections, 280
parts required, 279
serial window, 15
Serial.available() function, 72
Serial.begin() function, 71
Serial.flush() function, 71, 199
Serial.print() function, 74, 400
Serial.read() function, 73
serialEvent() function, 408
Serialprintln() function, 74
SerialPrintln_P command, 323
serial-to-parallel data conversion, 116
Servo.h library, 191, 194–195, 199
servo1, 194
Joystick Servo Control, 201–206
linear actuator, 196
position control, 195
circuit connections, 193
parts required, 192
project code, 193
.set() function, 337
setCursor() function, 178
setDigit() function, 305
SetDot () function, 253
.setLed() function, 168
.setResolution() function, 290
.setRow() function, 169
setServo routine, 200
.setSpeed() function, 210
setup() function, 24–26, 101, 163, 167, 324, 327
setupEthernet() function, 378, 383
shields, 5
parts required, 111
Show Sketch Folder option, 18
sin() function, 60
sine waves, 60
single pole, double throw type (SPDT) switch, 299
sinVal float variable, 83
Sketch menu, 18
Sketch Window, 13
sketches, 4
SoftwareSerial object, 351
SoftwareSerial.h library, 351
SONAR (sound navigation and ranging), 297
specifiers, 380
speed pins, 217
SPI (Serial Peripheral Interface), 231
SPI Control Register, 238, 239
SPI Status Register (SPSR), 240
SPI.h library, 363
spi_transfer() function, 242
splitString() function, 73–76, 200
sprintf command, 379–380, 399–400
SRAM (Static Random Access memory), 156
standard value resistors, 28
.start() function, 337
startAlarm() function, 311
step angle, 210
Stepper library, 18
stepper motors, 207
about, 211
basic stepper control
parts required, 207
increasing resolution of, 213
object creation, 210
setting speed of, 210
step angle, 210
step sequence for, 212
types and sizes, 211
String Compare function, 356
string data type, 42
stripboard, 105
strLength variable, 159
strncpy command, 410
strstr command, 382
strtol (String to long integer) command, 77
switches, 45
tag string (tgrStr), 410
temperature scales
temperature SD datalogger, 327
parts required, 327
calibrating, 281
digital, 283
circuit connections, 284
parts required, 283
serial
circuit connections, 280
parts required, 279
temporary string (tmpStr), 410
Timer1 function, 138
TimerOne library, 132, 137, 141, 156
timestamp command, 325
tmpStr (temporary string), 410
toFahrenheit() function, 290
tone() command, 83
toneVal variable, 83
Toolbar button functions, 14
Tools menu, 18
touch function, 272
basic
parts required, 259
light controller, 272
resistive, 262
touch screen keypad, 266
touch() function, 264, 277–278
parts required, 35
transistors, for DC motor control, 99, 102–103
tri-color LEDs, 31
trimmer potentiometer, 279, 281
truth tables, 44
tweet() function, 400
Twitterbot, 393
Two Wire Interface (TWI), 339
two-dimensional arrays, 142–143
UBLB command, 244
ultrasonic alarm
parts required, 306
ultrasonic distance display
ultrasonic rangefinder, 293–315
simple
hardware overview, 297
parts required, 293
ultrasonic theremin, 312
unlock() function, 356
unsigned char data type, 42
unsigned int data type, 42
unsigned long data type, 41–42
Upload to I/O Board button, 15
USB A to Mini-B cable, 6
USB cable, 6
USB socket, 4
User-Agent request-header, 381
variable names, 24
variable scope, 34
variables, 24
direction, 54
local scope, 75
storage of, 42
Vin pin, 208
Vista installation, 7
void keyword data type, 42
voltage, 28
voltage divider, 95
wait() function, 398
while loop, 73
Windows 7 installation, 7
Windows XP installation, 7
Wire.h library, 334
word data type, 42
WProgram.h library, 334
write_register() function, 241
writeCRLF() function, 323
writeString() function, 324
XML (Extensible Markup Language), 401
XOR (Exclusive OR), 354
18.216.168.162