Professional Documents
Culture Documents
Simply Arduino
Simply Arduino
" "
Creative Common v4 CC-NC-SA .
CC-NC- ) (
.
SA-
) (
) : ( .
creativecommons.org
" "
http://simplyarduino.com/?page_id=889
abdallah.ali.abdallah.elmasry@gmail.com
Facebook
www.facebook.com/abdallah.ali.elmasry
linkedIN
eg.linkedin.com/in/abdallahali
1434 2012.
Simplify Arduino
....
....
www.networkset.net
www.aabouzaid.com
www.shabayek.com
linuxac.org
2
Simplify Arduino
....................................................................................(1)
........................................................................(5)
....................................(7)
:
:......................................................................( )21
:..............................................................( )43
:..........................................................( )77
:..............................................( )92
:....................................................( )113
:...................................( )125
:..............................................................( )166
:........................................................( )173
.................................................Fablab Egypt()179
:(+)..........................................( )183
3
Simplify Arduino
4
Simplify Arduino
Arduino IDE
5
Simplify Arduino
Examples
,
.
PDFFoxit PDF
Tablet Ipad Good Reader
4 .
6
Simplify Arduino
Introduction to Arduino & microcontrollers
7
Simplify Arduino
,,,... .
Integrated Circuits
)(IC
Nano Meter
.
8
Simplify Arduino
Integrated Circuits
Micro Controllers
,,
,
.
,
...
9
Simplify Arduino
Arduino
Open Hardware
Arduino C
Source Codes
Arduino Boards Arduino
IDE
Arduino C
Mikro C
.
10
Simplify Arduino
Micro Controllers Development boards
5002
, processing""C
.
MATLABJava
MATLAB ,
,
JavaVB.NET
11
Simplify Arduino
:
MATLAB
.MATLAB
MATLAB
50
5000
12
Simplify Arduino
Arduino Boards
Sensors
Arduino Uno
13
Simplify Arduino
Arduino Uno
ATmega328
14(|)
Digital In/out146PWM
()Pulse-Width modulation
Analog
Inputs & Outputs
Crystal Oscillator,MHz16
USB
,
, ICSP
header
()USB
Development Board
USB
.
14
Simplify Arduino
Power up
USB
AC\DC
94
1.5
GndVin .
627-,
7
Pin 5V
5,
12
voltage regulator
,712 .
15
Simplify Arduino
Power Inputs/Outputs
Vin:
,
,
V5:
,
Vin
USB
5.
V3.3:3.3
57 .
GND:.
16
Simplify Arduino
Microprocessor
ATmega328 63Kilo Byte 33
3% 6%
2%
SRAM - 2 Killobyte
Flash Disk - 29 Killobyte
EEPROM - 1 Killobyte
Bootloader 0.5 Killobyte
89%
:SRAM . o
Flash Disk: o
,
.
EEPROM: o
Hard Disk .
17
Simplify Arduino
(61(Digital Pins
2 10
,3AnalogA0,A5
2.
18
Simplify Arduino
:
:
19
Simplify Arduino
:
:Hardware & Tools
21
Simplify Arduino
Arduino UNO:
(:)
,
,""
)(Breadboard
,
Half Sized Breadboard
22
Simplify Arduino
( )Colored Leds
, 01
:,,,,
Resistors
:
)Resistor 560 Ohm (x5
Resistor 10 Killo-Ohm (x5
23
Simplify Arduino
Cat5
.
,
breadboard
24
Simplify Arduino
.
http://www.fut-electronics.com
http://egyrobots.com
http://www.ram-e-shop.com
RAM Electronics
" "
Future Electronics
.
()
http://www.buyincoins.com
:
http://arduino.cc/hu/Main/Buy
25
Simplify Arduino
Arduino Uno
26
Simplify Arduino
Software's
27
Simplify Arduino
)Arduino (IDE
Arduino IDE
Arduino C
.
Arduino C
.
28
Simplify Arduino
Open, Source
.
] [ :
Ubuntu
:
http://www.simplyubuntu.com/
29
Simplify Arduino
Arduino IDE
Windows, Linux, MAC
:
http://arduino.cc/hu/Main/Software
, 7zip
arduino.exe
30
Simplify Arduino
Ubuntu
Software center Arduino IDE Install
fedora
Open SUSE
.
Hardware
31
Simplify Arduino
Arduino IDE
:
1 USB
Found
Arduino Uno Board
2
3 4
32
Simplify Arduino
33
Simplify Arduino
:
:
:
:
:
Tools Board
Arduino Uno
34
Simplify Arduino
( Vista
)Windows 7 :
: Device Manager
35
Simplify Arduino
""
36
Simplify Arduino
"
" Ok
COM3,
() .
37
Simplify Arduino
38
Simplify Arduino
New File
New
39
Simplify Arduino
Examples File
40
Simplify Arduino
:
:
41
Simplify Arduino
42
Simplify Arduino
43
Simplify Arduino
44
Simplify Arduino
(:)1
Arduino Uno
Breadboard
567
17
:
Breadboard
:
(
)100%
Breadboard4
pin-header
45
Simplify Arduino
Pin-Header
Breadboard
:Arduino IDE
46
Simplify Arduino
void setup ) (
{
pinMode)LED, OUTPUT(;
}
void loop)(
{
digitalWrite)LED, HIGH(;
delay)1000(;
digitalWrite)LED, LOW(;
delay)1000(;
}
47
Simplify Arduino
:
Verify
IDE
"
Upload "
leds(
)Tx/Rx
,
.
,
.
48
Simplify Arduino
......
()Input/Output Pins,
LED 13
13
LED
13
( ) Void setup
{
;(pinMode)LED,OUTPUT pin13
} LED
49
Simplify Arduino
3 :
: Digital Pins
Pin11213
Pin56 ) ( setup
.
Pin
50
Simplify Arduino
( ) void setup
{
;(pinMode)11,OUTPUT :
;(pinMode)12,OUTPUT
);(
;(pinMode)13,OUTPUT
;(pinMode)2,INPUT
verify
}
:
.
) (void loop
LED
{
;(digitalWrite)LED, HIGH
;(delay)1000 1000
;(delay)1000 1000
}
51
Simplify Arduino
.
:
;(digitalWrite)LED, HIGH
;(delay)1000
5HIGH
LED1777
millisecond
Nano-second Micro-Second
Low
1777 =.
52
Simplify Arduino
..... :
53
Simplify Arduino
:
() Push button
push button
.
54
Simplify Arduino
(:)2
Arduino uno
Breadboard
Push button
Led 10 mm
17
567
5v
2
.
Digital input,
5 HIGH
LOW
HIGH
Arduino IDE :
:
55
Simplify Arduino
// Example_2_Blinking_with_Switch
:
const int ledPin = 13;
const int buttonPin = 2;
int val;
void setup ( )
{
:
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
void loop()
{ :
val = digitalRead(buttonPin);
if (val == HIGH)
{
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
56
Simplify Arduino
:
Verify
,
Upload
......
ledPin Pin 13 :
buttonPin
;int ledPin = 13
;int buttunPin = 2 val
;int val = 0
pin 2
:pin 13
ledPin
, ()void setup
{
pin 2
;)pinMode(ledPin, OUTPUT
;)pinMode(inPin, INPUT
}
HIGH or LOW
57
Simplify Arduino
:
;)val = digitalRead(buttunPin
pin 2
val
) ( digitalRead
5=HIGH=LOW
)if (val == HIGH
{
;)digitalWrite(ledPin, HIGH
;)delay(1000
;)digitalWrite(ledPin, LOW
;)delay(1000
}
} ;)else {digitalWrite(ledPin, LOW
(if.else= .. ),
if
:
val
HIGH5
.
HIGH
58
Simplify Arduino
: 2
Push Button ON
OFF
59
Simplify Arduino
(:)3
Arduino uno
Breadboard
Led 5 mm
217
567
,2
push button
breadboard4
Pin-Headers
60
Simplify Arduino
:Arduino IDE
61
Simplify Arduino
//Example_3_On_Off_with_2_Switchs_1
void setup ( )
{
pinMode(ledPin, OUTPUT);
pinMode(inputPin1, INPUT);
pinMode(inputPin2, INPUT);
void loop ( )
{
if (digitalRead(inputPin1) == HIGH)
{digitalWrite(ledPin, LOW); }
{digitalWrite(ledPin, HIGH); }
62
Simplify Arduino
if else if
elseif .
3 :
2 ...
(^_^)
63
Simplify Arduino
//Example_3_On_Off_with_2_Switchs_2
const int ledPin= 13;
const int inputPin1 = 2;
const int inputPin2 = 3;
void setup ) (
{
pinMode(ledPin, OUTPUT);
pinMode(inputPin1, INPUT);
pinMode(inputPin2, INPUT);
}
void loop ) (
{
if (digitalRead(inputPin1) == HIGH)
{
digitalWrite(ledPin, HIGH);
delay(400);
digitalWrite(ledPin, LOW);
delay(400);
}
64
Simplify Arduino
( void setup )
{}
( void loop )
{}
;int name = value
;cons int name = value
const
;example: const int led = 13
;)pinMode (pin number, State pin
;(example1: pinMode)11,INPUT
INPUT or OUTPUT
;(example2: pinMode)led,OUTPUT
digitalWrite (pin number,
;)State pin (HIGH )1
(or LOW)0
;)example: digitalWrite(13,HIGH
;)digitalRead (pin number
pin
(5
;)example: digitalRead(4
3.8HIGH
65
Simplify Arduino
1.8
LOW)
;)delay (time :
;)example1: delay(100
;) example2: delay(1000
(.....).....
)if (the condition
}{..what to do :
)else if (another condition
==
}{what to do
=!
)else (last condition =>
}{.what to do =<
>
<
66
Simplify Arduino
32768 32768
2414744834648
http://www.arduino.cc/en/Reference/VariableDeclaration
67
Simplify Arduino
68
Simplify Arduino
69
Simplify Arduino
Analog Inputs/Outputs and Sensors
70
Simplify Arduino
,2
(1) HIGH (0) LOW
Analog Signals
((sensor ,
: Photo-
Resistor
AVO-meter..
71
Simplify Arduino
:, ,,,,, ,
...
Atmega 328-p Arduino
Uno3
()A0A5
1.5
TMP36LM35
()
..60(
)0.1....
72
Simplify Arduino
:TMP36, TMP35, LM35
.
:
-65.52.2
-5
-3GND
73
Simplify Arduino
:
-65AAA6.2
-565
-3 AVO
Meter
-1 :
TMP 35, TMP36, LM 35
5AAA 1.5
3
()
()
()
, AVO
74
Simplify Arduino
34
75
Simplify Arduino
:
Potentiometer
(
)analog input
76
Simplify Arduino
(:)1
Arduino Uno
Breadboard
led 5mm
567
317
:
3
177
277 ,
3
A0
77
Simplify Arduino
78
Simplify Arduino
//Example_4_Variable_Resistor_sensor
;const int sensorPin = A0
;const int ledPin = 13
;int sensorValue
( ) void setup
{
;)pinMode(ledPin, OUTPUT
}
( ) void loop
{
;)sensorValue = analogRead(sensorPin
;)digitalWrite(ledPin, HIGH
;)delay(sensorValue
;)digitalWrite(ledPin, LOW
;)delay(sensorValue
}
)analogRead(pin number
4.85
1024
Analog to digital converting
79
Simplify Arduino
A0 :
4.8 = 1
48 = 10
480 = 100
= 208.33
2 = 416.66
5 = 1024
sensorVlaue
;(sensorValue = analogRead(sensorPin
blinking led
.A0
()
),
light sensor
80
Simplify Arduino
: (
) Photo resistor as light sensor
81
Simplify Arduino
(:)5
Arduino Uno
Breadboard
led 5mm
560
82
Simplify Arduino
83
Simplify Arduino
//Example_5_Light_Sensor_led
;const int lightPin = A0
;const int ledPin = 9
;int lightLevel
) ( void setup
{
;)pinMode(ledPin, OUTPUT
}
) ( void loop
{
;)lightLevel = analogRead(lightPin
;)lightLevel = map(lightLevel, 0, 900, 0, 255
;)lightLevel = constrain(lightLevel, 0, 255
;)analogWrite(ledPin, lightLevel
}
,
.
84
Simplify Arduino
PWM
,
2 0
255 :
255 = 5 volt
128 = 2.5 volt
0 =0 volt
,3
1
2 ..
85
Simplify Arduino
() .
6()PWM
.
: PWM
86
Simplify Arduino
(
)66
PWM
:
// Example_6_fading_led_light
;const int ledPin = 11
;int i = 0
) (void setup
{
;)pinMode(ledPin, OUTPUT
}
)(void loop
{
)for (i = 0; i < 255; i++
{
;)analogWrite(ledPin, i
;)delay(10
}
)for (i = 255; i > 0; i--
{
;)analogWrite(ledPin, i
;)delay(10
}
}
..
87
Simplify Arduino
loop
counters
, :
) (i
i)analogWrite(ledPin,i
) . (i
88
Simplify Arduino
255
(i)(i)
(i)
;) delay(10
=50
;)delay(2020=2
89
Simplify Arduino
90
Simplify Arduino
91
Simplify Arduino
Computer interfacing with Arduino
92
Simplify Arduino
()lilypad, mini
computer interface
USB
,
Liliypad
FTDI interface
.
FTDI chip
serial interface
.
93
Simplify Arduino
94
Simplify Arduino
(:)7
Arduino Uno
Breadboard
TMP 36LM35
USB
95
Simplify Arduino
Verify
96
Simplify Arduino
// Example_7_Temprature_Sensor
int reading;
float voltage;
float temperatureC;
void setup( )
{ Serial.begin(9600); }
void loop ( )
reading = analogRead(sensorPin);
Serial.print(voltage);
Serial.println(" volts");
Serial.print(temperatureC);
delay(1000);
97
Simplify Arduino
Serial
Monitor:
98
Simplify Arduino
Tx
...
620)
: (-)
99
Simplify Arduino
;)Serial.begin(9600
USB
voltage temperatureC
float int
0.1
float .
;)reading = analogRead(sensorPin
reading sesnorPin
A0 .
6051
100
Simplify Arduino
;)Serial.print(voltage
Serial
voltage
CelsiusSerial.print
;)Serial.print(temperatureC
;)delay(1000
101
Simplify Arduino
:
,
led, .
10
102
Simplify Arduino
// Example_8_Light_Sensor_2
int photocellReading;
void setup(void)
{ Serial.begin(9600); }
void loop(void)
photocellReading = analogRead(photocellPin);
Serial.print(photocellReading);
delay(1000);
103
Simplify Arduino
Serial Monitor:
104
Simplify Arduino
Dim
Dark
Light
Bright Light
105
Simplify Arduino
106
Simplify Arduino
(:)9
Arduino Uno
led 5mm
230
Arduino IDE
107
Simplify Arduino
// Example_9_Computer_Interfacing
;int ledPin=13
;int value
)( void setup
;)Serial.begin(9600
;)pinMode(ledPin,OUTPUT
)( void loop
;)(value = Serial.read
serial
Monitor1 Send
...
108
Simplify Arduino
109
Simplify Arduino
;) (Serial.read
USB=value
,USB
value
if.. else if :
value == 1
value == 0
Serial communication
http://arduino.cc/en/Reference/serial
110
Simplify Arduino
111
Simplify Arduino
112
Simplify Arduino
The Motors
113
Simplify Arduino
.
:
, ,..
:
( )DC Servo Stepper
(1 Phase)3 Phase
DC Motor Servo Motor
.
114
Simplify Arduino
: DC
115
Simplify Arduino
(:)7
Arduino Uno
Breadboard
DC motor
2N2222PN2222
1N4001
5.5
USB
36
116
Simplify Arduino
117
Simplify Arduino
//Example_10_DC_Motor
int motorPin = 9 ;
int onTime = 2500 ;
int offTime = 1000 ;
void setup ) (
{pinMode(motorPin, OUTPUT); }
void loop ) (
{
analogWrite(motorPin,100);
delay(onTime);
digitalWrite(motorPin, LOW);
delay(offTime);
analogWrite(motorPin,190);
delay(onTime);
digitalWrite(motorPin, LOW);
delay(offTime);
analogWrite(motorPin,255);
delay(onTime);
digitalWrite(motorPin, LOW);
delay(offTime);
}
118
Simplify Arduino
119
Simplify Arduino
(:)7
Arduino Uno
Breadboard
DC motor
2N2222PN2222
1N4001
5.5
USB
36
120
Simplify Arduino
(:
)examples servo sweep
121
Simplify Arduino
//Example_11_Servo_Motor
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup()
{
myservo.attach(9);
}
void loop()
{
122
Simplify Arduino
123
Simplify Arduino
124
Simplify Arduino
Advanced Inputs/Outputs
125
Simplify Arduino
Input)( )output
Keypad
Led matrix
Relays
126
Simplify Arduino
Character LCD
Graphical LCD
Character LCD
Graphical LCD
127
Simplify Arduino
Character LCD
(
) :
Green 16x2 lcd
Blue 16x2 lcd
Grees 20x4 lcd
16x2()2()16
:
128
Simplify Arduino
: Character
LCD 16x2
:
16x2()
16copper Pin Headers 16 point
10
129
Simplify Arduino
Pin Headers
:
http://www.aaroncake.net/electronics/solder.htm
130
Simplify Arduino
5
:
pin headers
131
Simplify Arduino
16
132
Simplify Arduino
pin header
133
Simplify Arduino
5v
GND
134
Simplify Arduino
16
15
5 v
:
USB
:
:
135
Simplify Arduino
.
( )
3
:
136
Simplify Arduino
1
2
137
Simplify Arduino
,
.
5 RW
138
Simplify Arduino
4
7
6
8
139
Simplify Arduino
14
12
13,12,11
11,17,17
140
Simplify Arduino
FileExamplesLiquidCrystalHelloWorld
141
Simplify Arduino
//Example_12_LCD_16x2
#include <LiquidCrystal.h>
void setup()
lcd.begin(16, 2);
lcd.print("hello, world!");
void loop()
lcd.setCursor(0, 1);
lcd.print(millis()/1000);
142
Simplify Arduino
(^_^)
143
Simplify Arduino
Character LCD
20x4
144
Simplify Arduino
145
Simplify Arduino
LCD
http://arduino.cc/en/Tutorial/LiquidCrystal
character LCD
http://www.instructables.com/id/Controlling-a-character-LCD-with-an-Arduino
Nokia 2600Nokia 6100 LCD
http://www.instructables.com/id/How-To-Use-a-Nokia-Color-LCD/
146
Simplify Arduino
Keypad
...
,
(*) ()#
A,D,F4x34x4
4x4
3x4 4x4
147
Simplify Arduino
(2)
3x4 :
148
Simplify Arduino
()3x4
7) Pin-Headers (7
Arduino Uno
Breadboard
149
Simplify Arduino
28
#2
Arduino IDE
Character LCD
Arduino IDE
: :
http://www.arduino.cc/playground/Code/Keypad
150
Simplify Arduino
keypad.zip ,
libraries keypad:
151
Simplify Arduino
1
2
152
Simplify Arduino
:
//Example_13_Keypad_Input
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] =
{
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
byte rowPins[ROWS] = {5, 4, 3, 2};
byte colPins[COLS] = {8, 7, 6};
void loop)(
{
char key = keypad.getKey)(;
153
Simplify Arduino
:
http://www.arduino.cc/playground/Code/Keypad
:
http://www.instructables.com/id/Access-control-with-Arduino-Keypad-
4x4-Servo
37 :
http://www.instructables.com/id/Arduino-3-wire-Matrix-Keypad
()
( ) :
http://www.instructables.com/id/Password-Lock-with-Arduino
154
Simplify Arduino
Relay
155
Simplify Arduino
/,,
:
:, :
/
156
Simplify Arduino
157
Simplify Arduino
,
,
.
,,
.
110
220.,
5,
, 2
.
,,
158
Simplify Arduino
. ,,
.
,,:
--
()
.
.
.
.
159
Simplify Arduino
:
5 5
,
.
:
,
.
,
5%10
5(912)
1
2N2222
160
Simplify Arduino
161
Simplify Arduino
Relay Boards
162
Simplify Arduino
220
220
http://www.sparkfun.com/tutorials/119
: relay
http://muslimlead.com/?p=2121
163
Simplify Arduino
164
Simplify Arduino
165
Simplify Arduino
Arduino Shields
166
Simplify Arduino
Arduino uno
Arduino Mega
PCI
,
Motherboard
network interface
card
..
( Ethernet
)
,
:
167
Simplify Arduino
CAT5
168
Simplify Arduino
Xbee Shield
Ethernet ShieldWireless
100(
)
169
Simplify Arduino
)
RobotsCNC
170
Simplify Arduino
lcd
,
24(
2.5)
:
http://shieldlist.org
171
Simplify Arduino
172
Simplify Arduino
AVR ARM Cortex FPGA
173
Simplify Arduino
5002Ivrea
Microcontrollers,
.. Arduino
"
Massimo Banzi""
David
Cuartielles
Gianluca" Martino
Arduin of
Ivrea
600
Integrated Development
Environment
Development Boards
.
174
Simplify Arduino
Wiring Platform
Hardware Design
Wiring
Arduino C Processing
C++ .
5002
ATmega168
AVR Atmel
,
Arduino Serial V.1
arduino.cc
Source Codes
Arduino BoardsArduino IDE
.
175
Simplify Arduino
:
Arduino UNO , Arduino Mega, Arduino lilyPad, Arduino
Duemilanove, Arduino Fio
AVRAtmel
300,000.
5006
LeafLabs
The Maple
board ARM
Cortex
ARM
456.2 .
LeafLab AVR
ARM Cortex
Maple Board31 .
176
Simplify Arduino
ARM Cortex"
")Field-Programmable Gate Arrays (FPGA5060
Papilio Arduino
FPGA Arduino C
FPGA
Decoding
,
:600,
:
VHDLVerilog .
Papilio Arduino
Papilio
Arduino IDE
Arduino IDE
177
Simplify Arduino
.. ....
178
Simplify Arduino
()
3D printer
CNC machine
....
179
Simplify Arduino
Arduino workshops
Young Fab.Academy
128
http://fablab-egypt.com
https://www.facebook.com/fablab.egypt
180
Simplify Arduino
181
Simplify Arduino
182
Simplify Arduino
:
http://www.instructables.com/id/Arduino-Projects
http://www.oomlout.com
http://ladyada.net
http://bildr.org
http://hlt.media.mit.edu/?cat=5
http://circuit-projects.com/microcontroller
http://www.eeweb.com
http://www.lvl1.org
http://www.coolcircuit.com
http://www.instructables.com/id/Breadboard-How-To
http://blog.makezine.com/2009/12/11/arduino-
shields-open-source-hardwar/
183
Simplify Arduino
MATLAB
http://www.mathworks.com/academia/arduin
o-software/arduino-matlab.html
http://arduino.cc/playground/Interfacing/Matlab
:
http://fritzing.org/projects/
http://www.instructables.com/id/Arduino-Projects
http://www.ladyada.net/make/boarduino/index.html
http://www.ladyada.net/make/mshield/index.html
http://www.shapeoko.com/wiki/index.php/About
http://www.ladyada.net/make/monochron/index.html
http://www.ladyada.net/make/bedazzler/index.html
http://www.ladyada.net/make/mintyboost/index.html
http://dangerousprototypes.com/forum/viewtopic.php?f=56
&t=2892#p28410
http://www.ladyada.net/make/logshield/
http://www.wayneandlayne.com/projects/video-game-shield/
http://excamera.com/sphinx/gameduino/
http://dangerousprototypes.com/2012/03/24/arduino-voice-
control-with-easyvr-shield/
http://blog.minibloq.org/p/documentation.html
http://www.doctormonk.com/2011/09/arduino-solar-radio.html
http://j4mie.org/blog/how-to-make-a-physical-gmail-notifier/
http://blog.tinyenormous.com/2008/11/25/gmail-notifier-
project-for-dummies/
http://reprap.org/wiki/Arduino_Mega_Pololu_Shield
184
Simplify Arduino
:
30 Arduino Evil Genuis projects
Arduino.Internals
Arduino Projects to Save the World
Arduino robotics
Beginning Android ADK with Arduino
Environmental Monitoring Arduino
Getting Started with Arduino (Second Edition)
Shrinkify Your Arduino Projects -burn arduino to ATiny
(Video)
Make a mind-controlled arduino robot
Make_Magazine_Volume_25
Making Things Talk Using Sensors (Second Edition)
Making Things see hear and feel your world (Second Edition)
O'Reilly - Arduino Cookbook
O'Reilly-Make - Arduino Bots and Gadgets
Oreilly Verlag - Arduino Physical Computing
Practical Arduino Cool Projects For Open Source Hardware
Programming Interactivity
Programming Your Home Automate with Arduino, Android,
and Your Computer
The Art of Electronics 2nd edition Complete - Horowitz and
Hill
185