EL MICROCONTROLADOR ARDUINO



Documentos relacionados
Programación de dispositivos Arduino Asignatura Sistemas Digitales!

El Microcontrolador Arduino

Para comenzar realizaremos el ejercicio-ejemplo de poner a titilar un led.

Control por Computador. Manual de arduino. Jorge Pomares Baeza. Grupo de Innovación Educativa en Automática 2009 GITE IEA

Especificaciones técnicas. Power, Inputs and Outputs. Operating Voltage Input Voltage (recommended) Input Voltage (limits) Analog Input Pins

AUTOMATIZACIÓN - CURSO: Práctica 3: Automatización de una Puerta de Garaje mediante Arduino

PROYECTO DE ELECTRÓNICA

Arduino. OPEN HARDWARE - David Cuartielles, Máximo Banti.

Especificaciones técnicas de los prototipos:

Como utilizar un servo motor con Arduino.

Introducción a Arduino

2.- PLATAFORMA ARDUINO (HARDWARE)

Microtutorial Arduino

Tema: Introducción a la Plataforma Arduino

Este manual aborda todos los conceptos básicos de Arduino y es una excelente guía para todo aquel que quiera iniciarse en este apasionante mundo.

Taller de electrónica para usos creativos. Practicando con Arduino

Instrumentación con Microcontroladores. Ing. Rodrigo Alejandro Gutiérrez Arenas 22/03/12 al 29/03/12

1.- INTRODUCCIÓN EL HARDWARE DE LA PLACA ARDUINO Alimentación Entradas y Salidas Comunicaciones...

DFRduino Romeo, todo en un controlador (RoMeo V1.0) Por favor, lea atentamente este manual antes de encender el dispositivo.

Introducción. Que es Arduino? 1. Por qué Arduino? 2. Asequible

Universidad de Costa Rica

Curso Completo de Electrónica Digital

EJERCICIOS CON ARDUINO LED ENCENDIDO. Se conecta el Led al pin 52 y a alimentación. Compilar Se enciende el LED.

Práctica de manejo de motores CC con arduino. Antonio Martínez

Guía de usuario de la Relay Control Shield v1.0

Ardunio. Control Led desde Lazarus

1. SISTEMAS DIGITALES

Introducción a Arduino. 2. Para qué puedo utilizar Arduino?

Instituto Tecnológico de Colima

Práctica PLC1: Introducción a la programación del PLC Siemens 314IFM en el entorno Step-7

EducaBot. Motores y movilidad.

NOTA DE APLICACIÓN AN-P002. Programando Wiring con NXProg

MANUAL DE USUARIO ARDUINO DMX MASTER SHIELD MCI-TDD REV. 1.0

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

EJERCICIOS DE ARDUINO RESUELTOS

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

MANUAL DE USUARIO Sensor de temperatura y humedad digital MCI-SEN REV. 1.0

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

TEMA 5. ELECTRÓNICA DIGITAL

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Notas para la instalación de un lector de tarjetas inteligentes.

Programación en C para plataforma CADmega128, basada en microcontrolador Atmel megaavr

ELECTRÓNICA DIGITAL. Una señal es la variación de una magnitud que permite transmitir información. Las señales pueden ser de dos tipos:

Creación de Funciones de Conducción

CONTROLADORA PP-85 DE UNA PUERTA POR TARJETAS DE PROXIMIDAD

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Taller de Introducción a Arduino. Impartido por Abel Arellano y Omar Valencia. Duración: 5 sesiones de 4 horas del -- al --- Presentación:

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Introducción a Arduino

PIC MICRO ESTUDIO Timer Monoestable/Biestable ajustable hasta 99H 59M 59S Timer 2T Clave:

LED INTERMITENTE CIRCUITO ELÉCTRICO MATERIALES PROGRAMA LED DOS CONECTORES CABLE USB ROBÓTICA. Puerto 8 ( salida al led rojo ) ARDUINO UNO 220 W GND

