Professional Documents
Culture Documents
con Arduino
David/Taikson
Ingeniero Software Embebido
Twitter @TaiksonTexas
Mail david.melendez.cano@gmail.com
2/93
Kifo/Cirin/Infiltrandome
Auditor de seguridad
2/93
Disclaimer
2/93
Qu es Arduino?
Arduino es una
plataforma
OpenSource para
la creacin de
prototipos basada
en hardware
flexible y fcil de
usar.
2/93
Qu es Arduino?
2/93
Otras plataformas Hardware
2/93
Otras plataformas Hardware
2/93
Tipos de Arduino
Duemilanove
Uno
Mega
Nano
Lilypad
Mini
2/93
Leonardo
Arduino UNO Pines Digitales
Botn Reset
Puerto
USB ICSP
ATMega
2/93
Arduino Shields
2/93
Programar Arduino
Arduino tiene un
entorno de
desarrollo creado en
Java, por lo que es
multiplataforma.
El lenguaje que
utiliza est basado
en C.
2/93
A currar cabrones
WIFI: TALLER_ARDUINO
Clave WIFI: tallerarduino
Repositorio: ftp://192.168.1.1
Usuario: navajas
Clave: navajas
2/93
Programar Arduino
Men general
Accesos rpidos
Editor de texto
Consola
2/93
Programar Arduino
void setup()
- Esta parte se repite una sola vez.
- Podemos guardar datos de configuracin.
void loop()
- Es el programa principal.
- No se puede salir de este ciclo.
- Se repite una infinidad de veces hasta se
indique lo contrario.
2/93
Programar Arduino
Delimitadores: ;, {}
Comentarios: //, /* */
Cabeceras: #define, #include
Operadores aritmticos: +, -, *, /, %
Asignacin: =
Operadores de comparacin: ==, !=, <, >, <=, >=
Operadores Booleanos: &&, ||, !
Operadores de acceso a punteros: *, &
Operadores de bits: &, |, ^, ~, <<, >>
Operadores compuestos:
Incremento/decremento de variables: ++, --
Asignacin y operacin: +=, -=, *=, /=, &=, |=
2/93
Programar Arduino
Estructuras de control
Condicionales: if, if...else, switch case
Bucles: for, while, do... while
Bifurcaciones y saltos:
break, continue, return, goto
Constantes
HIGH / LOW: niveles alto y bajo en pines.
INPUT / OUTPUT: entrada o salida
true / false
Tipos de datos
void, boolean, char, unsigned char, byte, int, unsigned int, word, long,
unsigned long, float, double, string, array
2/93
Programar Arduino
Conversin entre tipos
char(), byte(), int(), word(), long(), float()
Utilidades
sizeof()
2/93
Programar Arduino
E/S Digital
pinMode(pin, modo)
digitalWrite(pin, valor)
int digitalRead(pin)
E/S Analgica
analogReference(tipo)
int analogRead(pin)
analogWrite(pin, valor)
E/S Avanzada
shiftOut(dataPin, clockPin, bitOrder, valor)
unsigned long pulseIn(pin, valor)
2/93
Programar Arduino
Tiempo
unsigned long millis()
unsigned long micros()
delay(ms)
delayMicroseconds(microsegundos)
Matemticas
min(x, y), max(x, y), abs(x), constrain(x, a, b), map(valor, fromLow,
fromHigh, toLow, toHigh), pow(base, exponente), sqrt(x)
Trigonometra
sin(rad), cos(rad), tan(rad)
2/93
Programar Arduino
Nmeros aleatorios
randomSeed(semilla), long random(mx), long random(mn, mx)
Bits y Bytes
lowByte(), highByte(), bitRead(), bitWrite(), bitSet(), bitClear(), bit()
Interrupciones externas
attachInterrupt(interrupcin, funcin, modo)
detachInterrupt(interrupcin)
Interrupciones
interrupts(), noInterrupts()
2/93
Programar Arduino
Comunicacin por puerto serie
Las funciones de manejo del puerto serie deben ir precedidas de
"Serial." aunque no necesitan ninguna declaracin en la cabecera del
programa.
2/93
A currar cabrones
2/93
Y ahora que sabis programar
2/93
Radiofrecuencia
2/93
JUGUETITOS
2/93
JUGUETITOS
2/93
JUGUETITOS
2/93
JUGUETITOS
2/93
JUGUETITOS
2/93
JUGUETITOS
2/93
Arduino+rf
2/93
Mi garaje
2/93
Muy bonito pero mi garaje no lo
abres
2/93
RollJam
2/93
RollJam
2/93
Preguntas
2/93
Muchas gracias
2/93
BONUS TRACK
2/93
Bonus Track
2/93
Bonus Track
2/93
Bonus Track
2/93
Bonus Track
2/93
GoodBye
2/93