Esta práctica presenta ejemplos básicos de programación en Arduino para la lectura de sensores, evaluando ejemplos sencillos en un simulador online. El objetivo es conocer el entorno de programación de Arduino, programar códigos sencillos y entender la adquisición de señales analógicas. Se incluyen dos tutoriales sobre programación básica en Arduino y el uso del simulador online.
Este documento presenta el manual de programación de Arduino. Explica las características de la placa Arduino, el entorno de desarrollo, la estructura básica de los programas, funciones, variables, tipos de datos, operadores, entradas/salidas digitales y analógicas.
Esta práctica presenta ejemplos básicos de programación en Arduino para leer sensores. Los estudiantes aprenderán a programar códigos sencillos en Arduino usando el entorno de desarrollo de Arduino y evaluarán ejemplos con un simulador. El objetivo es que los estudiantes conozcan cómo programar en Arduino y cómo leer señales analógicas.
Este documento describe las características básicas de la placa Arduino Duemilanove y los pasos para programarla. Explica que Arduino es un hardware de código abierto y cómo descargar el entorno de desarrollo. Detalla la estructura básica de un programa Arduino con las funciones setup() y loop(), y cubre conceptos como variables, tipos de datos, operadores y funciones.
El documento describe la programación básica de Arduino. Explica que Arduino se programa usando un lenguaje basado en C/C++ y que cada programa debe incluir las funciones setup() y loop(). setup() se ejecuta una vez para configurar las variables y pins, mientras que loop() se repite continuamente para realizar las tareas del programa.
El documento describe el lenguaje de programación de Arduino. 1) Tiene una estructura secuencial con dos funciones principales, setup() y loop(). 2) Las variables almacenan valores que pueden cambiar, mientras que las constantes mantienen valores fijos. 3) Se pueden leer y escribir valores digitales y analógicos en los pines.
Este documento proporciona una introducción a la programación en Protón IDE Plus para microcontroladores PIC. Explica qué es un microcontrolador y sus componentes principales. Luego describe las diferencias entre microprocesadores y microcontroladores, los sistemas numéricos binarios, hexadecimales y decimales, y las operaciones lógicas básicas AND, OR y NOT. Finalmente, resume la estructura básica de un programa en PIC BASIC, incluidas las declaraciones, etiquetas y variables.
Este documento presenta la estructura básica del lenguaje de programación de Arduino. La estructura consta de al menos dos funciones, setup() y loop(). La función setup() se ejecuta una sola vez al inicio para configurar las variables y pines. La función loop() contiene el código principal que se ejecuta de forma continua. El documento también explica conceptos como variables, comentarios, tipos de datos y funciones de control de flujo.
Este manual proporciona una introducción al lenguaje de programación de Arduino. Explica la estructura básica de los programas de Arduino, incluidas las funciones setup() y loop(), y describe conceptos como variables, tipos de datos, operadores, control de flujo, E/S digitales y analógicas, tiempo, matemáticas, aleatoriedad y comunicación en serie. También incluye apéndices sobre conexiones de E/S, librerías, señales PWM, comunicación con otros sistemas y palabras reservadas.
Este documento presenta el manual de programación de Arduino. Explica las características de la placa Arduino, el entorno de desarrollo, la estructura básica de los programas, funciones, variables, tipos de datos, operadores, entradas/salidas digitales y analógicas.
Esta práctica presenta ejemplos básicos de programación en Arduino para leer sensores. Los estudiantes aprenderán a programar códigos sencillos en Arduino usando el entorno de desarrollo de Arduino y evaluarán ejemplos con un simulador. El objetivo es que los estudiantes conozcan cómo programar en Arduino y cómo leer señales analógicas.
Este documento describe las características básicas de la placa Arduino Duemilanove y los pasos para programarla. Explica que Arduino es un hardware de código abierto y cómo descargar el entorno de desarrollo. Detalla la estructura básica de un programa Arduino con las funciones setup() y loop(), y cubre conceptos como variables, tipos de datos, operadores y funciones.
El documento describe la programación básica de Arduino. Explica que Arduino se programa usando un lenguaje basado en C/C++ y que cada programa debe incluir las funciones setup() y loop(). setup() se ejecuta una vez para configurar las variables y pins, mientras que loop() se repite continuamente para realizar las tareas del programa.
El documento describe el lenguaje de programación de Arduino. 1) Tiene una estructura secuencial con dos funciones principales, setup() y loop(). 2) Las variables almacenan valores que pueden cambiar, mientras que las constantes mantienen valores fijos. 3) Se pueden leer y escribir valores digitales y analógicos en los pines.
Este documento proporciona una introducción a la programación en Protón IDE Plus para microcontroladores PIC. Explica qué es un microcontrolador y sus componentes principales. Luego describe las diferencias entre microprocesadores y microcontroladores, los sistemas numéricos binarios, hexadecimales y decimales, y las operaciones lógicas básicas AND, OR y NOT. Finalmente, resume la estructura básica de un programa en PIC BASIC, incluidas las declaraciones, etiquetas y variables.
Este documento presenta la estructura básica del lenguaje de programación de Arduino. La estructura consta de al menos dos funciones, setup() y loop(). La función setup() se ejecuta una sola vez al inicio para configurar las variables y pines. La función loop() contiene el código principal que se ejecuta de forma continua. El documento también explica conceptos como variables, comentarios, tipos de datos y funciones de control de flujo.
Este manual proporciona una introducción al lenguaje de programación de Arduino. Explica la estructura básica de los programas de Arduino, incluidas las funciones setup() y loop(), y describe conceptos como variables, tipos de datos, operadores, control de flujo, E/S digitales y analógicas, tiempo, matemáticas, aleatoriedad y comunicación en serie. También incluye apéndices sobre conexiones de E/S, librerías, señales PWM, comunicación con otros sistemas y palabras reservadas.
Este documento describe las características y el uso básico de la placa Arduino. Explica cómo descargar e instalar el entorno de desarrollo de Arduino, cómo cargar programas en la placa y la estructura básica de los programas de Arduino con las funciones setup() y loop(). También resume los tipos de datos, variables, operadores y funciones disponibles para la programación de Arduino.
Este documento presenta un manual sobre la programación de Arduino. Explica las características básicas de la placa Arduino Duemilanove y cómo programarla. Describe el entorno de desarrollo de Arduino, la estructura básica de los programas, funciones, variables, tipos de datos, entradas y salidas digitales y analógicas, funciones de tiempo y matemáticas, y ejemplos de código.
Este documento describe las características y la programación básica de la placa Arduino. Explica que Arduino es una placa de hardware abierto que puede programarse usando el entorno de desarrollo de Arduino. Detalla los conceptos básicos como las funciones setup() y loop(), las variables, los tipos de datos, las entradas y salidas digitales y analógicas y cómo cargar programas en la placa.
Este documento describe las características y la programación básica de la placa Arduino. Explica que Arduino es una placa de hardware abierto que puede programarse usando el entorno de desarrollo de Arduino. Detalla los conceptos básicos como las funciones setup() y loop(), las variables, los tipos de datos, las entradas y salidas digitales y analógicas y cómo cargar programas en la placa.
Este documento describe las características y funcionalidades básicas de la placa Arduino, incluyendo cómo programarla usando el entorno de desarrollo de Arduino. Explica cómo configurar la comunicación entre la placa y el PC, la estructura básica de los programas de Arduino, y cómo utilizar entradas y salidas digitales y analógicas.
Este documento describe las características y la programación básica de la placa Arduino. Explica que Arduino es una placa de hardware abierto que puede programarse usando el entorno de desarrollo de Arduino. Detalla los conceptos básicos como las funciones setup() y loop(), las variables, los tipos de datos, las entradas y salidas digitales y analógicas y cómo usar el puerto serie para depurar programas.
Este documento presenta un manual de programación para Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). La función setup() se ejecuta una vez al inicio para configurar las variables y pinos, mientras que la función loop() se repite continuamente. También describe conceptos como variables, tipos de datos, operadores, funciones, comentarios y entrada/salida digital y analógica.
Este documento presenta Arduino, una plataforma de desarrollo de hardware abierto que incluye tarjetas electrónicas y software. Explica los componentes básicos de Arduino UNO y cómo programarla usando el entorno de desarrollo integrado (IDE) en la nube. Describe la estructura básica de los programas de Arduino, incluyendo las funciones setup() y loop(), y presenta varias prácticas para encender LEDs usando Arduino.
Este manual proporciona una introducción al lenguaje de programación de Arduino. Explica la estructura básica de los programas de Arduino, incluidas las funciones setup() y loop(), y describe conceptos como variables, tipos de datos, operadores, control de flujo, E/S digitales y analógicas, tiempo, matemáticas, aleatoriedad y comunicación en serie. También incluye apéndices sobre conexiones de E/S, librerías, señales PWM, comunicación con otros sistemas y palabras reservadas.
Este manual proporciona una introducción al lenguaje de programación de Arduino. Explica la estructura básica de los programas de Arduino, incluidas las funciones setup() y loop(), y describe conceptos como variables, tipos de datos, operadores, control de flujo, E/S digitales y analógicas, tiempo, matemáticas, aleatoriedad y comunicación en serie. También incluye apéndices sobre conexiones de E/S, librerías, señales PWM, comunicación con otros sistemas y palabras reservadas.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pins, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pins, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta la estructura básica del lenguaje de programación de Arduino. La estructura consta de al menos dos funciones, setup() y loop(). La función setup() se ejecuta una sola vez al inicio y se utiliza para configurar las entradas/salidas y otras variables. La función loop() se ejecuta continuamente y contiene el código principal del programa. El documento también explica el uso de llaves, puntos y comas, comentarios, variables y otras características del lenguaje de programación de Arduino.
Este documento presenta la estructura básica del lenguaje de programación de Arduino, la cual se compone de al menos dos funciones: setup() y loop(). La función setup() se ejecuta una sola vez para configurar las variables y pinMode, mientras que la función loop() contiene el código que se ejecuta de forma cíclica. Además, explica conceptos como variables, tipos de datos, comentarios, y estructuras de control de flujo como if/else.
Este documento presenta la estructura básica del lenguaje de programación de Arduino. La estructura consta de al menos dos funciones, setup() y loop(). La función setup() se ejecuta una sola vez al inicio y se utiliza para configurar las entradas/salidas y otras variables. La función loop() se ejecuta continuamente y contiene el código principal del programa. El documento también explica el uso de llaves, puntos y comas, comentarios, variables y otras características del lenguaje de programación de Arduino.
Este libro está destinado a quienes tengan conocimientos de
la programación en Arduino, y poder interpretar y tener mas conocimiento.
Podrás realizar ejercicios, y ver la configuración de las entradas y como esta realizada la conexión de los componentes.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pinMode, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pinMode, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pins, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pins, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento describe las características y el uso básico de la placa Arduino. Explica cómo descargar e instalar el entorno de desarrollo de Arduino, cómo cargar programas en la placa y la estructura básica de los programas de Arduino con las funciones setup() y loop(). También resume los tipos de datos, variables, operadores y funciones disponibles para la programación de Arduino.
Este documento presenta un manual sobre la programación de Arduino. Explica las características básicas de la placa Arduino Duemilanove y cómo programarla. Describe el entorno de desarrollo de Arduino, la estructura básica de los programas, funciones, variables, tipos de datos, entradas y salidas digitales y analógicas, funciones de tiempo y matemáticas, y ejemplos de código.
Este documento describe las características y la programación básica de la placa Arduino. Explica que Arduino es una placa de hardware abierto que puede programarse usando el entorno de desarrollo de Arduino. Detalla los conceptos básicos como las funciones setup() y loop(), las variables, los tipos de datos, las entradas y salidas digitales y analógicas y cómo cargar programas en la placa.
Este documento describe las características y la programación básica de la placa Arduino. Explica que Arduino es una placa de hardware abierto que puede programarse usando el entorno de desarrollo de Arduino. Detalla los conceptos básicos como las funciones setup() y loop(), las variables, los tipos de datos, las entradas y salidas digitales y analógicas y cómo cargar programas en la placa.
Este documento describe las características y funcionalidades básicas de la placa Arduino, incluyendo cómo programarla usando el entorno de desarrollo de Arduino. Explica cómo configurar la comunicación entre la placa y el PC, la estructura básica de los programas de Arduino, y cómo utilizar entradas y salidas digitales y analógicas.
Este documento describe las características y la programación básica de la placa Arduino. Explica que Arduino es una placa de hardware abierto que puede programarse usando el entorno de desarrollo de Arduino. Detalla los conceptos básicos como las funciones setup() y loop(), las variables, los tipos de datos, las entradas y salidas digitales y analógicas y cómo usar el puerto serie para depurar programas.
Este documento presenta un manual de programación para Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). La función setup() se ejecuta una vez al inicio para configurar las variables y pinos, mientras que la función loop() se repite continuamente. También describe conceptos como variables, tipos de datos, operadores, funciones, comentarios y entrada/salida digital y analógica.
Este documento presenta Arduino, una plataforma de desarrollo de hardware abierto que incluye tarjetas electrónicas y software. Explica los componentes básicos de Arduino UNO y cómo programarla usando el entorno de desarrollo integrado (IDE) en la nube. Describe la estructura básica de los programas de Arduino, incluyendo las funciones setup() y loop(), y presenta varias prácticas para encender LEDs usando Arduino.
Este manual proporciona una introducción al lenguaje de programación de Arduino. Explica la estructura básica de los programas de Arduino, incluidas las funciones setup() y loop(), y describe conceptos como variables, tipos de datos, operadores, control de flujo, E/S digitales y analógicas, tiempo, matemáticas, aleatoriedad y comunicación en serie. También incluye apéndices sobre conexiones de E/S, librerías, señales PWM, comunicación con otros sistemas y palabras reservadas.
Este manual proporciona una introducción al lenguaje de programación de Arduino. Explica la estructura básica de los programas de Arduino, incluidas las funciones setup() y loop(), y describe conceptos como variables, tipos de datos, operadores, control de flujo, E/S digitales y analógicas, tiempo, matemáticas, aleatoriedad y comunicación en serie. También incluye apéndices sobre conexiones de E/S, librerías, señales PWM, comunicación con otros sistemas y palabras reservadas.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pins, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pins, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta la estructura básica del lenguaje de programación de Arduino. La estructura consta de al menos dos funciones, setup() y loop(). La función setup() se ejecuta una sola vez al inicio y se utiliza para configurar las entradas/salidas y otras variables. La función loop() se ejecuta continuamente y contiene el código principal del programa. El documento también explica el uso de llaves, puntos y comas, comentarios, variables y otras características del lenguaje de programación de Arduino.
Este documento presenta la estructura básica del lenguaje de programación de Arduino, la cual se compone de al menos dos funciones: setup() y loop(). La función setup() se ejecuta una sola vez para configurar las variables y pinMode, mientras que la función loop() contiene el código que se ejecuta de forma cíclica. Además, explica conceptos como variables, tipos de datos, comentarios, y estructuras de control de flujo como if/else.
Este documento presenta la estructura básica del lenguaje de programación de Arduino. La estructura consta de al menos dos funciones, setup() y loop(). La función setup() se ejecuta una sola vez al inicio y se utiliza para configurar las entradas/salidas y otras variables. La función loop() se ejecuta continuamente y contiene el código principal del programa. El documento también explica el uso de llaves, puntos y comas, comentarios, variables y otras características del lenguaje de programación de Arduino.
Este libro está destinado a quienes tengan conocimientos de
la programación en Arduino, y poder interpretar y tener mas conocimiento.
Podrás realizar ejercicios, y ver la configuración de las entradas y como esta realizada la conexión de los componentes.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pinMode, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pinMode, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pins, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Este documento presenta los conceptos básicos de programación en Arduino. Explica la estructura básica de los programas de Arduino, que consiste en las funciones void setup() y void loop(). setup() se ejecuta una vez al inicio para configurar las variables y pins, mientras que loop() contiene el código principal que se ejecuta de forma continua. También describe conceptos como variables, tipos de datos, operadores lógicos y de control de flujo para programar en Arduino.
Similar a Arduino: programación básica de Arduino (20)
Este manual describe diferentes métodos para el diseño de sistemas electroneumáticos avanzados, incluyendo métodos directos, de bandera, cascada, paso a paso mínimo y máximo. Incluye secciones sobre secuencias, controles lógicos programables y diagnóstico de fallas. El documento proporciona ejemplos y ejercicios para aplicar estos métodos.
Este documento trata sobre controladores lógicos programables (PLC). Presenta una introducción a los PLC, incluyendo su concepto, ventajas, campos de aplicación, estructura y equipos de programación. También clasifica los diferentes tipos de PLC y describe su uso en tableros de control industrial.
El documento consiste en una lista repetida de la dirección web www.FreeLibros.com en más de 200 líneas consecutivas. Proporciona poca información sobre el contenido del sitio web, pero indica que la dirección www.FreeLibros.com es el tema principal del documento.
Este documento presenta una introducción a los controladores lógicos programables (PLCs). Explica que un PLC es un equipo que puede tomar información del mundo exterior, procesarla realizando operaciones lógicas y matemáticas, y ejecutar acciones programadas como respuesta. Describe los elementos básicos de un sistema PLC, incluyendo la unidad central de procesamiento, memoria, módulos de entrada y salida, y dispositivos de entrada y salida. También explica conceptos como el cableado de dispositivos de entrada como interruptores, sens
Este documento presenta una introducción a los autómatas programables (PLC), incluyendo su historia, ventajas e inconvenientes. Explica la estructura interna y externa de los PLC, sus áreas de memoria y modos de funcionamiento. Finalmente, resume las instrucciones básicas de programación para PLC como operadores lógicos, temporizadores, contadores y saltos.
The document is a system manual that provides information about installing, programming, and configuring S7-200 SMART CPUs and expansion modules, including an overview of the products, new features, communication options, and instructions for connecting to a CPU and creating a sample program.
Siemens' SIMATIC S7-200 SMART PLC offers an affordable and flexible automation solution for developing markets. It provides a range of CPU modules with integrated I/O and communication ports. Additional I/O and communication can be added via cost-effective signal boards. The PLC uses a high-speed processor and user-friendly software to provide powerful motion control, networking, and programming capabilities despite its low cost. It can be integrated with other Siemens products to create complete automation solutions for applications like packaging machines.
El documento describe diferentes métodos para variar la velocidad de motores eléctricos de corriente alterna de dos o tres velocidades, incluyendo el uso de dos bobinados independientes, la conexión Dahlander y variadores de frecuencia electrónicos. Se explican circuitos de potencia y mando para cada método y se proporcionan ejemplos de relaciones de velocidad que se pueden lograr.
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
El documento trata sobre buses industriales y de campo. Contiene 16 prácticas sobre diferentes buses como Profibus, Interbus, DeviceNet, ControlNet, DH+ y RIO, Ethernet, MPI y AS-i utilizando equipos Siemens y Rockwell Automation. El autor es José Miguel Rubio Calin, ingeniero técnico industrial que ha desarrollado las prácticas para su uso en centros de formación.
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
Este documento trata sobre electricidad y automatismos eléctricos. Explica conceptos básicos como la generación, transporte y medición de la corriente eléctrica, así como los componentes pasivos como resistencias, bobinas y condensadores. También analiza circuitos eléctricos en corriente continua y alterna monofásica, incluyendo cálculos, leyes y métodos de resolución. Por último, introduce conceptos de electromagnetismo.
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
Este documento presenta un manual sobre el diseño y desarrollo de circuitos impresos utilizando el software libre Kicad. Explica conceptos básicos como footprints, pads, pistas, capas y librerías. Incluye instrucciones para la instalación de Kicad en Windows y Linux, y guías detalladas sobre la edición de esquemas, la creación de la placa de circuito impreso y el diseño de pistas.
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
Este documento describe las condiciones de uso de una tesis protegida por derechos de autor. Se requiere reconocer los derechos del autor y citarlo correctamente. No se puede usar la tesis con fines comerciales ni distribuirla sin permiso.
Este documento presenta información sobre la documentación técnica necesaria para proyectos de automatización. Explica que la documentación debe incluir planos de instalación, diagramas de bloques, esquemas de circuitos, diagramas y tablas, y planos de conexiones. Además, detalla normas para la documentación como IEC 61082 e IEC 60617 y proporciona detalles sobre la identificación de componentes a través de códigos normalizados.
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
Este documento presenta un libro sobre electrónica digital que introduce conceptos básicos de lógica digital como sistemas de numeración, representación de números, codificación de información, álgebra de conmutación y funciones lógicas básicas. El libro fue desarrollado por un equipo de 11 profesores e ingenieros de la Universidad Nacional de Educación a Distancia y está destinado a estudiantes de ingeniería eléctrica y electrónica.
ESPERAMOS QUE ESTA INFOGRAFÍA SEA UNA HERRAMIENTA ÚTIL Y EDUCATIVA QUE INSPIRE A MÁS PERSONAS A ADENTRARSE EN EL APASIONANTE CAMPO DE LA INGENIERÍA CIVIŁ. ¡ACOMPAÑANOS EN ESTE VIAJE DE APRENDIZAJE Y DESCUBRIMIENTO
Aletas (Superficies extendidas) y aislantes térmicos
Arduino: programación básica de Arduino
1. Práctica 1. Programación básica en Arduino
Fundamentos de Sistemas e Instrumentación
Profesores: Andrés Úbeda Castellanos, Santiago T. Puente Méndez
Duración: 2 Sesiones
Contenidos
En esta práctica, se presentan algunos ejemplos básicos de programación en Arduino y se
introducen los fundamentos para la programación de la lectura de sensores mediante esta
plataforma. En la práctica se evaluarán algunos ejemplos sencillos con un simulador online.
En el guión de prácticas se incluyen dos tutoriales básicos de programación de Arduino y de
utilización del simulador online de Arduino que se emplearán para resolver los ejercicios
propuestos al final del guión de prácticas.
Objetivos de la práctica
- Conocer el entorno de programación de Arduino
- Ser capaz de programar códigos sencillos en Arduino
- Entender el concepto de adquisición de una señal analógica
-
2. FSI-33612 2/15
Tutorial 1. Manual básico de Arduino
Características generales de la placa
Se trata de una placa open hardware por lo que su diseño es de libre distribución y utilización, que
incluso podemos construir nosotros mismos (En la Figura 1 se observa el aspecto de la placa). En
la siguiente web puede encontrarse mucha información relativa a la placa:
http://arduino.cc/
Figura 1. Aspecto de la placa Arduino Uno.
El programa se implementará haciendo uso del entorno de programación propio de arduino y se
transferirá empleando un cable USB. Si bien en el caso de la placa USB no es preciso utilizar una
fuente de alimentación externa, ya que el propio cable USB la proporciona, para la realización de
algunos de los experimentos prácticos sí que será necesario disponer de una fuente de
alimentación externa ya que la alimentación proporcionada por el USB puede no ser suficiente. El
voltaje de la fuente puede estar entre 6 y 25 Voltios.
Entorno de desarrollo
Para programar la placa es necesario descargarse de la página web de Arduino el entorno de
desarrollo (IDE). Se dispone de versiones para Windows y para MAC, así como las fuentes para
compilarlas en LINUX. En la Figura 2 se muestra el aspecto del entorno de programación. En el
caso de disponer de una placa USB es necesario instalar los drivers FTDI. Estos drivers vienen
incluidos en el paquete de Arduino mencionado anteriormente. Existen en la web versiones para
distintos sistemas operativos.
3. FSI-33612 3/15
Figura 2. Entorno de desarrollo.
Lo primero que tenemos que hacer para comenzar a trabajar con el entorno de desarrollo de
arduino es configurar las comunicaciones entre la placa Arduino y el PC. Para ello deberemos
abrir en el menú "Tools" la opción "Serial Port". En esta opción deberemos seleccionar el puerto
serie al que está conectada nuestra placa. En Windows, si desconocemos el puerto al que está
conectado nuestra placa podemos descubrirlo a través del Administrador de dispositivos (Puertos
COM & LPT/ USB Serial Port).
El primer paso para comprobar que todo lo que hemos hecho hasta ahora está bien y
familiarizarnos con el interfaz de desarrollo, es abrir uno de los ejemplos. Se recomienda abrir el
ejemplo "Blink". Para ello debemos acceder a través del menú File -> Sketchbook -> Examples ->
Digital -> Blink.
El ejemplo "Blink" lo único que hace es parpadear un LED que está colocado en el pin número 13
de la placa. Vamos a ver qué hay que hacer para subir el programa a la placa Arduino. Primero
comprobamos que el código fuente es el correcto. Para ello pulsamos el botón de verificación de
código (Figura 2, botón A). Si todo va bien deberá aparecer un mensaje en la parte inferior de la
interfaz indicando "Compilación terminada". Una vez que el código ha sido verificado
4. FSI-33612 4/15
procederemos a cargarlo en la placa. Para ello tenemos que pulsar el botón de carga (Figura 2,
botón B).
Durante la carga del programa, en la placa USB, se encenderán los LED que indican que se están
enviando y recibiendo información por el puerto serie: TX/RX. Si todo se ha realizado
correctamente debe aparecer el mensaje "Carga finalizada". Ahora tan sólo queda esperar unos 8
segundos aproximadamente para comprobar que todo ha salido bien. Si el led colocado en el pin
13 de la placa se enciende y se apaga cada segundo entonces todo ha ido bien. Por fin tenemos
todo listo para empezar a trabajar con la placa Arduino.
Estructura básica de un programa
La estructura básica de programación de Arduino es bastante simple y divide la ejecución en dos
partes: setup y loop. Setup() constituye la preparación del programa y loop() es la ejecución. En la
función Setup() se incluye la declaración de variables y se trata de la primera función que se
ejecuta en el programa. Esta función se ejecuta una única vez y es empleada para configurar el
pinMode (p. ej. si un determinado pin digital es de entrada o salida) e inicializar la comunicación
serie. La función loop() incluye el código a ser ejecutado continuamente (leyendo las entradas de
la placa, salidas, etc.).
void setup() {
inMode(pin, OUTPUT); // Establece 'pin' como salida
}
void loop() {
digitalWrite(pin, HIGH); // Activa 'pin'
delay(1000); // Pausa un segundo
digitalWrite(pin, LOW); // Desactiva 'pin'
delay(1000);
}
Como se observa en este bloque de código cada instrucción acaba con ; y los comentarios se
indican con //. Al igual que en C se pueden introducir bloques de comentarios con /* ... */.
Funciones
Una función es un bloque de código identificado por un nombre y que es ejecutado cuando la
función es llamada. La declaración de una función incluye en primer lugar el tipo de datos
que devuelve la función (e.j. int si lo que devuelve es un valor entero). Después del tipo de
datos se especifica el nombre de la función.
int delayVal()
{
int v; // crea una variable temporal 'v'
v = analogRead(pot); // lee el valor del potenciómetro
5. FSI-33612 5/15
v /= 4; // convierte los valores 0-1023 a 0-255
return v; // devuelve el valor final de la variable
}
Variables
Una variable debe ser declarada y opcionalmente asignada a un determinado valor. En la
declaración de la variable se indica el tipo de datos que almacenará (int, float, long)
int inputVariable = 0;
Una variable puede ser declarada en el inicio del programa antes de setup(), localmente a una
determinada función e incluso dentro de un bloque como pueda ser un bucle. El sitio en el que la
variable es declarada determina el ámbito de la misma. Una variable global es aquella que puede
ser empleada en cualquier función del programa. Estas variables deben ser declaradas al inicio
del programa (antes de la función setup()).
int v; // 'v' es visible en todo el programa
void setup()
{
// no se requiere setup
}
void loop()
{
for (int i=0; i<20;i++) // 'i' es visible solo en el bucle
i++;
float f; // 'f' es visible únicamente en la función loop()
}
Tipos de datos
Arduino permite manejar los siguientes tipos de datos:
• Byte. Almacena un valor numérico de 8 bits. Tienen un rango de 0-255.
• Int. Almacena un valor entero de 16 bits con un rango de 32,767 a -32,768.
• Long. Valor entero almacenado en 32 bits con un rango de 2,147,483,647 a -
2,147,483,648.
• Float. Tipo coma flotante almacenado en 32 bits con un rango de 3.4028235E+38 a -
3.4028235E+38.
• Arrays Se trata de una colección de valores que pueden ser accedidos con un número de
índice (el primer valor del índice es 0). Ejemplos de utilización:
o Definición y asignación. int myArray[] = {value0, value1, value2...}
o Definición. int myArray[5]; // declara un array de 6 enteros
o Asignación del cuarto componente. myArray[3] = 10;
6. FSI-33612 4/15
procederemos a cargarlo en la placa. Para ello tenemos que pulsar el botón de carga (Figura 2,
botón B).
Durante la carga del programa, en la placa USB, se encenderán los LED que indican que se están
enviando y recibiendo información por el puerto serie: TX/RX. Si todo se ha realizado
correctamente debe aparecer el mensaje "Carga finalizada". Ahora tan sólo queda esperar unos 8
segundos aproximadamente para comprobar que todo ha salido bien. Si el led colocado en el pin
13 de la placa se enciende y se apaga cada segundo entonces todo ha ido bien. Por fin tenemos
todo listo para empezar a trabajar con la placa Arduino.
Estructura básica de un programa
La estructura básica de programación de Arduino es bastante simple y divide la ejecución en dos
partes: setup y loop. Setup() constituye la preparación del programa y loop() es la ejecución. En la
función Setup() se incluye la declaración de variables y se trata de la primera función que se
ejecuta en el programa. Esta función se ejecuta una única vez y es empleada para configurar el
pinMode (p. ej. si un determinado pin digital es de entrada o salida) e inicializar la comunicación
serie. La función loop() incluye el código a ser ejecutado continuamente (leyendo las entradas de
la placa, salidas, etc.).
void setup() {
inMode(pin, OUTPUT); // Establece 'pin' como salida
}
void loop() {
digitalWrite(pin, HIGH); // Activa 'pin'
delay(1000); // Pausa un segundo
digitalWrite(pin, LOW); // Desactiva 'pin'
delay(1000);
}
Como se observa en este bloque de código cada instrucción acaba con ; y los comentarios se
indican con //. Al igual que en C se pueden introducir bloques de comentarios con /* ... */.
Funciones
Una función es un bloque de código identificado por un nombre y que es ejecutado cuando la
función es llamada. La declaración de una función incluye en primer lugar el tipo de datos
que devuelve la función (e.j. int si lo que devuelve es un valor entero). Después del tipo de
datos se especifica el nombre de la función.
int delayVal()
{
int v; // crea una variable temporal 'v'
v = analogRead(pot); // lee el valor del potenciómetro
7. FSI-33612 7/15
Introduce un nivel alto (HIGH) o bajo (LOW) en el pin digital especificado. De nuevo, el pin puede
ser especificado con una variable o una constante 0-13. Ej. digitalWrite(pin, HIGH);
Función analogRead(pin)
Lee el valor desde el pin analógico especificado con una resolución de 10 bits. Esta función solo
funciona en los pines analógicos (0-5). El valor resultante es un entero de 0 a 1023. Los pines
analógicos, a diferencia de los digitales no necesitan declararse previamente como INPUT o
OUTPUT.
Función analogWrite(pin, value)
Escribe un valor pseudo-analógico usando modulación por ancho de pulso (PWM) en un pin de
salida marcado como PWM. Esta función está activa para los pines 3, 5, 6, 9, 10, 11. Ej
analogWrite(pin, v); // escribe 'v' en el 'pin' analógico. Puede especificarse un valor de 0 - 255. Un
valor 0 genera 0 V en el pin especificado y 255 genera 5 V. Para valores de 0 a 255, el pin alterna
rápidamente entre 0 V y 5 V, cuanto mayor sea el valor, más a menudo el pin se encuentra en
HIGH (5 V). Por ejemplo, un valor de 64 será 0 V tres cuartas partes del tiempo y 5 V una cuarta
parte. Un valor de 128 será 0 V la mitad del tiempo y 5 V la otra mitad. Un valor de 192 será 0 V
una cuarta parte del tiempo y 5 V tres cuartas partes.
Funciones de tiempo y matemáticas
• delay(ms). Realiza una pausa en el programa la cantidad de tiempo en milisegundos
especificada en el parámetro (máximo 1000, mínimo 1).
• millis(). Devuelve la cantidad de milisegundos que lleva la placa Arduino ejecutando el
programa actual como un valor long unsigned. Después de de 9 horas el contador vuelve
a 0.
• min(x,y). max(x,y). Devuelve el mínimo y el máximo respectivamente de entre sus
parámetros.
Funciones de generación aleatoria
• randomSeed(seed). Especifica un valor o semilla como el punto de inicio para la función
random(). Este parámetro debe ser realmente aleatorio y para ello puede emplearse la
función millis() o incluso analogRead() para leer ruido eléctrico desde una entrada
analógica.
• random(max), random(min, max). Esta función devuelve un valor aleatorio entre el rango
especificado.
8. FSI-33612 5/15
v /= 4; // convierte los valores 0-1023 a 0-255
return v; // devuelve el valor final de la variable
}
Variables
Una variable debe ser declarada y opcionalmente asignada a un determinado valor. En la
declaración de la variable se indica el tipo de datos que almacenará (int, float, long)
int inputVariable = 0;
Una variable puede ser declarada en el inicio del programa antes de setup(), localmente a una
determinada función e incluso dentro de un bloque como pueda ser un bucle. El sitio en el que la
variable es declarada determina el ámbito de la misma. Una variable global es aquella que puede
ser empleada en cualquier función del programa. Estas variables deben ser declaradas al inicio
del programa (antes de la función setup()).
int v; // 'v' es visible en todo el programa
void setup()
{
// no se requiere setup
}
void loop()
{
for (int i=0; i<20;i++) // 'i' es visible solo en el bucle
i++;
float f; // 'f' es visible únicamente en la función loop()
}
Tipos de datos
Arduino permite manejar los siguientes tipos de datos:
• Byte. Almacena un valor numérico de 8 bits. Tienen un rango de 0-255.
• Int. Almacena un valor entero de 16 bits con un rango de 32,767 a -32,768.
• Long. Valor entero almacenado en 32 bits con un rango de 2,147,483,647 a -
2,147,483,648.
• Float. Tipo coma flotante almacenado en 32 bits con un rango de 3.4028235E+38 a -
3.4028235E+38.
• Arrays Se trata de una colección de valores que pueden ser accedidos con un número de
índice (el primer valor del índice es 0). Ejemplos de utilización:
o Definición y asignación. int myArray[] = {value0, value1, value2...}
o Definición. int myArray[5]; // declara un array de 6 enteros
o Asignación del cuarto componente. myArray[3] = 10;
9. FSI-33612 9/15
Tutorial 2. Uso del simulador de Arduino
Antes de realizar un circuito real es posible simularlo previamente como manera de asegurar que
todo funciona correctamente. Para ello, existen herramientas como la ofrecida por Autodesk y
disponible de forma gratuita en la página https://tinkercad.com/. A continuación se muestra en
unas cuantos pasos como realizar un circuito básico con esta herramienta.
1. Después de registrarse y acceder al Dashboard de la herramienta, seleccionar la opción
“Circuits – Create new Circuit”
2. Se abrirá un proyecto nuevo donde se pueden empezar a introducir componentes.
10. FSI-33612 10/15
Existen diferentes opciones dentro del circuito. Algunas de las más importantes:
- Para editar el código se debe seleccionar la opción Code Editor.
- Para añadir componentes de la librería de componentes si se selecciona la
opción +Components.
- Para iniciar la simulación se selecciona la opción Start Simulation.
4. Si se se selecciona la opción +Components, en la parte inferior aparecerá un desplegable con
los distintos componentes disponibles. El principal es la placa Arduino Uno dentro de la
subcarpeta Arduino Basic Kit.
5. Para introducir un componente en el circuito basta con pinchar en una vez en él y otra sobre el
esquema en la posición deseada. Para eliminarlo se puede pulsar sobre el componente y
presionar Suprimir o Retroceso. Los componentes con pines se pueden interconectar mediante
cables. Para ello, hay que pinchar sobre un pin y después pinchar en otro pin para cerrar la
conexión. Todos los elementos introducidos son fácilmente editables.
Como ejemplo se muestra el siguiente esquema que incluye una placa Arduino UNO, un LED y
una resistencia de 220 ohmios:
11. FSI-33612 11/15
6. Si se desea modificar el código, pulsamos sobre Code Editor, desactivamos el botón Block y
se accede al editor, como se muestra a continuación (en este ejemplo se ha introducido un código
que hace parpadear el LED verde cada 1 segundo).
7. Una vez introducido el código correspondiente se puede simular la ejecución real del circuito
seleccionando la opción Start Simulation y se observará como el LED verde del circuito se
apaga y se enciende a la frecuencia deseada.
12. FSI-33612 12/15
EJERCICIOS PROPUESTOS
Ejercicio 1
Encendido de un LED
El siguiente ejemplo muestra como activar un LED mediante la placa Arduino. El LED, conectado a uno
de los pines de salida de la placa (pin 13), parpadea con un período determinado (200 ms) y se
muestra por el puerto SERIAL cuando el LED está a nivel BAJO o ALTO.
El esquema de montaje es el siguiente:
Componentes: placa ARDUINO UNO, resistencia 220 Ω y LED de color verde.
CÓDIGO
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
Serial.println("NIVEL ALTO");
delay(200); // wait for 200 ms
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.println("NIVEL BAJO");
delay(200); // wait for 200 ms
}
13. FSI-33612 13/15
Se pide:
1. Simular el esquema propuesto con la herramienta online.
2. Modificar el circuito para que el LED se encienda al conectarlo al pin 12 y modificar el período
de parpadeo de 200ms a 1s.
3. Realizar un programa que ejecute el encendido correlativo de cuatro LEDs conectados a los
pins 10, 11, 12 y 13 con una período de 500 ms.
4. Realizar un programa que simule el comportamiento de un semáforo. Emplear para ello tres
LEDs de colores rojo, verde y naranja. La secuencia que deben seguir es la siguiente: Verde (8
segundos) – Naranja (3 segundos) – Rojo (10 segundos).
(Opcional) Hacer parpadear el LED durante el estado amarillo con un período de 500 ms.
Ejercicio 2
Utilización de pulsadores
El siguiente ejemplo muestra como utilizar un pulsador para variar el funcionamiento de un circuito. El
pulsador se conecta al pin 7 (configurado como pin de entrada) y actúa sobre el pin 13 (configurado
como pin de salida) que enciende y apaga el LED.
El esquema de montaje es el siguiente:
Componentes: placa ARDUINO UNO, resistencia 220 Ω (para el LED), resistencia 10 kΩ (para el
pulsador), pulsador y LED de color verde.
14. FSI-33612 14/15
CÓDIGO
int ledPin = 13; // choose the pin for the LED
int inPin = 7; // choose the input pin (for a pushbutton)
int val = 0; // variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inPin, INPUT); // declare pushbutton as input
Serial.begin(9600);
}
void loop(){
val = digitalRead(inPin); // read input value
Serial.println(val);
if (val == HIGH) { // check if the input is HIGH (button pressed)
digitalWrite(ledPin, HIGH); // turn LED ON
} else {
digitalWrite(ledPin, LOW); // turn LED OFF
}
}
Se pide:
1. Simular el esquema propuesto con la herramienta online.
2. Realizar un programa que haga parpadear un LED con un período de 500 ms y que al activar el
pulsador cambie el período de parpadeo a 1 segundo.
3. Realizar un programa que simule el funcionamiento de un paso a nivel mediante un LED rojo y
un LED verde. El LED rojo permanece iluminado hasta que se active un pulsador, que apagará el
LED rojo y encenderá el LED verde. Cuando se suelte el pulsador, el LED rojo volverá a
iluminarse y el LED verde se apagará.
Ejercicio 3
Circuitos con sensores básicos analógicos (LDR)
Una fotorresistencia (Light-Dependent Resistor, LDR) es un componente electrónico cuya resistencia
disminuye con el aumento de intensidad de luz incidente. En la siguiente imagen se muestra su símbolo
eléctrico.
El valor de resistencia eléctrica de un LDR es bajo cuando hay luz incidiendo en él (puede descender
hasta 50 ohms) y muy alto cuando está a oscuras (varios megaohmios).
El siguiente ejemplo realiza el encendido de un LED (pin 13) en función de la intensidad de luz
incidente sobre un fotorresitor. El LED permanece encendido cuando no hay luz y se apaga cuando la
intensidad supera un determinado nivel. El valor del fotorresistor se mide como una entrada analógica
(A0).
15. FSI-33612 15/15
Componentes: placa ARDUINO UNO, resistencia 220 Ω (para el LED), resistencia 1O kΩ (para el
LDR), sensor LDR y LED de color verde.
CÓDIGO
//Constants
const int pResistor = A0; // Analog pin A0
const int ledPin=13; // Led pin at Arduino pin 9
//Variables
int value; // Store value from photoresistor (0-1023)
void setup(){
pinMode(ledPin, OUTPUT); // Set pin 9 as an output
pinMode(pResistor, INPUT);// Set analog A0 pin as an input
Serial.begin(9600);
}
void loop(){
value = analogRead(pResistor);
Serial.println(value);
if (value > 900){
digitalWrite(ledPin, LOW); //Turn led off
}
else{
digitalWrite(ledPin, HIGH); //Turn led on
}
delay(500); //Small delay
}
Se pide:
1. Simular el esquema propuesto con la herramienta online.
2. Realizar un programa que haga parpadear el LED con un período variable que sea dependiente
del valor del fotorresistor.
16. Práctica 2. Procesado básico de señales
Fundamentos de Sistemas e Instrumentación
Duración: 2 Sesiones
Profesores: Andrés Úbeda Castellanos, Santiago T. Puente Méndez
Contenidos
En esta práctica, se presentan las herramientas básicas de programación en
Arduino para el tratamiento de señales analógicas y se plantean ejemplos y
ejercicios relacionados con el procesado y extracción de las características de
interés de una señal.
Objetivos de la práctica
- Conocer las herramientas de programación necesarias en el procesamiento
básico de señales analógicas: bucles, funciones de tiempo, funciones
matemáticas, etc.
- Ser capaz de aplicar procesamientos básicos sobre una señal analógica:
obtención de máximos y mínimos, filtros de media, normalización, etc.
- Conocer el funcionamiento del monitor serie para la representación de
características obtenidas tras el procesado de la señal.
17. FSI-33612 11/15
6. Si se desea modificar el código, pulsamos sobre Code Editor, desactivamos el botón Block y
se accede al editor, como se muestra a continuación (en este ejemplo se ha introducido un código
que hace parpadear el LED verde cada 1 segundo).
7. Una vez introducido el código correspondiente se puede simular la ejecución real del circuito
seleccionando la opción Start Simulation y se observará como el LED verde del circuito se
apaga y se enciende a la frecuencia deseada.
18. FSI-33612 3/6
Si se introduce el siguiente código se obtendrá el valor de entrada analógico (0-
1023) y se mostrará por el monitor serie. De esta manera, es posible hacer variar el
valor de la señal analógica de forma manual. Para ello basta con pinchar sobre el
potenciómetro en simulación y rotarlo.
//Constants
const int pResistor = A0; // Analog pin A0
//Variables
int value; // Store value from resistor (0-1023)
void setup()
{
pinMode(pResistor, INPUT);// Set analog A0 pin as an input
Serial.begin(9600);
}
void loop()
{
value = analogRead(pResistor);
Serial.println(value);
}
Funciones de tiempo y matemáticas
A la hora de tratar con señales en tiempo real es muy útil poder conocer el tiempo de
ejecución del programa para poder realizar determinadas acciones en un instante de
tiempo concreto. Existen dos funciones de tiempo principales en Arduino:
• delay(ms). Realiza una pausa en el programa la cantidad de tiempo en
milisegundos especificada en el parámetro.
• millis(). Devuelve la cantidad de milisegundos que lleva la placa Arduino
ejecutando el programa actual como un valor long unsigned. Después de de
9 horas el contador vuelve a 0.
• min(x,y). max(x,y). Devuelve el mínimo y el máximo respectivamente de
entre sus parámetros.
19. FSI-33612 12/15
EJERCICIOS PROPUESTOS
Ejercicio 1
Encendido de un LED
El siguiente ejemplo muestra como activar un LED mediante la placa Arduino. El LED, conectado a uno
de los pines de salida de la placa (pin 13), parpadea con un período determinado (200 ms) y se
muestra por el puerto SERIAL cuando el LED está a nivel BAJO o ALTO.
El esquema de montaje es el siguiente:
Componentes: placa ARDUINO UNO, resistencia 220 Ω y LED de color verde.
CÓDIGO
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
Serial.println("NIVEL ALTO");
delay(200); // wait for 200 ms
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.println("NIVEL BAJO");
delay(200); // wait for 200 ms
}
20. FSI-33612 5/6
EJERCICIOS PROPUESTOS
Ejercicio 1
Cálculo de máximos, mínimos y valor medio.
Dada una señal analógica simulada mediante un potenciómetro, se desea obtener
características generales de la misma.
Componentes: placa ARDUINO UNO, potenciómetro
Se pide:
1. Simular el esquema propuesto con la herramienta online.
2. Mostrar el valor del potenciómetro por el monitor serie junto al mensaje: “Valor
actual de la señal”.
3. Modificar el código para que se muestre el valor máximo y mínimo de la señal.
Los valores máximos y mínimos serán los correspondientes a toda la ejecución del
programa. Mostrar el mensaje: “Valor máximo” y “Valor mínimo”.
4. Modificar el código para que se muestre el valor máximo y mínimo de la señal
cada 5 segundos (se recomienda utilizar la función millis). Los valores máximos y
mínimos se obtendrán para cada período de 5 segundos.
5. Modificar el código para que se muestre el valor medio de la señal cada 5
segundos. El valor medio se obtendrá para cada período de 5 segundos. Mostar el
mensaje: “Valor medio”.
21. FSI-33612 6/6
Ejercicio 2
Normalización de la señal y filtro de media móvil
Partiendo del esquema del ejercicio anterior
se pide:
1. Normalizar la señal del potenciómetro entre 0 y 1 y mostrar por el monitor serie.
2. Aplicar un filtro de media móvil simple (n=5) a la señal sin normalizar y mostrar el
valor original y filtrado de cada dato medido por el monitor serie.
3. Modificar el valor de n para ver que efectos se producen sobre la señal. Se debe
aplicar el filtro, con distintos valores de n, sobre la misma señal de entrada.
Nota: Para observar mejor este efecto se recomienda copiar los datos del monitor
serie en una hoja de cálculo en Excel y representar ambas señales.
22. Práctica 3. Introducción a la plataforma de sensores
e-Health
Fundamentos de Sistemas e Instrumentación
Duración: 1 Sesión
Profesores: Andrés Úbeda Castellanos, Santiago T. Puente Méndez
Contenidos
En esta práctica, se presenta la plataforma de sensores e-Health, una plataforma
compatible con Arduino que permite medir bioseñales y monitorizar la actividad
corporal.
Objetivos de la práctica
- Conocer el funcionamiento de la placa Arduino UNO y el shield e-Health.
- Experimentar con los distintos tipos de señales biomédicas que pueden
medirse mediante la plataforma e-Health.
23. FSI-33612 2/11
Introducción
El análisis de bioseñales, es decir, de señales generadas por el organismo, es una
herramienta de gran utilidad en el diagnóstico y el tratamiento de enfermedades que
pueden ser monitorizadas a partir de la actividad medida sobre el paciente. La
bioseñales suelen ser de tipo bioeléctrico: electrocardiograma (ECG),
electroencefalograma (EEG), respuesta galvánica de la piel (GSR), entre otras,
aunque también las hay de tipo no eléctrico, por ejemplo, la presión sanguínea.
En esta práctica se analizará como medir algunas de las bioseñales anteriormente
mencionadas y cuál es su utilidad. Para ello, se empleará la plataforma de sensores
e-Health, un dispositivo que permite conectar distintos sensores biomédicos y medir
y procesar bioseñales.
Figura 1. Componentes del sistema e-Health
Placa médica e-Health
La placa de sensores e-Health V2.0 permite implementar aplicaciones biométricas y
medicas donde es necesario monitorizar la actividad corporal (Figura 1). Esta placa
es compatible con Arduino y Raspberry Pi y consta de 10 sensores diferentes: pulso,
oxígeno en sangre (SPO2), respiración, temperatura corporal, electrocardiograma
(ECG), glucómetro, respuesta galvánica de la piel (GSR), presión sanguínea,
acelerómetro y electromiograma (EMG).
Esta información puede ser usada para monitorizar el estado de un paciente en
tiempo real o para obtener datos sensibles que puedan ser analizados en el
diagnóstico médico. La información biométrica recogida se puede enviar de forma
inalámbrica usando cualquiera de las 6 opciones de conectividad disponibles: Wi-Fi,
3G, GPRS, Bluetooth, 802.15.4 y ZigBee dependiendo de la aplicación.
Se pueden enviar imágenes y vídeos en tiempo real acoplando una cámara al
módulo 3G. Además, los datos se pueden mandar directamente al portátil o al
Smartphone a través de la nube. Existen aplicaciones de Android y iPhone
diseñadas para visualizar de forma sencilla la información del paciente.
24. FSI-33612 3/11
Figura 2a. Estructura de la placa e-Health
Figura 2b. Estructura de la placa e-Health
Pulso y oxígeno en sangre
La oximetría de pulso es un método no invasivo que indica la saturación de oxígeno
arterial de la hemoglobina funcional. La saturación de oxígeno se define como la
medida de la cantidad de oxígeno disuelta en la sangre, basada en la detección de
hemoglobina y deoxihemoglobina.
Un oxímetro de pulso es útil en cualquier entorno en el que el que la oxigenación del
paciente es inestable, esto incluye cuidados intensivos, operaciones, recuperación y
25. FSI-33612 4/11
emergencias, pero también en otros entornos como en las cabinas de avión
despresurizadas, para poder evaluar el grado de oxigenación del piloto.
Los rangos aceptables en pacientes oscilan entre 95% y 99%. Un rango menor,
entre el 88% y el 94%, puede ser síntoma de hipoxia. Un porcentaje del 100% puede
indicar un envenenamiento por inhalación de monóxido de carbono.
Figura 3. Oxímetro
Respiración
La respiración anormal o los cambios en el ritmo de respiración pueden ser
indicadores de inestabilidad fisiológica, y en muchos casos, el ritmo de respiración
es un indicador temprano de esta inestabilidad. Por tanto, la monitorización del ritmo
de respiración es crítica para evaluar el estado de un paciente.
El sensor de respiración puede alertar de la presencia de hipoxemia y apnea. Este
sensor consiste en un hilo flexible que se coloca detrás de las orejas y dos puntas
que se colocan en los orificios nasales. La respiración se mide a través de estas
puntas.
Figura 4. Colocación del sensor de respiración
Temperatura corporal
26. FSI-33612 5/11
La temperatura corporal depende del lugar del cuerpo en el que se realiza la medida
y de la hora del día y el nivel de actividad de la persona. La temperatura media
corporal comúnmente aceptada es de 37ºC. En adultos sanos, la temperatura del
cuerpo fluctúa unos 0.5ºC a lo largo del día, con temperaturas menores por la
mañana y temperaturas más altas por la tarde y por la noche, dependiendo de las
necesidades y los cambios de actividad.
En el campo médico, la monitorización de la temperatura es de gran importancia, ya
que una temperatura muy alta es síntoma de muchas enfermedades. En función de
ello, se pueden definir varios rangos de temperatura corporal:
Hipotermia <35.0 °C (95.0 °F)
Normal 36.5–37.5 °C (97.7–99.5 °F)
Fiebre o hipertermia >37.5–38.3 °C (99.5–100.9 °F
Hiperpirexia >40.0–41.5 °C (104–106.7 °F)
Figura 5. Sensor de temperaturas
Acelerómetro
En muchos casos, es necesario monitorizar la posición del cuerpo y los movimientos
del mismo por su relación con enfermedades específicas, por ejemplo, la apnea o el
síndrome de las piernas inquietas. El análisis de movimientos durante el sueño
ayuda a determinar la calidad del descanso y los patrones irregulares de sueño. El
uso de un sensor de posición corporal es también útil para detectar caídas de
personas mayores o personas con discapacidad.
27. FSI-33612 6/11
Figura 6. Acelerómetro
GSR
La medida de la conductividad de la piel, también conocida como respuesta
galvánica de la piel (GSR), es de gran interés ya que las glándulas sudoríparas
están controladas por el sistema nervioso simpático, por lo que momentos de
emoción extrema pueden cambiar la resistencia eléctrica de la piel. Es, por tanto, un
método para medir la excitación fisiológica o psicológica debida al estrés, un shock,
etc.
Figura 7. Sensor de respuesta galvánica de la piel (GSR)
Electromiografía
La electromiografía (EMG) consiste en el registro de la actividad muscular a partir de
la actividad eléctrica derivada de la contracción de las fibras musculares. Existen
diversas formas de registrar la actividad eléctrica, tanto invasiva como no
invasivamente. En esta práctica se propone el uso de electrodos de contacto
bipolares (ver figura 8).
28. FSI-33612 7/11
Figura 8. Electrodos EMG y placa e-Health
Los electrodos bipolares permiten registrar la diferencia de potencial eléctrico entre
dos puntos, generalmente sobre el vientre del músculo a evaluar. A continuación, se
muestra un ejemplo de registro de señales EMG sobre el bíceps (fuente:
www.cooking_hacks.com):
Figura 9. Ejemplo de colocación de electrodos EMG sobre el biceps
Se dispone de tres electrodos: MID, colocado sobre el centro del vientre del
músculo; END, colocado en el extremo del músculo; y GND, colocado en una zona
neutra, por ejemplo sobre el codo. Estos electrodos irán conectados a la placa e-
Health en los pines destinados a la lectura de señales EMG (ver Figura 9).
Adicionalmente, un potenciómetro situado en la placa permite cambiar la ganancia
de la señal para ajustarla a nuestras necesidades (Figura 10).
29. FSI-33612 8/11
Figura 10. Estructura de la placa e-Health. Conexión de electodos EMG.
Electrocardiograma
El electrocardiograma (ECG) es la representación gráfica de la actividad eléctrica del
corazón, que se obtiene, desde la superficie corporal, en el pecho. Es el instrumento
principal de la electrofisiología cardíaca y tiene una función relevante en el cribado y
diagnóstico de enfermedades cardiovasculares. También es útil para saber la
duración del ciclo cardíaco. Algunos ejemplos de patologías detectables mediante el
análisis ECG son:
• Evidencia de hipertrofia en el músculo cardíaco.
• Evidencia de daño en determinadas partes del músculo cardíaco.
• Interrupción del flujo sanguíneo al corazón.
• Patrones anormales del ritmo cardíaco.
• Prevención de muerte súbita.
El aspecto típico de una señal ECG en el momento de la pulsación cardíaca es el
siguiente (fuente: Cooking Hacks):
Figura 11. Comportamiento de una pulsación cardíaca
Para medir la señal ECG se utilizan un par de electrodos bipolares y una referencia.
La conexión de los electrodos en la placa e-Health se muestra a continuación:
30. FSI-33612 9/11
Figura 12. Conexión de los electrodos ECG
Una vez conectados a la placa, los electrodos deben colocarse aproximadamente en
las zonas mostradas a continuación:
Figura 13. Posicionamiento de los electrodos ECG
31. FSI-33612 10/11
Ejercicio 1
Utilización de sensores y placa e-Health
Materiales necesarios:
• 1x Arduino One
• 1x e-Health Sensor Shield
• Cable USB
• Sensores:
• 1x Oxímetro (código: PulsioximeterExample)
• 1x Sensor de temperatura (código: TemperatureExample)
• 1x Sensor de respuesta galvánica de la piel (código: GSRExampleSerial)
• 1x Acelerómetro (código: BodyPositionExample)
• 1x Sensor de flujo de aire (código: AirFlowExampleSerial)
• 1x Electrodos EMG
• 1x Electrodos ECG
Procedimiento
Paso 1. Abrir el software de programación Arduino 1.0.6.
Figura 14. Ejecución del entorno Arduino
Paso 2. Compilar y cargar un ejemplo de la librería e-Health
- Conectar la placa Arduino One al puerto USB
32. FSI-33612 11/11
- Seleccionar Herramientas->Tarjeta->Arduino One
- Seleccionar Herramientas->Puerto Serial->COM?
- Seleccionar Herramientas->Programador->AVR ISP
- Seleccionar Archivo->Ejemplos->eHealth->(código ejemplo)
- Conectar el sensor adecuado en la placa e-Health
- Compilar el código
- Cargar el código
- Para ver los resultados de ejecución seleccionar Herramientas->Monitor
Serial
Figura 15. Ejemplo de código para el sensor de respiración