Powered By Blogger
Mostrando entradas con la etiqueta Arduino. Mostrar todas las entradas
Mostrando entradas con la etiqueta Arduino. Mostrar todas las entradas

sábado, 26 de mayo de 2018

Introducción a Comunicación LabVIEW - ARDUINO toolkit LIFA


National Instruments (NI), es el líder mundial cuando hablamos de equipos de prueba automatizados y software de instrumentación virtual. LabVIEW es un producto que esta compañía desarrollo, este software ha sido utilizado en muchos laboratorios alrededor del mundo.
LabVIEW se compone del inglés “Laboratory Virtual Instrument Engineering Workbench” (Espacio de trabajo de Instrumentación Virtual de Laboratorio de Ingeniería). Se utiliza un lenguaje de programación grafica conocido como G; Para ampliar con diferentes librerías de diferentes compañías LabVIEW soporta el Visual Package Manager (VIPM.)


Para establecer la comunicación entre LabVIEW y ARDUINO se presentan tres alternativas:
  • ·         Toolkit LabVIEW Interface for Arduino (LIFA).
  • ·         Toolkit LINX de Makerhub.
  • ·         Visa Serial.


Toolkit LabVIEW Interface for Arduino "LIFA"


Instalación
Para poder instalar este toolkit necesitamos descargar el VI Package Manager “VIPM” para esto nos dirigimos al siguiente enlace: https://vipm.jki.net/download. Una vez descargado lo instalamos y nos mostrara la siguiente ventana.

En el VIPM colocamos dentro del apartado de búsqueda el nombre del toolkit a descargar. (LabVIEW Interface for Arduino).



Nos abrirá la siguiente ventana:

Dentro de esta ventana seleccionamos la opción de instalar y comenzara con la instalación automáticamente.

Una vez instalado podemos comenzar a programa en LabVIEW utilizando este toollkit.

Breve introducción de encendido de LED con botón.


En este ejercicio se presenta la introducción para comenzar a interactuar con el toolkit LIFA. El objetivo de esta práctica es poder encender un LED físico a través de un botón virtual programado desde LabVIEW, así como encender un LED virtual a través de un botón físico. Los materiales a utilizar son los siguientes:

  • ·         Placa ARDUINO (UNO, MEGA)
  • ·         1 LED
  • ·         1 Push botón
  • ·         Resistores (220 y 10,000 Ohms)
  • ·         Protoboard.
  • ·         Cables para conexión


Partiendo de la siguiente representación de conexión en la protoboard comenzamos a conectar nuestros componentes.



Una vez realizada la conexión del sistema comenzamos a programar el VI en LabVIEW. A continuación, se presente el diagrama de bloques y el panel frontal.

Imagen de la programación en el diagrama de bloques

Imagen de los controles e indicadores en el panel frontal.


Mira el Video:









sábado, 10 de marzo de 2018

Estación de clima con Arduino y LabVIEW


Esta práctica presenta un sistema de monitoreo de clima, donde podemos obtener los datos de temperatura, luminosidad; además de almacenar los datos obtenidos en un archivo de notas.

Software:
  1. LabVIEW 2017 o posterior.
  2. Toolkit LINX para LabVIEW. ¿Como descargar el toolkit LINX?
  3. Librería VISA (Para comunicación serial). ¿Como descargar libreria VISA?
  4. ARDUINO IDE (para obtener controladores de las placas Arduino).

Materiales:

  1. Placa ARDUINO UNO (MEGA, Leonardo, Micro, Nano).
  2. 1 LDR Sensor.
  3. 1 LM335 Sensor.
  4. 2 LED.
  5. Resistores (10K, 2K, 330).
  6. 2 Servomotores.
  7. Protoboard
  8. Cables para conexión. 
Primer paso (Conexiones):

Como primer paso vamos a realizar las conexiones del sistema, en el siguiente esquema se puede apreciar como modo de ejemplo.

Fig. 1. Conexion utilizada para este sistema.


Una vez realizado el cableado del sistema vamos a realizar la programación en LabVIEW, cabe mencionar que la programación se llevara a cabo en este software por medio del toolkit LINX por lo cual no necesitamos programar en ARDUINO IDE, únicamente tendremos que cargarle el firmware a nuestra placa arduino ARDUINO.

