Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso Arduino Cefire Sesi - N 1 PDF
Curso Arduino Cefire Sesi - N 1 PDF
Sesin 1
CEFIRE
INDICE
Sesin 1 (5 horas)
IES JAUME I
Pgina 1
Plataforma ARDUINO
Sesin 1
CEFIRE
Por qu entonces utilizar Arduino? Qu caractersticas tiene Arduino que le dan ese plus
en atractivo? Veamos:
Asequible - Las placas Arduino son ms asequibles comparadas con otras plataformas de
microcontroladores. La versin estndar (Arduino UNO) ronda los 22 + IVA.
Multi-Plataforma - El software de Arduino funciona en los sistemas operativos Windows,
Macintosh OSX y Linux. La mayora de los entornos para microcontroladores estn limitados a
Windows.
Entorno de programacin simple y directo - El entorno de programacin de Arduino es
fcil de usar para principiantes y lo suficientemente flexible para los usuarios avanzados.
Arduino est basado en el entorno de programacin Processing, un derivado de Java pero de
cmoda recepcin de los que lleguen de C o C++.
Software ampliable y de cdigo abierto- El software Arduino esta publicado bajo una
licencia libre y preparado para poder ser ampliado por programadores experimentados. El
lenguaje puede ampliarse a travs de libreras de C.
Hardware ampliable y de Cdigo abierto - Arduino est basado en los microcontroladores
ATMEL168, ATMEL328, ATMEL1280 y ATMEL2560. Los esquemas de los mdulos estn
publicados bajo licencia Creative Commons, por lo que diseadores de circuitos con
experiencia pueden hacer su propia versin del mdulo, amplindolo u optimizndolo. Incluso
usuarios relativamente inexpertos pueden construir su versin adaptndola a sus necesidades
particulares.
El modelo que utilizaremos en este curso y que en el siguiente punto, describiremos en
profundidad, es el ARDUINO UNO (22 www.bricogeek.com)
IES JAUME I
Pgina 2
Plataforma ARDUINO
Sesin 1
CEFIRE
Adems del modelo ARDUINO UNO, que usaremos en este curso, existen multitud de
modelos que se adaptan, continuamente, a situaciones concretas o simplemente que
integran algn elemento que queremos usar como por ejemplo un modem bluetooth, una
conexin wifi o Ethernet o simplemente queremos que sea muy pequeo o que consuma
poco (consultar http://arduino.cc/en/Main/Hardware ). A fecha de realizacin de esta
documentacin, algunos de los modelos Arduino disponibles ms conocidos son:
1.
- Arduino MEGA
- Arduino Bluetooth
- Arduino Pro
IES JAUME I
Pgina 3
Plataforma ARDUINO
Sesin 1
CEFIRE
IES JAUME I
Pgina 4
Plataforma ARDUINO
Sesin 1
CEFIRE
IES JAUME I
Pgina 5
Plataforma ARDUINO
Sesin 1
CEFIRE
IES JAUME I
Pgina 6
Plataforma ARDUINO
Sesin 1
CEFIRE
1.- Alimentacin
Podemos utilizar:
IES JAUME I
Pgina 7
Plataforma ARDUINO
Sesin 1
CEFIRE
IES JAUME I
Pgina 8
Plataforma ARDUINO
Sesin 1
CEFIRE
Esta misma funcin se utiliza para escribir un estado digital alto o bajo en un pin de
salida y para activar la resistencia de pull-up en un pin de entrada.
3.- Entradas analgicas
Arduino UNO dispone de 6 pines (A0-A5) de
entradas analgicas con una resolucin de 10 bits. Por
tanto podremos leer el valor de tensin del pin y
obtener valores entre 0 y 1023. Por defecto la tensin
de referencia del conversor ADC es de 5V por lo que cuando
tengamos 5V en el pin analgico y hagamos una lectura,
obtendremos el valor mximo de 1023. Cuando la tensin sea 0V,
obtendremos 0 en la lectura. La tensin de referencia se puede
ajustar tambin mediante software (analogReference()) o
utilizando una tensin externa mediante el pin AREF.
Pin AREF
Los 6 pines pueden usarse, sin perder funcionalidad, como cualquier pin de
entrada/salida digital de propsito general (GPIO) (0-13). Los pines A4 y A5 se usan
para las comunicaciones I2C como lneas SDA y SCL respectivamente mediante la
librera <wire.h>. Las entradas analgicas A0-A5 no necesitan ser configuradas como
entradas para ser usadas como entradas analgicas. Si es necesario configurarlas como
entradas o salidas digitales, en caso de tratarlas como GPIO. En este caso, nos
IES JAUME I
Pgina 9
Plataforma ARDUINO
Sesin 1
CEFIRE
referiremos a ellas como GPIO desde el pin 14 al 19. Es decir si en nuestro proyecto
agotamos los GPIO digitales, podremos usar los analgicos. Por ejemplo:
pinMode (14, OUTPUT);
digitalWrite (14, HIGH); // activa la resistencia pullup en el pin analgico 0
Los pines analgicos, como vemos, tambin tienen resistencias pullup, las
cuales funcionan igual que en los pines digitales.
4.- Salidas analgicas (PWM)
Como hemos comentado anteriormente, algunos GPIO digitales pueden actuar como
salidas PWM o salidas moduladas en amplitud de pulso. Se trata de los pines 3, 5, 6, 9,10 i 11.
Para escribir un valor analgico en estos pines, los configuraremos primero como
salidas y despus usaremos la funcin analogWrite(num_pin, valor);
donde valor es una variable entera de 1 byte que tomar valores desde 0 a 255.
Cuando escribimos 0, en el pin tendremos 0V. Si escribimos 255, en el pin tendremos 5V
IES JAUME I
Pgina 10
Plataforma ARDUINO
Sesin 1
CEFIRE
Incluso puedes descargar cualquier versin anterior desde la 0001 hasta la 0023, que
fue la antecesora de la versin, que a fecha de realizacin de esta documentacin, es hoy la
definitiva, la 1.0. En el apartado release notes, podemos encontrar las diferencias que se han
ido introduciendo en cada versin. El cdigo fuente del IDE est hospedado en GitHub.com.
Click!
IES JAUME I
Pgina 11
Plataforma ARDUINO
Sesin 1
CEFIRE
IES JAUME I
Pgina 12
Plataforma ARDUINO
Sesin 1
CEFIRE
Si consultamos las propiedades de este nuevo puerto COM podemos observar que
trabaja con un BaudRate de 9600 bps, con 8 bits de datos, sin paridad ni control de flujo y con
un bit de parada. Ahora ya podemos ejecutar Arduino.exe y lanzar el IDE de Arduino, conectar
la placa al ordenador y listo.
IES JAUME I
Pgina 13
Plataforma ARDUINO
Sesin 1
CEFIRE
rea de trabajo
rea de
notificaciones
IES JAUME I
Pgina 14
Plataforma ARDUINO
Sesin 1
CEFIRE
a) Barra de mens
En la barra de mens observamos, en la parte superior, el nombre del sketch en el que
estamos trabajando y la versin del IDE. Despus encontramos los siguientes mens:
Men File:
a) New: Crear un sketch nuevo.
b) Open: Abrir un sketch ya creado. Por
defecto, localiza el ltimo sketch con el que
se trabaj.
c) Sketchbook: Nos da la posibilidad de abrir
cualquier sketch guardado en la carpeta
Arduino de la carpeta Documentos de
nuestro PC.
d) Examples: Acceso a todos los ejemplos
incluidos en el IDE de Arduino. Los
ejemplos los busca en la carpeta
examples y libraries, de la carpeta
Arduino donde tenemos guardado el IDE.
e) Close: Cierra el sketch actual y el IDE.
f) Save: Guardar con el mismo nombre que tiene, el sketch con el que trabajamos
g) Save As: Guardamos el sketch en el que trabajamos con el nombre que queramos. El
IDE de Arduino, crear una carpeta nueva con el nombre del sketch que hayamos
elegido, en caso de no existir.
h) Upload: Compila el Sketch en el que trabajamos y en caso de no tener errores y la
tarjeta Arduino correctamente conectada, enva el ejecutable al microcontrolador de
Arduino.
i) Upload Using Programmer: Si queremos utilizar un programador externo (por
ejemplo un AVR-ISP STK500 o un programador paralelo) podemos cargar un sketch en
la placa Arduino sin necesidad de un gestor de arranque (bootloader). Nos permitir,
esta opcin, utilizar el total de la memoria disponible en el chip de la Arduino y no
tendremos el retraso causado por el gestor de arranque cada vez que arranque la
placa.
j) Page setup: Opciones de configuracin de pgina
k) Print: Opciones de impresin.
l) Preferences: podemos cambiar algunas opciones de nuestro IDE desde este men o
modificando directamente el archivo Preferences.txt. Algunas de las ms importantes
son, asociar los archivos *.ino a nuestro IDE, transformar automticamente los
archivos antiguos de Arduino (*.pde) a los nuevos (*.ino) o canviar la localizacin de
nuestro Sketchbook
m) Quit: Salir del IDE.
IES JAUME I
Pgina 15
Plataforma ARDUINO
Sesin 1
CEFIRE
Men Edit:
Las opciones son casi todas comunes a las de cualquier aplicacin que se
ejecute en Windows y que disponga del men Edit. Las que no son tan
habituales son:
a) Copy for forum: Copia al portapapeles
de Windows, el cdigo completo del
sketch en el que estamos trabajando
pero conservando el formato para
poder pegarlo en foros
b) Copy as HTML: Copia al portapapeles
de Windows, el cdigo completo del
sketch en el que estamos trabajando
pero conservando el formato para
poder pegarlo en la edicin de pginas
web
c) Comment/Uncomment: Previa seleccin de una o varias lneas de nuestro
cdigo, con esta opcin podemos comentar la lnea (inserta // al principio) y el
compilador no las interpretar. Si seleccionamos una lnea ya comentada, esta
opcin las descomentar.
d) Increase Indent:
Seleccionamos una o varias lneas y esta opcin introduce a todas, un
tabulador.
e) Decrase Indent:
Seleccionamos una o varias lneas y esta opcin elimina a todas, un tabulador.
Men Sketch:
a)
b)
IES JAUME I
Pgina 16
Plataforma ARDUINO
Sesin 1
CEFIRE
Men Tools:
a) Auto Format: Establece
adecuadamente las
tabulaciones para nuestro
sketch
b) Archive Sketch: Comprime
todos los sketch abiertos en el
IDE y los guarda por defecto en
la carpeta Arduino de la carpeta documentos de nuestro PC. Crea un nico
archivo *.zip
c) Fix Encoding & Reload: Compila y carga el sketch en el que estamos
trabajando, descartando todos los cambios efectuados desde la ltima vez que
se guard.
d) Serial Monitor: Abre un sistema de monitorizacin que nos permite visualizar
datos enviados por el microcontrolador o enviarlos al microcontrolador. En el
ltimo punto de este captulo, haremos una descripcin de esta importante
herramienta.
e) Board: Escogemos el tipo de placa Arduino con la que estamos trabajando.
f) Serial Port: Escogemos el puerto donde tenemos conectado la placa Arduino.
g) Programmer: Escogemos el tipo de programador en caso de que no usar la
propia placa Arduino como programador.
h) Burn Bootloader: Nos da la posibilidad de grabar el bootloader de Arduino en
un microcontrolador para poder usar el IDE de Arduino.
Men Help:
a) Getting Started: Abre
la Gua de Inicio del
sitio web de Arduino.
Esta gua est guardada
en el propio IDE de
Arduino. No necesita
conexin a internet.
b) Environment: Abre la
guia del IDE de Arduino.
c) Troubleshooting: Abre la guia de resolucin de problemas.
d) Reference: Abre la guia de referencias del lenguaje utilizado por Arduino.
e) Find in Reference: Bsqueda de algn trmino en la gua de referencias.
f) Frequently Asked Questions: Abre la gua de preguntas ms frecuentes.
g) Visit Arduino.cc: Conecta a travs de internet con el sitio oficial de Arduino
que es http://arduino.cc
IES JAUME I
Pgina 17
Plataforma ARDUINO
Sesin 1
CEFIRE
Open
New
Upload
Save
Serial Monitor
b) rea de trabajo
El rea de trabajo es la zona editable del IDE de Arduino donde
escribiremos nuestro cdigo para posteriormente, compilarlo y transferirlo a la
placa. En el entorno Arduino podemos tener tantas funciones como queramos
(definidas por el usuario) pero como mnimo tendremos dos: setup() y loop().
IES JAUME I
Pgina 18
Plataforma ARDUINO
c)
Sesin 1
CEFIRE
rea de notificaciones
El rea de notificaciones es la zona del IDE de Arduino donde el
compilador nos dar informacin sobre posibles errores, qu placa tenemos
conectada y a qu puerto. Tambin nos indica en que lnea tenemos el cursor
dentro del rea de trabajo.
Ahora
conectamos
IES JAUME I
Pgina 19
Plataforma ARDUINO
Sesin 1
CEFIRE
nuestra placa Arduino al puerto USB de nuestro ordenador. En el men Tools Board
elegimos nuestro modelo de Arduino:
Funcin Setup()
Se ejecuta una
vez
Funcin loop()
Se ejecuta
indefinidamente
IES JAUME I
Pgina 20
Plataforma ARDUINO
Sesin 1
CEFIRE
IES JAUME I
Pgina 21
Plataforma ARDUINO
Sesin 1
CEFIRE
Configuracin
c) Hay que tener mucho cuidado con los tipos de datos de las variables que utilizamos y
con las conversiones que el compilador realiza de forma automtica. Sobre todo hay
que tener en cuenta que slo podemos enviar desde el monitor al microcontrolador,
caracteres.
A continuacin vamos a modificar el sketch blink para poder interactuar con
nuestra placa Arduino utilizando, Serial Monitor. Diferenciaremos dos casos:
a) Monitorizar datos enviados desde el microcontrolador de la placa Arduino (ya sean
mensajes de texto o variables).
b) Enviar datos desde nuestro PC al microcontrolador de la placa Arduino.
IES JAUME I
Pgina 22
Plataforma ARDUINO
Sesin 1
CEFIRE
IES JAUME I
Pgina 23
Plataforma ARDUINO
Sesin 1
CEFIRE
IES JAUME I
Pgina 24