Comparadores UNIDAD V

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

UNIDADES DE ALMACENAMIENTO DE DATOS

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

Programando con Enchanting

CONCEPTOS BASICOS DEL LENGUAJE JAVA

COMUNICACIÓN HYPERTERMINAL CON DELTA PLC.

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

DESCRIPCION DE PLC UP32 17/07/11 MAN-PLC-UP32-01A

Sesión 8 Sensor de Ultrasonido

AUTOMATIZACIÓN - CURSO: Práctica 4: Sistema de Monitorización de tiempo mediante Arduino

TERMOMED Cl. Uruguay, 11 7º despacho Valencia ( Valencia ) Tel. / Fax info@termomed.net

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Guía resumida para utilizar el microcontrolador CY7C68013

Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos:

Fundamentos de la Programación

VIII. CONTROL USANDO SIMULINK Y ARDUINO

Fernando castaño Portela Ingeniero de soporte y Asesor técnico La Red Electrónica s.a.

Empieza con // y termina con la siguiente línea de código. Son ignorados por el programa y no ocupan espacio en memoria.

Sistemas de numeración, operaciones y códigos.

IMPLEMENTACIÓN DE LAS NTIC S EN LOS LABORATORIOS DE CIENCIAS NATURALES MEDIANTE EL USO DE LA PLATAFORMA ARDUINO- PHYSICSSENSOR

PRUEBAS DE ACCESO A CICLOS FORMATIVOS DE GRADO SUPERIOR Convocatoria de 23 de junio de 2005 (Orden de 18 de febrero de 2005, BOA de 05/03/2005)

CONCEPTOS INFORMÁTICOS BÁSICOS

EJERCICIO Nº 12: COMUNICACIÓN DE SEÑALES DIGITALES ENTRE EL INSTABUS EIB Y EL LOGO

IM : ARDUINO NANO OEM

Manual de software. MP GAS Tools. Software para marcadores de gasolineras. 07/2014 MS-MPGasTools_v1.4

Contenido. MANUAL DE USO E INSTALACIÓN DLC Detector de línea cortada Página 1 de 13

TARJETA M95 L80 ARDUINO

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

10 - Dibuja sin lápiz ni papel

ArduLab. 1. Qué te pasa Nerea? 2.Este robot no funciona bien y no sé que le pasa

ABIERTO- ELECTRoNICA- PROTOTIPO- PLATAFORMA- QUE ES UN ARDUINO? ES UNA PLATAFORMA DE PROTOTIPADO ELECTRoNICA DE DISEnO ABIERTO. QUE SIGNIFICA ESTO?

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L Premià de Mar Barcelona Tel. (93) Fax marketing@t2app.

Maqueta de control PID con Arduino

Ingeniería en Mecatrónica

Controlador GSMClim Direct

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Arduino. DHT11 Sensor Temperatura y Humedad

COMUNIDAD DE FORMADORES DEL EMPRENDIMIENTO TECNOLÓGICO FEMPRETEC

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]

Rastreador de Luz para Panel Solar y Sistema de Carga para Dispositivos USB

En el presente capítulo se describe la programación del instrumento virtual y cómo

Circuitos Digitales CON José Manuel Ruiz Gutiérrez

3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE EL PLC 5. EJEMPLO DE RECEPCIÓN DE SMS EN EL PLC

Tema 7: Programación con Matlab

INTRODUCCION A LOS SISTEMAS R.F.I.D.

Transcripción:

EL MICROCONTROLADOR ARDUINO Arduino es una plataforma libre de computación de bajo coste basada en una placa de entrada-salida y en un entorno de desarrollo IDE que implementa el lenguaje Processing/WiringHardware. Arduino se puede usar para desarrollar objetos interactivos automáticos o conectarse a software en el ordenador (Pure Data, Flash, Processing; MaxMSP. 1.- Hardware 1.1.- Elementos de la placa La placa es una placa de circuito impreso donde va instalado el microprocesador, la memoria, las conexiones de entrada y salida y la conexión para el puerto usb. Puerto usb: a través de él se cargan las instrucciones a ejecutar, el programa que es realizado en el entorno de programación de arduino. Comunicación Arduino-Ordenador. Microprocesador: realiza las instrucciones almacenadas en el programa de forma cíclica. Es un circuito integrado que contiene muchas de las mismas cualidades que una computadora. Escribe en los pines DS2-13 y lee en los DE2-13 AE0-5. Botón de reset: permite resetear el programa y permite cargar uno nuevo. Pines de entrada y salida: Permiten conectar elemento que dan iformacion y crean actuaciones. Elementos del microcontrolador: 1

Aref- Pin de referencia analógica (naranja) GND- Señal de tierra digital (verde claro) Pines digitales 2-13. Entrada y salida (verde) Pines digitales 0-1 / entrada y salida del puerto serie: TX/RX (verde oscuro) Botón de reset- Pulsador(azul oscuro) Pines de entrada analógica 0-5 (azul claro) Pines de alimentación y tierra (fuerza: naranja, tierra: naranja claro) Entrada de la fuente de alimentación externa (9-12V DC) X1 (rosa) Puerto USB (amarillo) 1.2.- Entradas y Salidas El microcontrolador recibe información de las entradas (read), la procesa y escribe un 1 o un 0 (5v ó 0v) en las salidas (Write), actuando sobre el dispositivo que tenemos conectado. Al microcontrolador por lo tanto conectamos unos sensores a la entrada y unos actuadores a la salida, para que en función del programa y de la lectura de los sensores se produzcan una serie de actuaciones. Entrada-sensores Pulsadores LDR, Piezoeléctrico... Microcontrolador salidas-actuadores leds, motores zumbadores... 1.3.- Señales Analógicas y Digitales Una señal es analógica cuando puede tomar infinitos valores entre su valor mínimo y máximo. Elementos análogicos: Potenciómetro, ldr, ntc, Zumbador, motor electrico, Led?. Una señal es digital cuando solo puede tomar 2 valores, el máximo asociado a 1 o a cierto on y el mínimo asociado a cero, falso o off. Elementos digitales: pulsador, detector de presencia, led?, timbre. Ejercicio: Realizar una tabla clasificando a los elementos en entradas y salidas y a su vez en analógicas o digitales. 2

1.4.- Funcionamiento del microcontrolador Función DigitalWrite Función Write: Pines de salida (escribir) High: el microntrolador escribe un 1 en el pin de salida, es decir 5v. El led se enciende. Low: el microntrolador escribe un 0 en el pin de salida, es decir 0v. El led no se enciende. Función DigitalRead El microcontrolador lee la tensión en el pin de entrada si V>3,5v asigna un 1, si V<3,5v asigna un 0. 3

1.5.- Circuitos para conectar las entradas y las salidas Los circuitos para conectar los principales elementos de entrada y salida son: Elementos digitales: Leds: Conectar a los pines 2-13 Digitales (El 13 lleva resistencia interna) Zumbadores: Conectar a los pines 2-13 Digitales. Si queremos modular la frecuencia 9-11 Pulsadores: Conectar a los pines 2-13 Digitales Sensores: Conectar a los pines 0-5 Analógicos Piezoeléctrico: Conectar a los pines 0-5 Analógicos 4

Potenciómetros: Conectar a los pines 0-5 Analógicos Motores: Conectar a los pines 2-13 Digitales. Si queremos controlar la velocidad 9-11 2.- Software: el lenguaje y entorno de programación Para comunicarnos con el microcontrolador y cargarle los programas usamos IDE (Integrated Development Environment), sistema de desarrollo de Arduino, sirve para escribir programas, compilarlos y descargar los programas a la placa de arduino. Un programa es una secuencia de instrucciones que son ejecutadas por una computadora o un microcontrolador, es una secuencia específica para realizar una tarea. Los programas son escritos en diferentes tipos de lenguajes, tales como C, Fortran o BASIC. El programa (lenguaje de alto nivel, humano ) se compila (se transforma en 1 y 0) y se carga en el microprocesador que lo ejecuta de forma cíclica. Para programar el micro se utiliza el IDE de Arduino, en el se escribe un programa que se carga en el microprocesador mediante el puerto usb. Para ello ejecutar arduino.exe desde la carpeta c:/arduino. Se debe configurar el puerto a usar (previamente hay que instalar el driver de la placa para que reconozca el puerto, buscarlo en c:/arduino/drivers/ftdi USB Drivers).Para mirar el puerto a usar Mi Pc>Propiedades del Sistema>Herramientas> Administrador de dispositivos> Puertos. Ej: COM3. Además se debe configurar el tipo de placa. Ej: ATMega168 Cargar el ejemplo Blink File>Sketchbook>examples>digital>Blink El lenguaje de programación de Arduino es muy sencillo. Un programa puede tener una estructura como: 5

Donde la columna izquierda es lo que lee el microprocesador y la de la derecha son comentarios para facilitar nuestra comprensión. Es importante el orden y la limpieza en la realización de los programas y el uso de los comentarios //, y la tabulación en los bucles para facilitar su comprensión. 2.1.- Estructura general Declaración de variables: en esta parte declaramos todas las variables que vamos a usar en el programa. Nos permite asociar nombres a números lo que nos será de mucha utilidad a la hora de modificar los programas. Void setup{} es la función de configuración de los pines de Arduino y sólo se ejecuta una vez, mientras que loop() se ejecuta una y otra vez hasta que apaguemos el sistema, o se gasten las baterías Bucle infinito Void loop{} es la parte del programa que se ejecuta de forma cíclica. 2.2.- Comandos básicos HIGH - 5V - TRUE (Verdadero) - 1 lógico LOW - 0V - FALSE (Falso) - 0 lógico 2.3.- Variables int entero corto Los vectores son conjuntos de variables, se declaran como las variables normales, pero con unos corchetes y se dan los valores entre llaves, ejemplo: int vector[] = {1, 5, 23}. En inglés se llaman arrays 6

* * * * * I.E.S. Burguillos-Dpto. de Tecnología 2.4.- Estructuras de control - bucle for(condición inicial; condición final; incremento) es un comando para repetir la misma operación un cierto número de veces.!"# $"$" %!'&( ) # - if (condición) {} es un comando que sirve para discriminar si se dio una determinada condición. Las comparaciones son: == igualdad,!= desigualdad, > mayor que, < menor que, >= mayor o igual que, y <= menor o igual que. Todo lo que figure entre las llaves será ejecutado sólo si se da la condición entre paréntesis. +, ).-/!"# $"$" %!'&( ) # - if else Verifica si se cumple una condición y ejecuta lo que esta entre llaves, sino se cumple ejecuta lo que esta debajo del else. +, ).-/!"# $"$" %!'&( ) # 0!1%!"# 2$.$" %!3&( ) # - while Ejecuta el conjunto de intrucciones entre llaves mientras se cumpla la condición. 465 0 )7-/!"# $"$" %!'&( ) # 2.5.- Temporizadores - delay(ms tiempo), sirve para parar los procesos de la placa durante un cierto tiempo en milisegundos. - delaymicroseconds(us tiempo), sirve para parar los procesos de la placa durante un cierto tiempo en microsegundos. - millis() Devuelve el tiempo en milisegundos, desde que la tarjeta Arduino activó el programa que se está ejecutando. long time; // entero de tipo largo. void setup(){ Serial.begin(9600); 7

} void loop(){ Serial.print("Time: "); time = millis(); //muestra el tiempo desde que el programa comenzó Serial.println(time); // espera un segundo para no enviar una cantidad masiva de datos } delay(1000); 2.6.- Pines digitales pinmode(pin, modo), sirve para declarar un pin como entrada (INPUT) o como salida (OUTPUT) digitalwrite(pin, valor), sirve para escribir un valor al pin, el valor podrá ser 1 lógico (HIGH) o 0 lógico (LOW) digitalread (pin), lee un valor de 0 o 1 de la entrada digital. 2.7.- Pines analógicos analogread (pin) analogwrite(pin, valor) escribe una señal al pin 9, 10, u 11 cuyo ancho de pulso se controla con valor. El ancho se codifica en 256 niveles, es decir, podremos introducir números del 0 al 255. - PWM (Pulse Width Modulation), la modulación por anchura de pulso es una técnica que empleamos para producir señales digitales que, filtradas, se comportarán como señales analógicas. El PWM en Arduino funciona a una frecuencia constante por encima de los 60Khz. Mediante el comando. 8 0 ) 8 & 0" '& & 0 9 :;& & & 0 9 </ >= =/0? @$"& )# & 0.) %# & & & & 0 9 46 # 0 <A B 8 &0C= D/?= = 0! 8 & 0 %!3 (& &0 9 :;& 8 & ( %!1 (& E - BF0! 8 &0 %!3 & & 0 9 46 # %!1 ( &G- H H 2.8.- Comunicación con el Puerto Serie Serial.begin (speed) Inicializa o abre el puerto serie asignándole una velocidad de transmisión de datos (bits por segundo). Dicha función debe ser llamada desde dentro de la estructura o sección setup(). Equivaldría a la función beginserial(). int speed: velocidad de datos, en bits por segundo (baudios) Serial.print (data, data type) 8

Vuelca o envía un número o una cadena de carateres, al puerto serie. Dicho comando puede tomar diferentes formas, dependiendo de los parámetros que utilicemos para definir el formato de volcado de los números. data: el número o la cadena de caracteres a volcar o enviar. data type: determina el formato de salida de los valores numéricos (decimal, octal, binario, etc...) #Serial.print(b, DEC) vuelca o envía el valor de b como un número decimal en caracteres ASCII. Equivaldría a printinteger(). I 'JK LA & 0 M ) # I B N;OA; ) %!P#5 G!"# %9@QRJK QSM #Serial.print(str) vuelca o envía la cadena de caracteres como una cadena ASCII. Equivaldría a printstring(). L/ &0 M ) %# QRT? 0 0 4U 0 V QS2 8 0 $.&(QRT? 0 0 4U 0 V QSM Serial.println (data, data type) es igual que serial.print pero con un retorno de carro. 2.9.- Operadores 2.9.1.- Operadores lógicos (Operador OR lógico) Sintaxis: expression1 expression2 Descripción: Comparara dos expresiones y devuelve verdadero si alguna o ambas de las expresiones es verdadera. Devuelve falso sólo si ambas expresiones son falsas. && (Operador AND lógico) Sintaxis: expression1 && expression2 Descripción: Comparara dos expresiones y devuelve verdadero si ambas expresiones son verdaderas. Devuelve falso si una de ellas o ambas expresiones son falsas. Ejemplo: If (a<10&&b<5){ > (mayor que) > < (menor que) < 2.9.2.- Operadores relacionales y lógicos (expresiones) >= (mayor que o igual a) <= (menor que o igual a) == (igual a)!= (no igual a) + (suma) suma - (resta) resta 2.9.3.- Operadores matemáticos * (multiplicación) multiplicación 9

/ (división) división ++ (incremento) incremento -- (decremento) decremento 2.10.- Mas información http://www.arduino.cc/es/ Ver apartado para secundaria: Referencia: Es un manual de programación Ejercicio: contiene multitud de ejercicios para hacer Guía rápida: explica como comenzar Foro Español: foro sobre arduino con multitud de preguntas y aclaraciones. 10