El diagrama de bloques en LabVIEW es el siguiente:

Fig. 2. Diagrama de conexiones en LabVIEW.


Por ultimo vamos a correr nuestro VI:
  1. Conectamos la placa ARDUINO.
  2. Seleccionamos el puerto COM.
  3. Indicamos la ruta donde se encuentra nuestro archivo de notas.
  4. Indicamos los pines de conexión del sensor de temperatura y LDR.
  5. Corremos el VI.
  6. Ingresamos usuario y contraseña.


miércoles, 21 de febrero de 2018

Monitoreo de Temperatura con MATLAB y ARDUINO

En esta practica consiste en monitorear la temperatura obtenida del sensor DS18B20 en MATLAB utilizando como tarjeta de adquisición de datos a la placa ARDUINO.

Material:

Placa ARDUINO (Cualquier modelo).
Sensor DS18B20
Resistor de 4.7 kΩ
Protoboard
Cables para conexión


El sensor a utilizar en esta practica es el dallas temperature DS18B20, este sensor tiene la peculiaridad para su comunicación ya que utiliza la librería One Wire y  la libreria Dallas temperature esto nos permite conectar varios sensores de este mismo modelo en la misma linea de señal y evita el uso de varios pines de conexión.

Características:
Sensor Digital.
Resolución de 9 y 12 bits
Rango de operación de -50 a 125 grados Centígrados.
Precisión +- 0.5 grados.
Protocolo OneWire.



Figura 1. Sensor DS18B20.

Figura 2. Sensor DS18B20 en modelo a prueba de agua.

Como primer paso vamos a realizar la conexion de nuestro sistema en la protoboard, en la siguiente figura se muestra la representación sugerida.




Figura 3. Conexión el protoboard.

Abrimos ARDUINO IDE y cargamos el siguiente sketch a la placa ARDUINO (previo a esto es necesario tener instaladas la librerías mencionadas anteriormente).

#include <OneWire.h>                 //Se importan las librerías
#include <DallasTemperature.h>
#define Pin 2                        //Se declara el pin donde se conectará la DATA
OneWire ourWire(Pin);                //Se establece el pin declarado como bus para la comunicación OneWire
DallasTemperature sensors(&ourWire); //Se llama a la librería DallasTemperature

void setup() {
delay(1000);
Serial.begin(9600);
sensors.begin();                     //Se inician los sensores
}
 
void loop() {
sensors.requestTemperatures();       //Prepara el sensor para la lectura
 
Serial.print(sensors.getTempCByIndex(0)); //Se lee e imprime la temperatura en grados Centigrados
Serial.println(" Grados Centigrados");
 
delay(1000);                         //Se provoca una parada de 1 segundo antes de la próxima lectura
 
}



 En tercer paso creamos un nuevo script en MATLAB y creamos en siguiente codigo:

clear all;clc; % limpia la ventana de comandos
delete(instrfind({'port'},{'COM3'})); % cierra toda conexion serial con el puerto com1
pserial=serial('COM3','BaudRate',9600); % configura la conexion serial
fopen(pserial); % abrir puerto serial
figure('Name','Grafica de valores obtenidos')
title('LECTURA EN TIEMPO REAL DEL SENSOR');
lHandle = line(nan, nan);
xlabel('Muestreo c/d 100m/s');
ylabel('la temperatura es ');
val=zeros(1,50);
for i=1:50
ylim([0 400.1]);
xlim([i-100 i+10]);
lectura=fscanf(pserial,'%d');
val(i)= lectura;%*100*5/1024;
hold on
plot(i,val(i),'x');
drawnow
end
dlmwrite('Valores_Obtenidos.dat', val, 'delimiter', '\n', 'precision', '%.2f')
fclose(pserial);
delete(pserial);

clear all;





miércoles, 14 de febrero de 2018

Electrocardiograma


Breve descripción del ritmo cardíaco

Las frecuencias cardíacas en los seres humanos pueden ir desde los 40 BPM en personas muy entrenadas para mantener su cuerpo en estado de reposo hasta los 230 BPM cuando se realiza una actividad física intensa.

Frecuencias cardiacas superiores a 230 BPM son consideradas patológicas.


Introducción

Esta practica consiste en realizar un programa en LabVIEW para obtener el ritmo cardíaco utilizando como tarjeta de adquisición de datos una placa arduino.

