Introducción arduino
Transcript of Introducción arduino
Introducción Arduino
Antonio Vives
¿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.
¿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.
Diferentes Arduinos
UNONANO
YUN MEGA
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
¿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.
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.
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
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
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.
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
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.
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...}
if (si condicional) Ejecuta una serie de instrucciones si cumple una condición. Ejemplos:
Instrucciones básicas. Control de flujo
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
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)
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.
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.
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).
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)
Instrucciones Básicas. Comunicación
Serial.begin(Velocidad)– Velocidad: típicamente 9600.
Serial.println(Variable)– Variable: Dato a mandar
Serial. read()
Todas las funciones en:http://arduino.cc/es/Reference/HomePage
¿Qué podemos hacer con Arduino?
• Control de movimiento de actuadores• Control de luces• Control a distancia• Etc.
1ª ActividadHacer 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Ω
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 Ω)
Programa
El LED se enciende durante 1seg y se mantiene apagado
0,5seg.
Esto se repite continuamente
LED; pin 13
Diseño
Circuito Real
Encender LED con pulsador
Pulsamos para encender y al soltar se apaga
– Materiales: LED Resistencia 220 ohmios. Pulsador Resistencia 10K.
Circuito Eléctrico
Conexión de un LED
Conexión de un PULSADOR
Programa
El LED se mantiene encendido mientras se
mantiene pulsado.
Pulsador; pin 8
LED; pin 3
Diseño
Circuito Real
Programa
Secuencia de 3 LEDs que se encienden uno detrás del otro cada 0,5seg y
después se apagan
LEDs; pin 6, 7 y 8
Continuaremos con la programación ……