ARDUINO CHEAT SHEET
For more information visit: http://arduino.cc/en/Reference/
Structure
/* Each Arduino sketch must contain the
following two functions. */
void setup()
{
/* this code runs once at the beginning of
the code execution. */
void loop()
{
/* this code runs repeatedly over and over
as long as the board is powered. */
Comments
// this is a single line
/* this is
a multiline */
Setup
pinMode(pin, [INPUT \ OUTPUT \ INPUT_PULLUP]);
/* Sets the mode of the digital I/O pin.
It can be set as an input, output, or an
input with an internal pull-up resistor.
*/
Digital I/O
digitalWrite(pin, val);
/* val = HIGH or LOW write a HIGH or a LOW
value to a digital pin. */
int var = digitalRead(pin);
/* Reads the value from a specified digital
pin, either HIGH or LOW. */
Analog I/O
analogWrite(pin, val);
/* Writes an analog value to a pin.
val = integer value from 0 to 255 */
int var = analogRead(pin);
/* Reads the value from the specified
analog pin. */
Advanced I/O
tone(pin, freq);
/* Generates a square wave of the specified
frequency to a pin. Pin must be one of the
PWM (~) pins. */
tone(pin, freq, duration);
/* Generates a square wave of the specified
frequency to a pin for a duration in
milliseconds. Pin must be one of the PWM (~)
pins. */
noTone(pin);
// Turns off the tone on the pin.
Control Structures
if(condition)
{
Time
delay(time_ms);
}
else
{
delayMicroseconds(time_us);
// if condition is TRUE, do something here
// otherwise, do this
for(initialization; condition; increment)
{
// do this
/* The for statement is used to repeat
a block of statements enclosed in curly
braces. An increment counter is usually
used to increment and terminate the loop.
*/
/* Pauses the program for the amount of time
(in milliseconds). */
/* Pauses the program for the amount of time
(in microseconds). */
millis();
/* Returns the number of milliseconds since
the board began running the current program.
max: 4,294,967,295 */
micros();
/* Returns the number of microseconds since
the board began running the current program.
max: 4,294,967,295 */
Data Types
void
//
boolean //
char
//
byte
//
int
//
long
/*
float
RedBoard:
nothing is returned
0, 1, false, true
8 bits: ASCII character
8 bits: 0 to 255, unsigned
16 bits: 32,768 to 32,767, signed
32 bits: 2,147,483,648
to 2,147,483,647, signed */
// 32 bits, signed decimal
Power In
USB to Computer
Reset
Constants
HIGH \ LOW
INPUT \ OUTPUT
true \ false
Mathematical Operators
= // assignment
+ // addition
- // subtraction
* // multiplication
/ // division
% // modulus
Logical Operators
== // boolean equal to
!= // not equal to
< // less than
> // greater than
<= // less than or equal to
>= // greater than or equal to
&& // Boolean AND
|| // Boolean OR
! // Boolean NOT
Bitwise Operators
& // bitwise AND
| // bitwise OR
^ // bitwise XOR
~ // bitwise INVERT
var << n // bitwise shift left by n bits
var >> n // bitwise shift right by n bits
SCL/SDA
(I2C Bus)
Power
5V / 3.3 / GND
Digital I/O
PWM(3,5,6,9,10,11)
Analog
Inputs
ATmega328
Microcontroller
LilyPad ProtoSnap Simple:
RGB LED
Switch Button
Vibe Motor
LEDs
(Light Emitting Diodes)
Libraries
#include <libraryname.h>
/* this provides access to special
additional functions for things such as
servo motors, SD card, wifi, or bluetooth.
*/
ATmega328
Microcontroller
Buzzer/
Speaker
Light
Sensor
Temperature
Sensor