Requerimientos:
LabVIEW 2017 o posterior.
Tener instalado el toolkit "LabVIEW Interface For Arduino"
Arduino IDE (para cargar el sketch LIFA Base a la placa)

Material a utilizar:
1 Placa ARDUINO UNO
1 Sensor de ritmo cardíaco "KY-039"
1 Buzzer o Zumbador.
1 Transistor 2n2222.
1 Fuente de alimentación externa 5 VCD.
1 Protoboard.
Cables para conexión.

El Sensor de ritmo cardíaco.

Este sensor por lo regular se coloca en la parte de la huella del dedo indice pero para esta practica yo lo colocare en la parte de la muñeca.

Contiene un LED y un fototransistor integrado con el cual permite recibir una señal de voltaje cuando el flujo de la sangre obstruye con el reflejo de luz emitido por el sensor.

Figura 1. Sensor de ritmo cardíaco utilizado.

Diagrama de conexiones

Figura 2. Esquema de conexiones en protoboard.



Mira el nuestro video.






viernes, 26 de enero de 2018

Control de LED RGB ARDUINO LabVIEW

Esta práctica consiste en controlar el color de un LED RGB a través de la creación de una interface amigable en LabVIEW.

Material:

-          Placa Arduino.
-          LED RGB (Ánodo común o cátodo común).
e     3 Resistores de 220 ó 330 Ohm.
-          Protoboard.
-          7 cables para conexión.


A continuación, se presenta la representación de conexión de los componentes.


Imagen 1. Conexión de LED RGB ánodo común (En caso de usar LED RGB cátodo común se conecta el pin común a tierra).

Enlace de descarga:
VI LabVIEW: https://goo.gl/A1ANAv



domingo, 7 de enero de 2018

Interface de Control Motor DC LCD & Joystick

Este proyecto presenta una manera de controlar un motor de corriente directa a través de un joystick con interfaces en LCD 16x2.

Material a utilizar:

Código
Material
Cantidad

LCD 16x2
1

Módulo I2C para LCD
1

Joystick
1

Reed Switch - Iman
1

Resistor 10 K
1

Módulo L298N
1

Motor DC
1

Alimentación externa
1

Protoboard
1

Cables
1

Placa Arduino
1


Link de Sketch:




fig 1. Diagrama de conexión en Protoboard.



domingo, 5 de noviembre de 2017

Prueba de motor

En esta práctica se propone realizar una prueba de motor cd a través de LabVIEW utilizando la interface con Arduino.

La prueba consiste en controlar la velocidad del motor a través de un potenciómetro e indicar con tres LED’s la velocidad actual donde (verde – baja, amarillo – media, rojo – alto); la prueba será activada a través de una perilla para iniciar el arranque del motor.

Pre requisitos para esta practica:

  • Tener instalado el toolkit de "LabVIEW Interface for Arduino".
  • LabVIEW 2017, Si va a utilizar el VI que se ofrece en el link


Material:

Placa Arduino
Motor a 5 VDC
Potenciómetro
Resistores
Led
Transistor 2N2222
Protoboard

Cables

Como primer paso vamos a realizar la conexión del circuito electrónico.
En la conexión podemos apreciar a que pines de la placa Arduino están conectados los diferentes componentes electrónicos.

Conexión del sistema en placa de prototipos.


Arduino IDE:

En arduino IDE únicamente vamos a realizar la compilación y la subida del sketch LIFA_Base

Sketch LIFA_Base, Arduino IDE

LabVIEW:

En LabVIEW se va a realizar toda la programación del sistema.

1. Establece comunicación con la placa Arduino.

2. Configura pines digitales como salida.

3. Inicia ciclo while loop

 3.1. Inicia "case structure"

 3.2. Comienza con la lectura del potenciometro conectado al pin A0

   3.2.1. Mapea la salida de la lectura analógica de 0 - 5 a 0 - 10 (esto es para mostrar la velocidad en               el indicador).

       3.2.1.1. Mapear la salida del mapeo anterior de 0 - 10 a 0 - 255.

3.3 Realizar la comparación de la salida obtenida del mapeo en el punto "3.2.1" para determinar la velocidad y encender el led correspondiente.

