Aspectos Básicos Arduino PDF
Aspectos Básicos Arduino PDF
1.1 Objetivos.
Introducción al Arduino.
Primeros pasos con Arduino.
Funciones básicas para su programación.
Ejemplo de aplicación.
¿Qué es Arduino?
Arduino es una herramienta para hacer que los ordenadores puedan sentir y
controlar el mundo físico a través de tu ordenador personal. Es una plataforma de
desarrollo de computación física (physical computing) de código abierto, basada
en una placa con un sencillo microcontrolador y un entorno de desarrollo para
crear software (programas) para la placa.
Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran
variedad de interruptores y sensores y controlar multitud de tipos de luces, motores
y otros actuadores físicos. Los proyectos con Arduino pueden ser autónomos o
comunicarse con un programa (software) que se ejecute en tu ordenador. La placa
puedes montarla tú mismo o comprarla ya lista para usar, y el software de
desarrollo es abierto y lo puedes descargar gratis desde la página
www.arduino.cc/en/.
El Arduino puede ser alimentado a través de la conexión USB o con una fuente de
alimentación externa. La fuente de alimentación se selecciona automáticamente.
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current for I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Cada uno de los 14 pines digitales se puede utilizar como una entrada o
salida. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una
resistencia de pull-up (desconectado por defecto) de 20 a 50 kOhm. Además,
algunos pines tienen funciones especializadas como:
Pin 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y la transmisión (TX)
de datos serie TTL.
Pin 2 y 3. Interrupciones externas. Se trata de pines encargados de
interrumpir el programa secuencial establecido por el usuario.
Pin 3, 5, 6, 9, 10 y 11. PWM (modulación por ancho de pulso).
Constituyen 8 bits de salida PWM con la función analogWrite ().
Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines son de apoyo
a la comunicación SPI.
Pin 13. LED. Hay un LED conectado al pin digital 13. Cuando el pin es
de alto valor, el LED está encendido, cuando el valor está bajo, es
apagado.
Analog Inputs
Una vez que conocemos todo los pines necesarios para nuestro manejo y
control del Arduino, vamos a instalar el software para poder programarlo
mediante el ordenador.
E/S Digitales
pinMode(pin,modo)
digitalWrite(pin,valor)
digitalRead(pin)
E/S Analógicas
analogRead(pin)
Lee el valor de tensión en el pin analógico especificado. La placa
Arduino posee 6 canales conectados a un conversor analógico digital de
10 bits. Esto significa que convertirá tensiones entre 0 y 5 voltios a un
número entero entre 0 y 1023. Esto proporciona una resolución en la
lectura de: 5 voltios / 1024 unidades, es decir, 0.0049 voltios (4.9mV)
por unidad. El rango de entrada puede ser cambiado usando la
función analogReference().
Comunicación Serie
Serial.begin(speed)
Serial.read()
Serial.println(val,[format])
Serial.available()
2.1 Objetivos.
Conocimiento de las estructuras de control en el lenguaje de
programación de Arduino.
Manejo y utilización de las estructuras de control.
Ejemplo de aplicación.
2.2 Material empleado.
Arduino UNO.
Diodo Led.
2.3 Conocimientos Teóricos.
A continuación se muestran todas las estructuras de control más usuales en la
programación de Arduino.
If(condicional)
Esta estructura puede ser usada en conjunto con uno o más operadores de
comparación, comprueba si cierta condición se cumple, por ejemplo, si
un input posee un valor mayor a cierto número. El formato para una
comprobación if es el siguiente:
If(algunavariable>50)
{
// Realiza una operación
}
Veamos los distintos operadores de comparación:
x == y (x es igual a y)
x != y (x no es igual a y)
x < y (x es menor a y)
x > y (x es mayor a y)
x <= y (x es menor o igual a y)
x >= y (x es mayor o igual a y)
Entonces un bloque else if puede ser usado con o sin else al final. La
cantidad de declaraciones else if, y sus ramificaciones son ilimitadas.
Ejm:
if (pinCincoInput < 500)
{
// ejecutar A
}
else if (pinCincoInput >= 1000)
{
// ejecutar B
}
else
{
// ejecutar C
}
Switch/case
switch (var) {
case 1:
//hacer algo cuando sea igual a 1
break;
case 2:
//hacer algo cuando sea igual a 2
break;
default:
// si nada coincide, ejecuta el "default"
// el "default" es opcional
}
While
Do/While
For
Notas: ASCII-48=DEC
Solución:
Practica 3: Modulación Por Ancho de Pulso.
3.1 Objetivos
Conocer la finalidad de la modulación por ancho de pulso.
Aplicación práctica de la modulación por ancho de pulso.
3.2 Material empleado.
Arduino UNO.
Diodo Led.
3.3 Conocimientos Teóricos.
La Modulación por Ancho de Pulso (PWM = Pulse Width Modulation)
es una técnica para simular una salida analógica con una salida digital. El control
digital se usa para crear una onda cuadrada, una señal que conmuta
constantemente entre encendido y apagado. Este patrón de encendido-apagado
puede simular voltajes entre 0 (siempre apagado) y 5 voltios (siempre
encendido) simplemente variando la proporción de tiempo entre encendido y
apagado. A la duración del tiempo de encendido (ON) se le llama Ancho de
Pulso (pulse width). Para variar el valor analógico cambiamos, o modulamos,
ese ancho de pulso. Si repetimos este patrón de encendido-apagado lo
suficientemente rápido por ejemplo con un LED el resultado es como si la señal
variara entre 0 y 5 voltios controlando el brillo del LED.
En el gráfico de abajo las líneas verticales representan un periodo
regular. Esta duración o periodo es la inversa de la frecuencia del PWM. En
otras palabras, con la Arduino la frecuencia PWM es bastante próxima a 500Hz
lo que equivale a periodos de 2 milisegundos cada uno. La llamada a la función
analogWrite() debe ser en la escala desde 0 a 255, siendo 255 el 100% de ciclo
(siempre encendido), el valor 127 será el 50% del ciclo (la mitad del tiempo
encendido), etc.
3.4 Conocimientos Prácticos: Ejemplo de aplicación.
4.1 Objetivos
Conexión de un sensor con el Arduino
4.2 Material empleado.
Arduino UNO
Sensor temperatura
Programación Labview.
4.3 Conocimientos Teóricos.
Una vez conocido el funcionamiento del termómetro en esta práctica como bien
comentamos anteriormente se pretende realizar un programa que permita recoger los
datos obtenidos por el sensor para un posterior procesado.
Practica 5: Control de una Pantalla LCD mediante Arduino
5.1 Objetivos
Control y conocimiento de la hoja de característica de una pantalla LCD.
Conexionado de la pantalla LCD con el Arduino.
Funciones de la librería LiquidCrystal.
Aplicación práctica del control de la pantalla mediante Arduino.
Figura5.2.
Se destaca:
El pin RS del LCD conectado a la E/S digital en el pin 12
El pin enable del LCD conectado a la E/S digital en el pin 11.
Los pines D4 - D7 conectado a las E/S digitales desde el pin 5 hasta el
2.
Los pines de voltaje y tierra conectados a +5V y tierra.
El pin Vo, que controla el contraste, conectado a un potenciómetro.
Ajusta el potenciómetro para que el texto tenga el contraste que tú
quieras.
5.5 Funciones de la librería LiquidCrystal
Esta biblioteca permite a la placa Arduino controlar displays LCD. La
biblioteca trabaja en modo 4-bit o en 8-bit (es decir, por medio de 4 u 8 líneas de
datos, además de RS, ENABLE, y, opcionalmente, las líneas de control RW). Entre
las funciones básicas a destacar tenemos:
LiquidCrystal():
Descripción:
Crea una variable de tipo LiquidCrystal. La pantalla se puede controlar
por medio de 4 u 8 líneas de datos. En el primer caso, omitir los números de
pines para d0 hasta d3 y dejar esos pines no conectados. El pin RW pueden
ser conectado a masa en lugar de conectarse a un pin de Arduino, si es así,
omítelo de los parámetros de esta función.
Sintaxis:
LiquidCrystal (rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)
Parámetros:
rs: número del pin de Arduino que está conectado al pin RS del LCD
rw: número del pin de Arduino que está conectado al pin RW del
LCD (opcional)
enable: número del pin de Arduino que está conectado al pin
ENABLE del LCD
d0, d1, d2, d3, d4, d5, d6, d7: números de pines de Arduino que están
conectados a los correspondientes pines de datos del LCD. d0, d1, d2,
y d3 son opcionales; si se omiten, el LCD será controlado usando
solamente cuatro líneas de datos (d4, d5, d6, d7).
Begin()
Descripción:
Especifica las dimensiones (ancho y alto) del display LCD.
Sintaxis:
Lcd.begin(columnas,filas)
Parámetros:
lcd: una variable de tipo LiquidCrystal.
columnas: número de columnas que tiene el display.
filas: número de filas que tiene el display.
clear
Descripción:
Borra la pantalla del display LCD y posiciona el cursor en la esquina
superior-izquierda.
Sintaxis:
Lcd.clear()
Parámetros:
lcd: una variable de tipo LiquidCrystal.
home()
Descripción:
Posiciona el cursor en la esquina superior-izquierda del LCD. Se trata
de la posición en la que aparecerá el siguiente texto escrito en el display. A
diferencia con al anterior que esta no borra el contenido anterior del display.
Sintaxis:
Lcd.home()
Parámetros:
lcd: una variable de tipo LiquidCrystal.
setCursor()
Descripción:
Establece la posición del cursor donde empezaran aparecer los
siguientes caracteres escritos en el LCD.
Sintaxis:
Lcd.setCursor(columna,fila)
Parámetros:
lcd: una variable de tipo LiquidCrystal.
columna: columna donde posicionar el cursor (0-primera columna).
fila: fila donde posicionar el cursor (0-primera fila).
write()
Descripción:
Escribe un carácter en el LCD.
Sintaxis:
Lcd.write(data)
Parámetros:
lcd: una variable de tipo LiquidCrystal.
data: el carácter a escribir en el display.
print()
Descripción:
Imprime un texto en el LCD.
Sintaxis:
Lcd.print(data,BASE)
Parámetros:
lcd: una variable de tipo LiquidCrystal.
data: los datos a imprimir (char, byte, int…).
BASE (opcional): la base en la que se van a imprimir los números:
BIN, DEC, OCT, HEX.
Arduino UNO.
Motores eléctricos 1,6W con reductora.
Controlador dual de puente completo L298N.
Pantalla LCD.
Juego de Fotodiodos ópticos de rango visible.
En este apartado vamos a describir cada uno de los elementos que constituye
nuestro coche. Empezamos describiendo los dos motores eléctricos de 1,6W con
reductora como los de la siguiente figura:
Estos serán los encargados de proporcionar la potencia necesaria a las ruedas para
poder realizar el desplazamiento del coche. Estos motores al demandar una potencia
que el Arduino es incapaz de dar debemos de conectar entre ambos una etapa de
potencia constituida por un Controlador dual de puente completo (L298N) y dos
puentes de diodos. La etapa de potencia quedaría como mostramos en la siguiente
figura:
A continuación tenemos conectado el Arduino UNO al cual conectaremos la
pantalla LCD que nos indicara la dirección que toma el coche en cada momento.
Y por último el juego de fotodiodos que constituirán el “ojo” del coche ya que son
los encargados de captar la luz y girar a esta.
Para comenzar esta práctica necesitamos crear una librería propia sobre las
funciones que utilizaremos para los movimientos del coche. Para ello a
continuación iremos explicando paso a paso cómo realizar esta librería.
Para crear una librería se necesita al menos dos archivos: un archivo de
cabecera (w / con extensión. H) y el código fuente (w / extensión. cpp). El
archivo de cabecera contiene definiciones para la librería: básicamente un
listado de todo lo que hay dentro, mientras que el archivo del código fuente
tiene el código real. Vamos a llamar a nuestra librería "CocheDigital", por lo
que nuestro archivo de cabecera será CocheDigital.h. Echemos un vistazo a lo
que contiene. Puede parecer un poco extraño al principio, pero tendrá más
sentido una vez que se vea el código fuente que lo acompaña.
El archivo de cabecera consiste básicamente en una clase con una línea para
cada función de la librería, junto con las variables que se van a usar:
#ifndef CocheDigital_h
#define CocheDigital_h
#include "Arduino.h"
class CocheDigital {
public:
CocheDigital(int izq_en,int izq_avan,int izq_retro,int der_en,int der_avan,int der_retro);
void avanza();
void retrocede();
void avanza(int tiempo);
void retrocede(int tiempo);
void para();
void frena();
void derecha();
void derecha(int tiempo);
void izquierda();
void izquierda(int tiempo);
void derecha_avanza();
void derecha_avanza(int tiempo);
void izquierda_avanza();
void izquierda_avanza(int tiempo);
void derecha_retrocede();
void derecha_retrocede(int tiempo);
void izquierda_retrocede();
void izquierda_retrocede(int tiempo);
private:
int _izq_avan;
int _izq_retro;
int _der_avan;
int _der_retro;
int _izq_en;
int _der_en;
};
#endif
A continuación lo que nos quedaría es explicar las partes que componen el
código fuente de CocheDigital.cpp.
Lo primero son un par de # include. Con esto el resto del código tendrá
acceso a las funciones estándar de Arduino, y a las definiciones definidas en la
cabecera CocheDigital.h.:
#include "Arduino.h"
#include "CocheDigital.h"
void CocheDigital::avanza()
{
digitalWrite(_izq_avan,HIGH);
digitalWrite(_der_avan,HIGH);
digitalWrite(_izq_retro,LOW);
digitalWrite(_der_retro,LOW);
digitalWrite(_izq_en,HIGH);
digitalWrite(_der_en,HIGH);
}
En esta función observamos dos pines habilitados de ENABLE la función de este
se ve recogida claramente en la siguiente tabla:
Una vez que sabemos cómo está constituido el coche y hemos creado la
librería con todas las funciones posibles, vamos a crear unos programas para su
control.
Programa 1:
El primer programa consiste en mediante puerto serie introducir una letra y
que el coche realice la operación correspondiente durante un tiempo
establecido, utilizando las funciones que tenemos que introducir un tiempo. Las
letras por ejemplo pueden establecerse de la siguiente forma:
a-avanza
p-para
d-derecha
i-izquierda
r-retrocede
b-derecha avanza
c-izquierda avanza
e-derecha retrocede
f-izquierda retrocede
0-frena
El código del programa junto con la explicación de cada línea seria:
Programa 2:
Ahora este segundo programa vamos a complicar un poco más la cosa y
vamos hacer que el coche realice la operación correspondiente por sí solo, para
ello como comentamos al principio de la práctica tenemos un juego de
fotodiodos que serán los encargados de transmitirle una señal al Arduino que
controlara el movimiento de coche dependiendo de la cantidad de luz y el
mismo se orienta hacia ella hasta encontrarla y una vez que se enfrente avanza
en dirección a la luz.
Como complemento a este problema hemos instalado la pantalla LCD que
ya controlamos en prácticas anteriores, y en esta pantalla lo que nos va indicar
es la dirección que está tomando el coche en cada momento.
A continuación se muestra el código del programa con la explicación en
cada una de las líneas de comando:
Unidad de Innovación Docente
Objetivo 1: Programación de micro-controladores, dedicados a medidas de diversas magnitudes físicas. Con esta
actividad potenciaremos el uso de instrumentos de medida dedicados a una tarea concreta, muy presentes en
instrumentos de medida de mano (portátiles) y en otros dispositivos portables.
Actividades realizadas y resultados obtenidos:
Para la consecución de este objetivo ha sido necesaria la adquisición y uso de la placa micro-controlada programable
ARDUINO como herramienta didáctica que, gracias a su versatilidad y fácil instalación, está experimentando una
amplia difusión en la docencia electrónica. Concretamente se han comprado 8 placas básicas ARDUINO UNO
(apropiadas para la iniciación en la programación de micro-controladores y con capacidad para el desarrollo de
aplicaciones de nivel intermedio), y 2 placas de un nivel superior ARDUINO MEGA (que permiten abordar proyectos
de mayor entidad para brindar posibilidades a la hora de realizar Proyectos Fin de Carrera y Trabajos Fin de Máster).
- Durante el curso 2011/2012, dentro de las prácticas de laboratorio de la asignatura Electrónica en el Grado de
Ingeniería en Tecnologías Industriales, se ha desarrollado una práctica con microcontroladores ARDUINO
pensada como una primera toma de contacto con dispositivos de electrónica avanzada –en este punto del
grado los alumnos sólo han trabajado con elementos electrónicos básicos como resistencias, condensadores o
diodos. La práctica consiste en el control de LEDs mediante la programación de la placa de manera que el
alumno debe conseguir ciertas secuencias de iluminación problema. Para conseguir estas secuencias se deben
usar tanto las salidas analógicas como digitales de la placa. Así, con esta práctica el alumno adquiere un
conocimiento básico sobre la programación y conexión de la placa que será muy útil cuando se vuelva a
reincidir sobre este dispositivo en cursos posteriores. Los resultados han sido muy satisfactorios teniendo en
cuenta el interés que han mostrado los alumnos por ARDUINO. De hecho nos comentaban que era la
primera vez que veían como un programa repercutía en un elemento físico externo al ordenador y pedían
información sobre el precio y la forma de adquirir estas placas.
- Con el fin de mostrar las posibilidades de ARDUINO, y dado que las prácticas realizadas durante este curso
pueden considerarse de iniciación, creímos oportuno desarrollar un dispositivo de nivel avanzado y hacer una
demostración para concluir las prácticas anteriormente descritas. El dispositivo en cuestión era un autómata
equipado con unos sensores lumínicos direccionales. Estos sensores se conectaban a las entradas de la placa de
manera que ésta podía discernir qué sensor estaba más iluminado y por tanto la dirección de la provenía la
mayor cantidad de luz. Procesando esta información la placa activaba unos motores acoplados a ruedas para
girar y avanzar hacia la dirección en que provenía la luz desarrollando así un comportamiento “inteligente”
(ver http://www.youtube.com/watch?v=4cedJHsK_Hc). Después de haber trabajado durante la práctica con
ARDUINO, y tras una somera explicación de los componentes y la programación empleada en el autómata,
los alumnos eran capaces de entender el funcionamiento e interacción de elementos y por tanto el modo en
1
Unidad de Innovación Docente
que los sistemas electrónicos avanzados reciben, procesan y responden de manera compleja a la información
física exterior gracias al uso de microprocesadores. De nuevo el nivel de interés de los alumnos fue muy
elevado, mostrando algunos de ellos su predisposición a realizar proyectos futuros semejantes y si éstos
justificarían un proyecto fin de carrera o fin de master.
Objetivo 2: Diseño de paneles de instrumentación virtual mediante LabVIEW, que es la referencia mundial en esta
materia. Con esta actividad se pretende potenciar la programación en LabVIEW para los títulos, y que hemos
aprendido como investigadores en nuestro grupo PAIDI-TIC-168 en Instrumentación Computacional y Electrónica
Industrial (ICEI).
Actividades realizadas y resultados obtenidos:
Este objetivo ha tenido durante este curso su reflejo en una asignatura, mientras que se han sentado las bases para la
utilización en otras asignaturas en los próximos cursos.
- Práctica de monitorización de Temperaturas en Instrumentación Electrónica (I.T.I. E.I.). consistente en
la conexión de sensores de temperatura PhilipHarris E60170/1 a través de las entradas analógicas de la placa
de manera que los registros son almacenados en la memoria de ésta y enviados a través de puerto serie al
ordenador, donde una interfaz de LabVIEW procesa los datos y los representa en un panel diseñado para
ello.
- Control de fuente de CC Agilent E2646A. Este desarrollo se usará en cursos próximos como ejemplo de
control de sistemas a través de puertos GPIB. Para ello se ha desarrollado un módulo en LabVIEW con un
panel que controla todos los parámetros del dispositivo (voltaje, intensidad máxima, display,…) cuyo
resultado es la posibilidad de obtener señales variables en el tiempo a partir de una fuente continua. Así los
alumnos trabajan con conexionado, programación LabVIEW, dispositivos electrónicos y pueden testear el
resultado total de la implementación a través de la señal de salida.
2
Unidad de Innovación Docente
-
- Control del osciloscopio Agilent DSO6012A. Este desarrollo se usará en cursos próximos como ejemplo
de control de sistemas a través de tarjetas Ethernet. Esto permite el acceso vía LAN al osciloscopio desde
cualquier punto Escuela Politécnica Superior de Algeciras. De nuevo, mediante una interfaz LabVIEW
controlamos los parámetros del dispositivo así como la adquisición de datos.
3
Unidad de Innovación Docente
Objetivo 3: Integración de instrumentos de medida en internet y control de los mismos desde cualquier ordenador
de la universidad, con extensibilidad hacia fuera de la universidad. Se pretende iniciar una vía formativa práctica
en este ámbito.
Actividades realizadas y resultados obtenidos:
- Control del osciloscopio Agilent DSO6012A. Como se ha comentado en el Objetivo 2, el control de este
osciloscopio se hace vía LAN. Gracias a una dirección IP propia suministrada por el CITI, el alumno puede
comprobar como desde cualquier punto de la red local puede tener acceso al control básico del osciloscopio
gracias a la interfaz Web que proporciona el fabricante; o bien, usando la interfaz LabVIEW comentada en el
Objetivo 2 puede tener acceso al control y a la adquisición de datos.
- Sistema de alarmas vía Internet: Dada la compatibilidad que ofrece LabVIEW con .NET framework
estamos desarrollando aplicaciones que envíen mensajes de correo electrónico ante ciertos eventos.
Actualmente, hemos desarrollado un sistema de alarmas para el Instrumento para la medición de la
calidad de la energía eléctrica (ver Objetivo 2) que se activa cuando el sistema se ha bloqueado. Se
pretende, utilizando los mismos elementos, dotar de sistemas de alarma y de transmisión de datos a las
aplicaciones LabVIEW propuestas a alumnos.
Se han realizado una serie de simulaciones sobre contenidos clave en la docencia de las asignaturas (Electrónica y
Electrónica de potencia (G.I.T.I.)). Gracias a ellos el alumno podrá trabjar/estudiar/comprobar el comportamiento de
elementos, circuitos o propiedades electrónicas cambiando parámetros característicos. Del mismo modo, podrá usar
estas aplicaciones como generador de problemas resueltos adaptados a la nomenclatura y metodologías usados en las
asignaturas concernidas. Se ha desarrollado en OpenOffice para facilitar su difusión.
- Electrónica de Grado
Bandas de Energía
Concentración – Cálculos de concentración de átomos para distintos elementos
Conducción – Se calculan parámetros de conducción en metales
Nivel de Fermi – De distintos metales
4
Unidad de Innovación Docente
Semiconductores y unión PN
Semiconductores I – Concentraciones, velocidades de portadores mayoritarios y minoritarios y tipología
Semiconductores II – Cálculo de la distancia del Nivel de Fermi
Efecto Hall – Conductividad y movilidad de portadores
Diodo – Resolución de circuito típico Diodo y Resistencia en Serie (Gráficas: Recta de carga del circuito y V-I del
diodo)
Transistor JBT
Polarización fija – Resuelve el circuito indicando la región de trabajo del transistor (Gráficas: Rectas de carga en
activa)
Colector-Base –
Autopolarizado-
Transistor JFET
Análisis JFET – Definiendo el estado de los terminales, determina la región de trabajo y la corriente que circula
por el drenador
Análisis MOSFET deplexión –
Análisis MOSFET acumulación –
Dos NMOS serie – Problema típico.
- Electrónica de potencia
Circuitos básicos de electrónica
RC carga
RLC paralelo
RLC serie
Convertidores CC-CC
Elevador
Reductor
Inverso
Objetivo 5: Diseño de actividades de evaluación a distancia que consistan en tomar medidas y programar los
instrumentos vía internet, programar micro-controladores a partir de una batería de ejercicios con un marcado
carácter práctico.
Actividades realizadas y resultados obtenidos:
Para la consecución de este objetivo es necesaria la completa funcionalidad de los elementos descritos en los Objetivos
anteriores. Por ello el desarrollo total de este punto se plantea a más largo plazo. Avances necesarios en este sentido
son:
- Programación de microcontroladores (Objetivo 1)
- Control del osciloscopio Agilent DSO6012A (Objetivo 2 y Objetivo 3)
- Sistema de alarmas vía Internet (Objetivo 3)