Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMarita Mato Modificado hace 10 años
1
Instrumentación Avanzada Introducción a la Plataforma ARDUINO
Facultad de Ingeniería Universidad Nacional de Mar del Plata Introducción a la Plataforma ARDUINO Ing. Jorge Luis Strack
2
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
3
¿En qué consiste ARDUINO? Instrumentación Avanzada
“Arduino es una plataforma de hardware y software libre fácil de usar, dirigido a cualquier persona que realiza proyectos interactivos” Esta plataforma consta de una placa con un microcontrolador que permite conectar sensores y actuadores mediante entradas y salidas respectivamente, las cuales pueden ser digitales o analógicas. Con Arduino se pueden desarrollar proyectos interactivos autónomos o con capacidad de interactuar con otros dispositivos tales como una computadora, a través de diversos protocolos de comunicación con capas físicas cableadas o inalámbricas. Arduino se ideó como una herramienta para crear objetos interactivos sin la intervención de un especialista poniendo en las manos de cualquier persona con conocimientos técnicos mínimos la capacidad de experimentar con la electrónica de una forma sencilla y práctica.
4
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
5
Instrumentación Avanzada
¿Cómo nació ARDUINO? Instrumentación Avanzada “Arduino surgió en el año 2005 como un proyecto para estudiantes en el Instituto IVREA, en Ivrea (Italia). Uno de los fundadores de Arduino, Massimo Banzi daba clases allí. Su objetivo era reemplazar una placa de 100 dólares que usaban los estudiantes por una que no costara más de 30 euros. El nombre proviene del “Bar del Rey Arduino” en el cual Massimo pasaba algunas horas. En su creación, contribuyó el estudiante colombiano Hernando Barragán, quien desarrolló la tarjeta electrónica Wiring, el lenguaje de programación y la plataforma de desarrollo. Concluida dicha plataforma, varios investigadores trabajaron para hacerlo más ligero, más económico y disponible para la comunidad de código abierto (hardware y software abierto).
6
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
7
Hardware: Familia de placas ARDUINO Instrumentación Avanzada
Uno Leonardo Mega 2560 Zero Yún Due Ethernet Tre Mega ADK
8
Hardware: Familia de placas ARDUINO Instrumentación Avanzada
Mini Micro Nano Pro Mini Esplora LilyPad Robot LilyPad Simple LilyPad USB Pro LilyPad SimpleSnap Fio
9
Hardware: Familia de placas ARDUINO
Instrumentación Avanzada Nombre Procesador Tensión de operación / Tensión de entrada Velocidad CPU IN/OUT Análogas Digital EEPROM SRAM Flash USB UART IO/PWM [KB] Uno ATmega328 5 V/7-12 V 16 Mhz 6/0 14/6 1 2 32 Regular Due AT91SAM3X8E 3.3 V/7-12 V 84 Mhz 12/2 54/12 - 96 512 2 Micro 4 Leonardo ATmega32u4 12/0 20/7 2.5 Micro Mega 2560 ATmega2560 16/0 54/15 8 256 Mega ADK Mini 5 V/7-9 V 8/0 Nano ATmega168 0.512 16 Mini-B Ethernet 14/4 Esplora ArduinoBT 5 V/ V Fio ATmega328P 3.3 V/3.7-7 V 8 Mhz Pro (168) 3.3 V/ V Pro (328) 5 V/5-12 V Pro Mini 16Mhz LilyPad ATmega168V V/ V ATmega328V LilyPad USB 3.3 V/3.8-5V 4/0 9/4 LilyPad Simple LilyPad SimpleSnap
10
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
11
Hardware: Tarjetas de Expansión (Shields) Instrumentación Avanzada
GSM Shield Ethernet Shield WiFi Shield Wireless SD Shield USB Host Shield Motor Shield Wireless Proto Shield Proto Shield
12
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
13
Descripción de la placa ARDUINO UNO Instrumentación Avanzada
I2C – SDA - SCL Tensión ref. An. GND Comunicación ICSP Entradas/Salidas Digitales 0-13 Comunicación Serial (Rx – Tx) E Botón de RESET LED Pin 13 LED Tx - Rx Conector USB Tipo B hembra LED de encendido Programación ICSP Microcontrolador ATmega 328 Jack alimentación externa +7-12V Pin reservado p/futuro Tensión de ref. I/O Vout +3.3V (50 mA máx) Reset Vout +5V (300 mA máx.) GND Vin +7-12V Entradas Analógicas A0-A5 Circuito Esquemático
14
Descripción de la placa ARDUINO UNO Instrumentación Avanzada
La placa cuenta con tres tipos de memoria: Flash: en ella se almacenan los programas conocidos como sketchs. SRAM: (Memoria Estática de Acceso Aleatorio), allí se crean y manipulan variables durante la ejecución del sketch. EEPROM: memoria en la que se pueden almacenar datos a largo plazo. Las memorias Flash y EEPROM son no volátiles, es decir, la información no se pierde o volatiliza con la falta de energía. Por el contrario, la memoria SRAM es volátil, es decir, sus datos se borran al desenergizar la placa. La placa ARDUINO UNO tiene las siguientes capacidades de memoria: Flash: 32K bytes SRAM: 2K bytes EEPROM: 1K byte Para requerimientos mayores de memoria, por ejemplo, para guardar registros de mediciones, existen SHIELDs o Tarjetas de Expansión que permiten conectar memorias SD y micro SD a la placa Arduino y, leer y escribir datos en ellas a través de librerías existentes en el Entorno de programación de Arduino.
15
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
16
Software: Entornos de Programación Instrumentación Avanzada
IDE (Entorno de Desarrollo Integrado) Entornos de programación gráfica autónomos (La placa ejecuta el programa sin una PC) GNU Miniblock Ardublock Amici Mind + Comercial ModKit VirtualBreadBoard VBB Jarvis Entornos de monitorización esclavos (La placa interactúa con una PC) Etoys (Squeak) S4A (Scratch) FireFly Pure Data MyOpenLab LabVIEW Herramientas Gráficas de Programación para Arduino – José Manuel Ruiz Gutiérrez – Marzo 2012.
17
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
18
IDE (Entorno de Desarrollo Integrado) Instrumentación Avanzada
El IDE de Arduino está creado en Java y consta de un editor de texto que permite escribir, verificar, compilar y cargar programas en un lenguaje propio basado en C/C++ a todas las placas de la familia Arduino. Estos programas se conocen como sketchs o bocetos y tiene la extensión .ino (en la versión 1.0 era .pde). El programa se descarga gratuitamente del sitio oficial: Se descomprime la carpeta, se busca el archivo “arduino.exe” y se crea un acceso directo. Cuando se conecta por primera vez una placa Arduino, se instalan los drivers que están situados en la carpeta: \arduino windows\arduino-1.0.5\drivers\ Una vez cargado el sketch en la memoria flash de la placa Arduino, el mismo se ejecutará siempre que la placa esté energizada a través del puerto USB o a través de alimentación externa en la ficha JACK o en el pin Vin. IDE Arduino
19
IDE (Entorno de Desarrollo Integrado) Instrumentación Avanzada
Estructura setup() Ejecución inicial para iniciación de variables, librerías, estado de pines. loop() Ciclo principal del sketch que se ejecuta indefinidamente. Estructuras de control if while break If…else do while continue for switch case return Sintaxis ; (fin de comando o estructura de control) {} (los comandos dentro de ellas pertenecen a la misma estructura de control) // (comentarios de una sola línea) /**/ (comentarios multilíneas) # define (definición de precompilador) # include (inclusión de código externo como librerías) Operadores Aritméticos = (operador de asignación) + (suma) - (resta) * (multiplicación) / (división) % (módulo)
20
IDE (Entorno de Desarrollo Integrado) Instrumentación Avanzada
Operadores de comparación == (igual que) != (distinto que) < (menor que) > (mayor que) <= (menor o igual que) >= (mayor o igual que) Operadores booleanos && (and) || (or) ! (not) Operadores compuestos ++ (incremento) -- (decremento) += (suma compuesta) -= (resta compuesta) *= (multiplicación compuesta) /= (división compuesta) &= ( and compuesto a nivel de bits) |= (or compuesto a nivel de bits) Operadores de acceso a punteros & (acceso a memoria) * (direccionamiento) Operadores a nivel de bits & (and) | (or) ^ (xor) ~ (not) << (desp. de bits a la izquierda) >> (desp. de bits a la derecha) Constantes HIGH, LOW (alto, bajo) INPUT, OUTPUT (entrada, salida) True, False constantes enteras constantes punto flotante Tipos de variables boolean (true o false) char – unsigned char (un solo carácter) String (cadena de caraceres) byte (1byte: enteros de -128 a 127) int – unsigned int (2 bytes: enteros de a 32767) long – unsigned long (enteros de 4 bytes) word (entero de 16 bits sin signo) float, double (coma flotante 4 bytes) array (matriz de datos del mismo tipo)
21
IDE (Entorno de Desarrollo Integrado) Instrumentación Avanzada
Conversión char() byte() int() word() long() float() Funciones Entradas/salidas digitales: pinMode() (INPUT ó OUTPUT) digitalWrite() (HIGH ó LOW) digitalRead() (HIGH ó LOW) Entradas/salidas analógicas: analogReference() AnalogRead() AnalogWrite() Entradas/salidas avanzadas tone() notone() shiftOut() pulseIn() Funciones Cálculo min(), max() abs() constrain() map() pow() sqrt() Trigonometría sin(), cos(), tan() Números aleatorios randomSeed() random() Bits y Bytes lowByte() highByte() bitRead() bitWrite() bitSet() bitClear() bit() Funciones Interrupciones externas attachInterrupt() dettachInterrupt() Interrupciones interrupts() noInterrupts() Comunicación / Serial begin() end() available() read() flush() print() println() write() Tiempo millis() micros() delay()
22
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
23
Conexionado de entradas y salidas Instrumentación Avanzada
Entrada digital por interruptor o pulsador - Conexión pullup - Conexión pulldown - Entrada analógica por potenciómetro Manual de Arduino. Programación y conceptos básicos. Raul Diosdado – MakerZona.
24
Conexionado de entradas y salidas Instrumentación Avanzada
Salidas digitales - Salida de baja corriente (< 40 mA Salida de potencia a través de mosfet o por pin y < 200 mA en conjunto) transistor (salida de estado solido) - Salida de potencia a través de relé (salida con contacto móvil) Manual de Arduino. Programación y conceptos básicos. Raul Diosdado – MakerZona.
25
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
26
Funcionamiento de las salidas analógicas PWM Instrumentación Avanzada
PWM: Pulse Width Modulation (Modulacion por ancho de pulso) Los pines digitales 3, 5, 6, 9, 10 y 11 de la placa Arduino UNO se pueden configurar como salidas PWM. En el modo PWM generan una tensión de onda cuadrada cuyo ciclo de trabajo varia desde 0 hasta 100% para generar un valor medio entre 0 y 5 V respectivamente. La resolución es de 8 bits, es decir se envía por programa un valor de 0 a 255. La frecuencia de la onda cuadrada es de Hz. La funcion tone() utiliza una salida PWM pero con frecuencia variable y ancho de pulso constante (50%) para generar diferentes tonos audibles (hasta 20kHz y no audibles, ya que la f max. es de 65,535 kHz. Manual de Arduino. Programación y conceptos básicos. Raul Diosdado – MakerZona.
27
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
28
Ejemplo de programación en el IDE Instrumentación Avanzada
Lectura y escritura de entradas y salidas digitales /*Instrumentación Avanzada Ejemplo de programación en el IDE */ const int pulsador = 5; // numero del pin de entrada const int led = 7; // numero del pin de salida int estado_boton = 0; // estado del pin de entrada void setup () { pinMode (led, OUTPUT); // se configura el pin 7 como salida pinMode (pulsador, INPUT); // se configura el pin 5 como entrada } // fin del setup void loop () { estado_boton = digitalRead (pulsador); //lee la entrada digital del botón if (estado_boton == HIGH) { // si se pulsa el botón (estado lógico alto) digitalWrite(led, HIGH); //escribe la salida digital del led (lo enciende) } // fin del if else { digitalWrite(led, LOW); //escribe la salida digital del led (lo apaga) } // fin del else } // fin del loop Ejemplo 1
29
Ejemplo de programación en el IDE Instrumentación Avanzada
Lectura y escritura de entradas y salidas analógicas /* Instrumentación Avanzada Ejemplo de programación en el IDE */ const int potenciometro=2; // numero del pin de la entrada analógica const int led=9; // num. del pin de la salida digital PWM func. como analógica de 8 bits de resolución (0 a 255) int valor_pote; // variable en la que se guardara el valor del pote (de 0 a 1023); void setup () { pinMode(led,OUTPUT); // se configura el pin 9 como salida } // fin del setup void loop () { valor_pote=analogRead (potenciometro); // lee la entrada analógica del potenciómetro valor_pote=map (valor_pote,0,1023,0,255); // mapea valores de 0 a 1023 en valores de 0 a 255 analogWrite (led,valor_pote); // escribe la salida digital del led en modo PWM (0-255 equivale a 0-5V) } // fin del loop Ejemplo 2
30
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
31
Interacción con la PC a través de LabVIEW Instrumentación Avanzada
National Instruments creó una librería para trabajar con placas Arduino desde LabVIEW. La primera librería que surgió se llama LIFA (LabVIEW Interface For Arduino) Este año surgió la librería LINX (LabVIEW INterface for X : chipKIT, Arduino and myRIO) LabVIEW
32
Interacción con la PC a través de LabVIEW Instrumentación Avanzada
Para que LabVIEW se pueda comunicar con una placa ARDUINO, la misma debe tener cargado un programa conocido como firmware, realizado por National Instruments. En el caso de utilizar la librería LIFA, el mismo se llama LIFA_Base.ino y se localiza en el directorio: …\National Instruments\LabVIEW 2011\vi.lib\LabVIEW Interface for Arduino\Firmware\LIFA_Base\ En el caso de utilizar la librería LINX, el mismo se llama LINX_Arduino_Base_Firmware.ino y se localiza en el directorio: …\National Instruments\LabVIEW 2011\vi.lib\LabVIEW Hacker \LINX\ Firmware\ Source\ Arduino\ LINX_Arduino_Base_Firmware\ Se carga el firmware en la memoria flash de la placa desde el IDE de ARDUINO, y esta queda apta para comunicarse con LabVIEW. IDE Arduino
33
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
34
Ejemplo de programación en LabVIEW Instrumentación Avanzada
Lectura y escritura de entradas y salidas digitales y analógicas Arduino +LabVIEW. Utilización de LabVIEW para la Visualización y Control de la Plataforma Open Hardware Arduino. José Manuel Ruiz Gutiérrez. Serie: Herramientas Graficas para la programación de Arduino. Ver. 1.0, 2012. Ejemplo 3
35
Ejemplo de programación en LabVIEW Instrumentación Avanzada
Lectura y escritura de entradas y salidas digitales y analógicas Ejemplo 3
36
Programación en LabVIEW – Ejercicio 1 Instrumentación Avanzada
Control y Monitoreo de un motor monofásico. Se deben leer los pulsadores de paro y marcha, encender un relé de comando, controlar la velocidad con una salida PWM, leer una señal analógica proporcional a la velocidad y encender una alarma sonora en caso de exceso de velocidad. Para esta practica utilizaremos una placa Arduino UNO y un variador de velocidad S.E.ALTIVAR. Ejercicio 1
37
Programación en LabVIEW – Ejercicio 1 Instrumentación Avanzada
Control y Monitoreo de un motor monofásico. Ejercicio 1
38
Programación en LabVIEW – Ejercicio 1 Instrumentación Avanzada
Control y Monitoreo de un motor monofásico. Ejercicio 1
39
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
40
Web Server con Arduino UNO + Ethernet Shield Instrumentación Avanzada
Breve descripción de la tarjeta de expansión o shield Ethernet ARDUINO UNO ETHERNET SHIELD Tensión de alimentación 5V (se alimenta directamente desde la tarjeta Arduino). Controlador Ethernet: chip Wiznet W5100 con una memoria flash interna de 16K. Proporciona una red IP con capacidad de comunicación TCP y UDP. Puede trabajar como cliente o servidor. Nos interesa particularmente esta última opción. Soporta hasta cuatro conexiones simultaneas. Velocidad de conexión: 10/100Mb. Conexión con Arduino a través del Puerto SPI (pines 10, 11, 12, 13). El pin 10 es para seleccionar la conexión Ethernet. Provista con lectora de memoria micro-SD (pin 4 para seleccionar la memoria). Comando desde librería SPI.h Ethernet.h y SD.h. Se monta arriba de una Arduino UNO, Mega o compatibles y permite que se apilen otros shields sobre ella.
41
Web Server con Arduino UNO + Ethernet Shield Instrumentación Avanzada
Conexión de la tarjeta de expansión Ethernet Se debe conectar el cable USB a la placa Arduino UNO a fin de programarla. Luego se puede retirar el cable USB y alimentar la placa con una fuente externa para que continúe funcionando en forma autónoma. Una vez cargado el programa se conecta el cable ethernet en la ficha RJ45. Si bien funciona, no es aconsejable cargar programas con el cable ethernet conectado, ya que según la bibliografía, puede causar inestabilidades en el funcionamiento de la placa. Arduino + Ethernet Shield. Implantacion de Arduino en las redes Ethernet: ”Arduino y el Internet de las Cosas”. José Manuel Ruiz Gutiérrez. Serie: Arduino Comunicacion. Ver. 1.0, 2013.
42
Web Server con Arduino UNO + Ethernet Shield Instrumentación Avanzada
Configuración de la Red Al shield se le debe asignar una dirección MAC (identificador global único de dispositivos físicos), y una dirección IP válida según la configuración de la red. En algunos modelos, la MAC viene detrás de la placa, en otros se debe asignar al azar. No deben existir dos dispositivos con la misma MAC conectados en la red. La IP debe ser cercana a la IP de la PC conectada a la red, y no debe estar asignada a otra PC o dispositivo. Arduino + Ethernet Shield. Implantacion de Arduino en las redes Ethernet: ”Arduino y el Internet de las Cosas”. José Manuel Ruiz Gutiérrez. Serie: Arduino Comunicacion. Ver. 1.0, 2013.
43
Web Server con Arduino UNO + Ethernet Shield Instrumentación Avanzada
Configuración de la Red – Determinación de la IP desde la ventana de comandos de Windows Paso 1: Ir a botón de inicio Ejecutar escribir cmd dar enter (se abrirá la ventana de comandos). Paso 2: ingresar por teclado el comando ipconfig y dar enter. Paso 3: inventar una IP que tenga los tres primeros bytes mas significativos iguales y solo cambie el último. Paso 4: verificar que esta no exista en la red, escribiendo ping xxx.xxx.xxx.xxx (n° de IP). La respuesta debe ser nula o intento de conexión fallido. En este caso la IP libre que se usara en el laboratorio será Las pruebas serán en la intranet. Para acceder a la placa desde internet, se debe crear una IP pública como se vio en clases anteriores.
44
Web Server consultado desde LabVIEW – Ejercicio 2
Instrumentación Avanzada Control y Monitoreo de un motor monofásico en forma remota desde internet: programa .INO
45
Web Server consultado desde LabVIEW – Ejercicio 2
Instrumentación Avanzada Control y Monitoreo de un motor monofásico en forma remota desde internet: programa .INO
46
Web Server consultado desde LabVIEW – Ejercicio 2
Instrumentación Avanzada Control y Monitoreo de un motor monofásico en forma remota desde internet: programa .INO
47
Web Server consultado desde LabVIEW – Ejercicio 2
Instrumentación Avanzada Control y Monitoreo de un motor monofásico en forma remota desde internet: programa .vi
48
Web Server consultado desde LabVIEW – Ejercicio 2
Instrumentación Avanzada Control y Monitoreo de un motor monofásico en forma remota desde internet: programa .vi
49
Web Server consultado desde página .htm - Ejercicio 3
Instrumentación Avanzada Control de una salida digital desde página web programada desde sketch: programa .ino
50
Web Server consultado desde página .htm - Ejercicio 3
Instrumentación Avanzada Control de una salida digital desde página web programada desde sketch: programa .ino
51
Web Server consultado desde página .htm - Ejercicio 3
Instrumentación Avanzada Control de una salida digital desde página web programada desde sketch: programa .ino
52
Web Server consultado desde página .htm - Ejercicio 3
Instrumentación Avanzada Control de una salida digital desde página web programada desde sketch: programa .ino
53
Web Server consultado desde página .htm - Ejercicio 3
Instrumentación Avanzada Control de una salida digital desde página web programada desde sketch. Visualización en la web:
54
Web Server consultado desde página .htm - Ejercicio 4
Instrumentación Avanzada Control de entradas y salidas digitales y analógicas desde página web alojada en memoria SD Pasos a seguir: 1- Se conecta una memoria SD a la PC. 2- Se guarda en la misma el archivo index.htm situado en la carpeta ejercicio_4_ethernet-SD 3- Se introduce la memoria SD en la lectora del shield ethernet 4- Se conecta el cable USB a la placa Arduino UNO y el cable UTP al shield Ethernet 5- Se carga el sketch programa.ino situado en la carpeta ejercicio_4_ethernet-SD 6- Se abre el navegador y se conecta al sitio 7- Se deberá visualizar la página index.htm con la que se podrán visualizar y controlar entradas y salidas de la placa Arduino UNO.
55
Web Server consultado desde página .htm - Ejercicio 4
Instrumentación Avanzada Control de entradas y salidas digitales y analógicas desde página web alojada en memoria SD Visualización en la web:
56
Instrumentación Avanzada
Contenido de la clase Instrumentación Avanzada ¿En qué consiste ARDUINO? ¿Cómo nació ARDUINO? Hardware: Familia de placas ARDUINO Hardware: Tarjetas de Expansión (Shields) Descripción de la placa ARDUINO UNO Software: Entornos de Programación IDE (Entorno de Desarrollo Integrado) Conexionado de entradas y salidas Funcionamiento de las salidas analógicas PWM Ejemplo de programación en el IDE Interacción con la PC a través de LabVIEW Ejemplo de programación en LabVIEW Web Server con Arduino UNO + Ethernet Shield Registrador con Arduino UNO + Datalogger Shield
57
Registrador con Arduino UNO + Datalogger Shield
Instrumentación Avanzada Breve descripción de la tarjeta de expansión o shield Datalogger ARDUINO UNO DATALOGGER SHIELD Tensión de alimentación 5V (se alimenta directamente desde la tarjeta Arduino). Reloj de Tiempo Real (RTC) basado en el chip DS1307. Pila de litio para mantener el chip en hora cuando el Arduino está sin alimentación. Lectora de memoria SD. Conexión con Arduino a través del Puerto SPI (pines 10, 11, 12, 13). El pin 10 es el pin de selección para utilizar la memoria SD. El RTC se controla a través de los pines analógicos A4 y A5 (SCL y SDA – bus I2C) Comando desde librería DS1307RTC.h, Time.h , y SD.h. Dispone de un área experimental para soldar conectores, componentes y sensores. Se monta arriba de una Arduino UNO, Mega o compatibles y permite que se apilen otros shields sobre ella.
58
Ejercicio 5: Datalogger Instrumentación Avanzada
Se debe realizar un registrador que mida la temperatura ambiente cada 1 segundo y la guarde junto a la fecha y hora de muestreo en un archivo de texto alojado en la memoria micro-SD del shield Datalogger. Se utilizarán los siguientes componentes: 1 tarjeta Arduino UNO 1 tarjeta de expansión Datalogger compatible con Arduino UNO 1 memoria micro-SD HC clase 10 con capacidad apropiada 1 pila botón de litio 1 LCD 20x4 1 conversor I2C para LCD 1 sensor de temperatura LM35 2 pulsadores 2 resistencias de 10 KΩ
59
Ejercicio 5: Datalogger Instrumentación Avanzada
Se realizará el siguiente circuito: LCD 20x4 Adaptador I2C Protoboard Shield Datalogger
60
Ejercicio 5: Datalogger Instrumentación Avanzada
Se utilizarán las siguientes librerías: avr/io.h (funciones necesarias para las interrupciones) avr/interrupt.h (funciones para controlar interrupciones) SD.h (funciones para controlar la memoria SD) DS1307RTC.h (funciones para administrar el RTC de la placa shield datalogger) Time.h (funciones para cálculos de fecha, hora, calendario) Wire.h (funciones generales para la comunicación I2C) LiquidCrystal_I2C.h (funciones para administrar la comunicación I2C con el LCD) Primer paso: Inicializar la fecha y hora del RTC (Real Time Clock) con la hora de la PC. Para esto se carga el sketch SetTime que trae como ejemplo la librería DS1307RTC. Segundo paso: Realizar y cargar el programa realizado en el IDE de Arduino, que se presenta a continuación.
61
Ejercicio 5: Datalogger Instrumentación Avanzada
Código en el IDE de Arduino
62
Ejercicio 5: Datalogger Instrumentación Avanzada
Código en el IDE de Arduino
63
Ejercicio 5: Datalogger Instrumentación Avanzada
Código en el IDE de Arduino
64
Ejercicio 5: Datalogger Instrumentación Avanzada
Código en el IDE de Arduino
65
Ejercicio 5: Datalogger Instrumentación Avanzada
Código en el IDE de Arduino
66
Ejercicio 5: Datalogger Instrumentación Avanzada
Código en el IDE de Arduino
67
Ejercicio 5: Datalogger Instrumentación Avanzada
Código en el IDE de Arduino
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.