0% encontró este documento útil (0 votos)
34 vistas41 páginas

Guía Básica de Arduino para Principiantes

El documento es una introducción a Arduino, que cubre aspectos fundamentales del hardware y software, así como la filosofía de la electrónica libre. Se detallan características del Arduino UNO y Teensy USB, el lenguaje de programación utilizado, y ejemplos de control de flujo y manejo de pines. Además, se enfatiza la importancia de la comunidad activa y el acceso a recursos para el aprendizaje y desarrollo de proyectos.

Cargado por

gjarvio67
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas41 páginas

Guía Básica de Arduino para Principiantes

El documento es una introducción a Arduino, que cubre aspectos fundamentales del hardware y software, así como la filosofía de la electrónica libre. Se detallan características del Arduino UNO y Teensy USB, el lenguaje de programación utilizado, y ejemplos de control de flujo y manejo de pines. Además, se enfatiza la importancia de la comunidad activa y el acceso a recursos para el aprendizaje y desarrollo de proyectos.

Cargado por

gjarvio67
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción a Arduino

Federico Davoine, Gabriel Eirea

Taller de Electrónica Libre, Instituto de Ingeniería Eléctrica

10 de abril de 2013

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 1 / 39


Esquema de la presentación

1 Introducción

2 Hardware

3 Software
Introducción
Variables
Control de ujo
Manejo de pines

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 2 / 39


Esquema de la presentación

1 Introducción

2 Hardware

3 Software
Introducción
Variables
Control de ujo
Manejo de pines

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 3 / 39


¾Qué es Arduino?

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 4 / 39


Arduino Uno

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 5 / 39


Filosofía: Electrónica Libre

Basada en el software libre. Permite:

Estudiar el hardware para entender cómo funciona


Hacer modicaciones al hardware
Poder compartir esas modicaciones con la comunidad

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 6 / 39


Filosofía: Electrónica Libre

Basada en el software libre. Permite:

Estudiar el hardware para entender cómo funciona


Hacer modicaciones al hardware
Poder compartir esas modicaciones con la comunidad

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 6 / 39


Filosofía: Electrónica Libre

Basada en el software libre. Permite:

Estudiar el hardware para entender cómo funciona


Hacer modicaciones al hardware
Poder compartir esas modicaciones con la comunidad

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 6 / 39


Filosofía: Electrónica Libre

Licencias de Arduino:
Diseños CAD de las placas bajo licencia Creative Commons
Attribution Share-Alike
Software del entorno de desarrollo bajo licencia GPL
Librerías de C/C++ para el microcontrolador liberadas bajo licencia
LGPL

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 7 / 39


Sitio web

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 8 / 39


Filosofía: Electrónica Libre

Consecuencias:

Comunidad activa de usuarios y desarrolladores (foros, ejemplos,


tutoriales, etc)
Gran cantidad de software y hardware disponible para autoconstruir
Precios bajos

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 9 / 39


Teensy USB

Teensyduino: permite usar el software de Arduino en Teensy

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 10 / 39


Esquema de la presentación

1 Introducción

2 Hardware

3 Software
Introducción
Variables
Control de ujo
Manejo de pines

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 11 / 39


Características (Arduino UNO)
Microcontrolador: ATmega328 (8 bits)

Alimentación via USB (5 V) o independiente (7-12 V)

14 pines de entrada/salida (I/O) digitales (6 con Pulse Width


Modulation: PWM)

Corriente máxima por pin I/O: 40 mA

6 pines de entrada analógica

Permite comunicación serial

Memoria ash: 32 KB

Frecuencia del reloj: 16 MHz


TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 12 / 39
Placa (Arduino UNO)

M. Margolis, Arduino Cookbook, O'Reilly Media 2011.

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 13 / 39


Características (Teensy USB 2.0)
Microcontrolador: ATmega32U4 (8 bits)

Alimentación via USB (5 V)

25 pines de entrada/salida (I/O) digitales (7 con Pulse Width


Modulation: PWM)

Corriente máxima por pin I/O: 40 mA

12 pines de entrada analógica

Permite comunicación serial UART, I2C y SPI

Memoria ash: 32 KB

Frecuencia del reloj: 16 MHz


TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 14 / 39
Placa (Teensy USB 2.0)

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 15 / 39


Esquema de la presentación

1 Introducción

2 Hardware

3 Software
Introducción
Variables
Control de ujo
Manejo de pines

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 16 / 39


Lenguaje de programación

Basado en Processing y similar a C++

Sketches = Código fuente

Lenguaje compilado

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 17 / 39


