Este documento introduce Arduino, una plataforma de electrónica abierta para la creación de prototipos. Explica que Arduino está basado en una tarjeta con un microcontrolador que permite conectar sensores, actuadores y otros elementos. Describe diferentes modelos de Arduino como UNO, NANO y MEGA. Además, explica cómo programar Arduino usando su entorno de desarrollo de código abierto y el lenguaje de programación basado en C/C++.
2. ¿Qué es Arduino?
Arduino es una
plataforma de
electrónica abierta
para la creación de
prototipos basada
en hardware
flexible y fácil de
usar.
3. ¿Qué es Arduino?
Está Basado en una
tarjeta con un
microcontrolador que
permite conectar
sensores, actuadores y
otros elementos
mediante sus entradas y
salidas, analógicas y
digitales.
5. Arduino UNO
Microcontrolador: ATMega328
Voltaje de operación: 5V DC
Voltaje de alimentación: 7 – 12V DC
Pines digitales I/O: 14 (6 Con PWM)
(3, 5, 6, 9, 10 y 11)
Pines entrada analógica: 6
Interfaz de programación: USB
Frecuencia del Reloj: 16 Mhz
6. ¿Cómo se programa Arduino?
Arduino cuenta con un
entorno de desarrollo
nativo creado en Java,
por lo que es
multiplataforma.
El lenguaje que utiliza es propio de Arduino y está
basado en C.
7. Software Arduino
Nos podemos descargar el entorno de
programación desde:
– http://www.arduino.cc/en/Main/Software
– http://www.arduino.org/downloads
Al conectar el Arduino al Pc se tienen que
instalar los Drivers del mismo.
8. Entorno de Programación
Primero debemos de
asegurarnos en nuestra
IDE que vamos a
programar con el Arduino
que tenemos.
En este caso Arduino
UNO
9. Entorno de Programación
Después comprobaremos
que el puerto en el que
estamos trabajando es en
el que tenemos
conectado nuestro
Arduino
En este caso COM4
10. Entorno de Programación
Otro elemento muy útil
que encontramos en el
menú de herramientas es
el monitor serie, que nos
servirá para recibir
información del Arduino.
11. Entorno de Programación
En lo botones de acceso
rápido tenemos:
- √ para verificar el programa
- → para cargar el programa
- para crear uno nuevo
- para cargar
- para salvar
12. Estructura de
programación
Definimos variables
Definimos configuración.
Esto solo se ejecuta una
vez se encierra entre { }
Definimos programa. Esto
solo se ejecuta de manera
cíclica se encierra entre { }
Todo lo que se ponga entre */
….*/
y en un línea después de //
no se ejecuta.
13. Instrucciones básicas.
Tipos de datos.
boolean (Un byte). Puede tomar dos valores: “true” o “false”.
Byte. Almacena un valor numérico de 8 bits sin decimales. Tienen un rango entre 0
y 255.
Int (Dos bytes).Almacenan valores numéricos de 16 bits sin decimales
comprendidos en el rango 32,767 hasta -32,768.
Long (Cuatro bytes). Se refiere a números enteros (tipo 32 bits) sin decimales que
se encuentran dentro del rango -2147483648 a 2147483647.
float (4 bites). Se aplica a los números con decimales.
arrays. Un array es un conjunto de datos (de un tipo determinado) a los que se
accede con un número índice. int miArray[] = {valor0, valor1, valor2...}
14. if (si condicional)
Ejecuta una serie de instrucciones si cumple una
condición.
Ejemplos:
Instrucciones básicas.
Control de flujo
15. if… else (si….. sino ..)
Si no se cumple la condición del if, ejecuta las
instrucciones a continuación del else.
Instrucciones básicas.
Control de flujo
16. Instrucciones básicas.
Opoeradores
Operadores de comparación
== (igual a)
!= (distinto de)
< (menor que)
> (mayor que)
<= (menor o igual que)
>= (menor o igual que)
Se puede poner más de una
condición, asociadas con
operadores lógicos.
Operadores lógicos.
&& (Y)
|| (O)
! (NO)
17. Instrucciones básicas.
Repetición
for Repite un bloque de
instrucciones un número
determinado de veces.
While Ejecuta un bloque de
instrucciones mientras se
cumple una condición.
do… while Igual que el while con la
salvedad de que la condición se
comprueba al final del bucle, por lo que el
bucle siempre se ejecutará al menos una
vez.
18. Instrucciones básicas.
Control del tiempo
delay(ms)
Detiene la ejecución del programa la
cantidad de tiempo en ms que se indica en
la propia instrucción.
millis()
Devuelve el número de milisegundos
transcurrido desde el inicio del programa en
Arduino hasta el momento actual. Es muy
útil para medir tiempos.
19. Instrucciones básicas.
E/S Digitales
pinMode(pin, mode)
Esta instrucción es utilizada en la parte de configuración setup () y sirve
para configurar el modo de trabajo de un PIN digital.
– INPUT (entrada)
– OUTPUT (salida).
– INPUT_PULLUP. Entrada con las resistencias de pull up activadas.
digitalRead(pin)
Lee el valor de un pin (definido como digital) dando un resultado HIGH
(alto) o LOW (bajo).
digitalWrite(pin, value)
Envía al ´pin´ definido previamente como OUTPUT el valor HIGH o
LOW (poniendo en 1 o 0 la salida).
20. Instrucciones básicas.
E/S Analogicas
analogRead(pin)
Lee el valor de una entrada analógica con una resolución de 10
bits. El rango de valor que podemos leer oscila de 0 a 1023.
No necesitan ser declarados como INPUT u OUPUT ya que son
siempre INPUT´s.
analogWrite(pin, value). PWM.
Esta instrucción sirve para escribir un pseudo-valor analógico
utilizando el procedimiento de modulación por ancho de pulso
(PWM) a uno de los pin´s de Arduino marcados como “pin PWM”.
La Modulación por Ancho de Pulso (PWM = Pulse Width
Modulation) es una técnica para simular un nivel de tensión
analógico con una señal digital.
El valor podrá ajustarse entre 0(0 V) y 255(5 V)
22. ¿Qué podemos hacer con Arduino?
• Control de movimiento de actuadores
• Control de luces
• Control a distancia
• Etc.
23. 1ª Actividad
Hacer que un LED se encienda y se apague
Vamos a hacer que un LED se mantenga
encendido 1 seg y después este apagado
durante 0,5 seg.
– Materiales:
LED
Resistencia 220Ω
24. Circuito eléctrico
Para este ejemplo podemos tomar
cualquiera de las salidas digitales del
Arduino 0-13.
Colocaremos una resistencia en serie con el
LED para limitar la corriente. (220 Ω)
25. Programa
El LED se enciende durante
1seg y se mantiene apagado
0,5seg.
Esto se repite continuamente
LED; pin 13
28. Encender LED con pulsador
Pulsamos para encender y al soltar se apaga
– Materiales:
LED
Resistencia 220 ohmios.
Pulsador
Resistencia 10K.