3.4 Agregar el bloque de analogWrite y conectar el mapeo del punto "3.2.1.1" para escribir en el puerto la salida PWM al pin de la placa seleccionado.

3.5 Convertir los resultados de las comparaciones del punto 3.3, a dato digital para posteriormente conectarlos a los bloques digitalWrite correspondiente a los pines donde estan conectados los LED's fisicos. 

Diagrama de bloques en LabVIEW.

Panel frontal en LabVIEW.




martes, 8 de agosto de 2017

Control de display 7 segmentos

En esta práctica se desea controlar un display de 7 a través de la interface de LabVIEW y Arduino.

Antes de comenzar:

Tener en cuenta instalar el toolkit LINX en LabVIEW para realizar la comunicación con la placa Arduino.

Identificar y considerar el tipo de display a utilizar (ánodo común o cátodo común).

El display de 7 Segmentos 




El display de 7 segmentos es un componente que se utiliza para la representación de caracteres (normalmente números) en muchos dispositivos electrónicos, debido en gran medida a su simplicidad. Aunque externamente su forma difiere considerablemente de un led típico, internamente están constituidos por una serie de leds con unas determinadas conexiones internas, estratégicamente ubicados de tal forma que forme un número '8'

Los hay de dos tipos: ánodo común y cátodo común.

En los de tipo de ánodo común, todos los ánodos de los ledes o segmentos están unidos internamente a una patilla común que debe ser conectada a potencial positivo (nivel “1”). El encendido de cada segmento individual se realiza aplicando potencial negativo (nivel “0”) por la patilla correspondiente a través de una resistencia que limite el paso de la corriente.

En los de tipo de cátodo común, todos los cátodos de los ledes o segmentos están unidos internamente a una patilla común que debe ser conectada a potencial negativo (nivel “0”). El encendido de cada segmento individual se realiza aplicando potencial positivo (nivel “1”) por la patilla correspondiente a través de una resistencia que limite el paso de la corriente.

Material a utilizar:

Placa Arduino UNO o alguna otra que soporte LINX
Display de 7 segmentos
Protoboard

Cables para conexión

Representación de conexión en protoboard.

Identificacion de pines de display

Figura de relación entre pines de display de 7 segmentos.



.


sábado, 15 de julio de 2017

Grabar posiciones de Servomotor


Grabar posición de Servomotor

Materiales que necesitaras
1 Arduino UNO
1 Botón
1 Potenciómetro (cualquier valor)
1 Servomotor

1 Resistor de 10 K ohm



Descarga el Sketch de Arduino
https://goo.gl/MKAE3H

lunes, 27 de febrero de 2017

Control de motor DC con Arduino - MATLAB

Como realizar un control de un motor de corriente continua a través de una placa Arduino y MATLAB.

Material utilizado:
  • Arduino UNO.
  • Driver l298d.
  • Motoreductor 12V.
  • Fuente de alimentación externa de 12V a 1amp.
Motor DC utilizado




Diagrama de conexión

Diagrama de conexión con integrado L298d.


Si no cuentas con el integrado L298d, puedes utilizar el L293D para un motor DC de menor potencia te funcionara muy bien.

Diagrama de conexión con integrado L293D.

Una vez realizado las conexiones del circuito, conectamos la placa arduino a nuestra computadora y abrimos MATLAB.

Creamos un nuevo script y comenzamos a escribir el siguiente código. Únicamente tendremos que modificar el numero de puerto de comunicación  y el modelo en caso de ser necesario, de la placa Arduino.

Script en MATLAB.

clear all port;
a = arduino('com3','uno');

for x = 0:4
    writeDigitalPin(a,'D3',1);
    writeDigitalPin(a,'D5',0);
    pause(2);
    writeDigitalPin(a,'D3',0);
    writeDigitalPin(a,'D5',1);
    pause(2);
end

writeDigitalPin(a,'D3',0);
writeDigitalPin(a,'D5',0);

for d = 1:-0.1:0
    writePWMDutyCycle(a,'D3',d);
    writeDigitalPin(a,'D5',0);
    pause(2);
end

for s = 0:+0.1:1
    writeDigitalPin(a,'D3',0);
    writePWMDutyCycle(a,'D5',s);
    pause(2);
end
writeDigitalPin(a,'D3',0);
writeDigitalPin(a,'D5',0);




Gracias por ver el vídeo.