Entorno de desarrollo: Arduino IDE

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 18 / 39


Proceso
Código fuente

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 19 / 39


Proceso
Código fuente -> Compilación (verify)

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 20 / 39


Proceso
Código fuente -> Compilación (verify) -> Programarlo en la placa (upload)

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 21 / 39


Estructura de un archivo

declaracion de variables ;

void setup ()
{
seteo de pines ;
inicializacion de la comunicacion serial ;
}

void loop ()
{
lo que voy a hacer todo el tiempo ;
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 22 / 39


Variables
Tipos

byte: Enteros (1 byte): -128 a 127


int: Enteros (2 bytes): -32.768 a 32767
long: Enteros (4 bytes)
float, double: Números en punto otante (4 bytes)
boolean: Verdadero (TRUE) o Falso (FALSE)
char: Un solo caracter
String: Listas de caracteres

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 23 / 39


Variables
Denición

int nombreVariable1 = 0

float nombreVariable2 = 1.24

int nombreArray [] = { valor0 , valor1 , valor2 , ...}

int nombreArray2 [5]

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 24 / 39


½No olvidar  ; al nal de cada sentencia!

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 25 / 39


Variables
Denición

int nombreVariable1 = 0;

float nombreVariable2 = 1.24;

int nombreArray [] = { valor0 , valor1 , valor2 , ...};

int nombreArray2 [5];

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 26 / 39


Comentarios

/* Este es un
bloque de
comentarios
*/

// En cambio , este es un comentario de linea

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 27 / 39


Comparación

A == B : A igual a B
A != B : A distinto de B
A < B : A menor que B
A <= B : A menor o igual a B
A > B : A mayor que B
A >= B : A mayor o igual a B

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 28 / 39


Operadores lógicos

A && B : A AND B
A || B : A OR B
!A : NOT A

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 29 / 39


Control de ujo
if

if ( condicion ) {
hacer algo ;
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 30 / 39


Control de ujo
if

if ( condicion ) {
hacer algo ;
}

if ( condicion ) {
hacer algo ;
} else {
hacer otra cosa ;
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 31 / 39


Control de ujo
if

if ( condicion ) {
hacer algo ;
}

if ( condicion ) {
hacer algo ;
} else {
hacer otra cosa ;
}

// Ejemplo :
if ( buttonPushCounter % 4 == 0) {
digitalWrite ( ledPin , HIGH ) ;
}
else {
digitalWrite ( ledPin , LOW ) ;
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 32 / 39


Control de ujo
while

while ( condicion ) {
hacer algo ;
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 33 / 39


Control de ujo
while

while ( condicion ) {
hacer algo ;
}

// Ejemplo :
int var = 0;
while ( var < 200) {
// hacer algo repetitivamente 200 veces
var ++;
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 34 / 39


Control de ujo
for

for ( inicializacion ; condicion ; incremento ) {


hacer algo ;
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 35 / 39


Control de ujo
for

for ( inicializacion ; condicion ; incremento ) {


hacer algo ;
}

// Ejemplo : atenuar un LED usando un pin con PWM


int PWMpin = 10; // hay que poner una resistencia de 470 Ohm
en serie

void setup () {
// no es necesario configurar nada
}
void loop () {
for ( int i =0; i <= 255; i ++) {
analogWrite ( PWMpin , i ) ;
delay (10) ;
}
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 36 / 39


Manejo de pines digitales

Los pines digitales (pin 0 a 13) pueden tomar sólo 2 valores: 0 V (LOW) o
+5 V (HIGH)1 .
int pinEntrada = 10;
int pinSalida = 13;

void setup () {
pinMode ( pinEntrada , INPUT ) ;
pinMode ( pinSalida , OUTPUT ) ;
}

void loop () {
digitalWrite ( pinSalida , HIGH ) ; // pone el pin 13 en +5 V
valor = digitalRead ( pinEntrada ) ; // lee el valor del
pin 10
}

1
Excepto los pines con PWM
TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 37 / 39
Manejo de pines analógicos

Los pines analógicos (A0 a A5) sólo sirven para leer señales, no para
escribir.
La Arduino tiene un convertidor Analógico/Digital (A/D), de 10 bits, que
retorna enteros entre 0 y 1023.
Para leer el valor en el pin A2, se debe usar la función analogRead():
int valor ; // variable que va a almacenar lo que lee un pin

void setup () {
// no es necesario inicializar nada
}

void loop () {
valor = analogRead ( A2 ) ; // valor es un int entre 0 y 1023
}

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 38 / 39


Fin

TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de abril de 2013 39 / 39

También podría gustarte