Logging Sensor Data in MS EXCEL through Registro de datos del sensor en MS EXCEL a
MATLAB GUI través de MATLAB GUI
The measurement and analysis of process La medición y el análisis de los parámetros del
parameters such as temperature, flow, proceso, como la temperatura, el flujo, la
conductivity, speed, viscosity and stress play a conductividad, la velocidad, la viscosidad y el
crucial role in providing information about the estrés desempeñan un papel crucial en el
process/system under consideration. suministro de información sobre el proceso /
Parameter values are logged into a computer sistema en cuestión. Los valores de los
(using a process called data acquisition) and parámetros se registran en una computadora
acquired data is analysed either in online or (mediante un proceso llamado adquisición de
offline mode. Time and frequency domain datos) y los datos adquiridos se analizan en
analysis of the data is then carried out to modo en línea o fuera de línea. El análisis del
provide various information about the system, dominio de tiempo y frecuencia de los datos se
such as its mathematical model, static and realiza para proporcionar información diversa
dynamic characteristics, fault identification and sobre el sistema, como su modelo matemático,
so on. características estáticas y dinámicas,
This project presents a MATLAB graphical user identificación de fallas, etc.
interface (GUI)-based approach to save real- Este proyecto presenta un enfoque basado en
time process data obtained from a la interfaz gráfica de usuario (GUI) de MATLAB
temperature sensor (LM35) in MS Excel. The para guardar datos de procesos en tiempo real
GUI allows the user to graphically view the obtenidos de un sensor de temperatura (LM35)
temperature variation at the end of sensor en MS Excel. La GUI permite al usuario ver
data acquisition. A screenshot of the GUI is gráficamente la variación de temperatura al
shown in Fig. 1. final de la adquisición de datos del sensor. En
la Fig. 1 se muestra una captura de pantalla de
la GUI.
Fig. 1: Screenshot of the GUI
Fig. 1: Screenshot of the GUI
Hardware and construction Ferretería y construcción
Circuit diagram for interfacing the temperature El diagrama de circuito para conectar el sensor
sensor with Arduino is shown in Fig. 2. de temperatura con Arduino se muestra en la
Arduino Uno. Arduino Uno is an AVR Fig. 2.
ATmega328P microcontroller (MCU)-based Arduino Uno. Arduino Uno es una placa de
development board having six analogue and 14 desarrollo basada en microcontrolador AVR
digital I/O pins. The MCU has 32kB ISP flash ATmega328P (MCU) que tiene seis pines de E /
memory, 2kB RAM and 1kB EEPROM. The S analógicos y 14 digitales. La MCU tiene 32kB
board allows serial communication via UART, de memoria flash ISP, 2kB RAM y 1kB
SPI and I2C. The MCU can operate at a clock EEPROM. La placa permite la comunicación en
frequency of 16MHz. In this project, analogue serie a través de UART, SPI e I2C. La MCU
pin A0 of Arduino is used to read the output puede operar a una frecuencia de reloj de
voltage of LM35. 16MHz. En este proyecto, el pin analógico A0
de Arduino se usa para leer el voltaje de salida
de LM35.
Fig. 2: Circuit diagram of temperature sensor
interfaced with Arduino
LM35. LM35 is a precision IC temperature
sensor, which provides output voltage linearly
proportional to temperature (in degree
Celsius). It exhibits typical accuracies of ±1⁄4°C
at room temperature and ±3⁄4°C over a full LM35. LM35 es un sensor de temperatura IC de
temperature range from –55 to +150°C. The precisión, que proporciona un voltaje de salida
sensor provides a sensitivity of 10mV/°C. In this linealmente proporcional a la temperatura (en
project, Vout pin (pin 2) of LM35 IC is connected grados Celsius). Exhibe precisiones típicas de ±
to analogue pin A0 of Arduino. Pins 1 and 3 of 1⁄4 ° C a temperatura ambiente y ± 3⁄4 ° C en un
LM35 are connected to +5V and Gnd of Arduino rango completo de temperaturas de –55 a +
Uno, respectively. 150 ° C. El sensor proporciona una sensibilidad
de 10mV / ° C. En este proyecto, el pin Vout (pin
2) de LM35 IC está conectado al pin analógico
Software
A0 de Arduino. Los pines 1 y 3 de LM35 están
The application program is developed using
conectados a + 5V y Gnd de Arduino Uno,
R2014a version of MATLAB. Note that, the
respectivamente.
program will not work with earlier versions of
MATLAB. Additionally, Legacy MATLAB and
Simulink Support for Arduino package must
Software
also be installed. The procedure for installation El programa de aplicación se desarrolla
of ArduinoIO package is given below. utilizando la versión R2014a de MATLAB. Tenga
en cuenta que el programa no funcionará con
1. After downloading ArduinoIO, extract the versiones anteriores de MATLAB. Además,
compressed folder named ArduinoIO también se debe instalar el paquete Legacy
2. From ArduinoIO folder, copy pde folder and MATLAB y Simulink Support for Arduino. El
paste it in C:\Program procedimiento para la instalación del paquete
Files(X86)\Arduino\Examples ArduinoIO se describe a continuación.
3. Open Arduino IDE 1. Después de descargar ArduinoIO, extraiga la
4. Open code from File->Examples->pde- carpeta comprimida llamada ArduinoIO
>adioes 2. Desde la carpeta ArduinoIO, copie la carpeta
5. Connect Arduino Uno to the PC pde y péguela en C: \ Archivos de programa
6. Upload adioes code to Arduino Uno (X86) \ Arduino \ Ejemplos
7. Copy the entire extracted ArduinoIO folder 3. Abre el IDE de Arduino
to a folder in My Documents 4. Abra el código de Archivo-> Ejemplos-> pde->
8. Open MATLAB 2014 adioes
9. Open install_arduino.m file present in 5. Conecta Arduino Uno a la PC.
ArduinoIO folder in My Documents 6. Sube código adioes a Arduino Uno.
10. Run install_arduino.m file 7. Copie la carpeta ArduinoIO extraída
completa a una carpeta en Mis documentos
The code will install and save the path of 8. Abrir MATLAB 2014
Arduino support package 9. Abra el archivo install_arduino.m presente
The PC must also have MS Excel or OpenOffice en la carpeta ArduinoIO en Mis documentos
installed. The program can write sensor data 10. Ejecuta el archivo install_arduino.m
only on MS Excel using xlswrite() MATLAB El código instalará y guardará la ruta del
function. paquete de soporte de Arduino
After correctly setting up the path for the La PC también debe tener instalado MS Excel u
package, open MATLAB source code file called OpenOffice. El programa puede escribir datos
excel_log.m de sensores solo en MS Excel usando la función
Edit COM port number {in a=arduino(‘COM7’) MATLAB xlswrite ().
line} with the corresponding port number in Después de configurar correctamente la ruta
the PC where Arduino is installed del paquete, abra el archivo de código fuente
de MATLAB llamado excel_log.m
Edite el número de puerto COM {en una línea =
arduino ('COM7')} con el número de puerto
Click Run in MATLAB correspondiente en la PC donde está instalado
After pressing Connect in the GUI, MATLAB will Arduino
try to establish communication with Arduino.
Haga clic en Ejecutar en MATLAB
While the connection is being made, the GUI
Después de presionar Conectar en la GUI,
displays Connecting…. After attaining
MATLAB intentará establecer comunicación con
successful communication, it displays
Arduino. Mientras se realiza la conexión, la GUI
Connected.
muestra Conectando…. Después de lograr una
To log data in Excel, press Acquire. Although
comunicación exitosa, muestra Conectado.
this program allows acquisition of only 10
Para registrar datos en Excel, presione
samples (for test purposes), you can easily
Adquirir. Aunque este programa permite la
acquire as many samples as you require by
adquisición de solo 10 muestras (para fines de
changing the line ‘for i=1:10’ in the source code.
prueba), puede adquirir fácilmente todas las
For example, if you want to log 100 data
muestras que necesite cambiando la línea 'para
samples, modify the assignment statement as
i = 1: 10' en el código fuente. Por ejemplo, si
‘for i=1:100.’ While acquisition occurs, the
desea registrar 100 muestras de datos,
display shows Acquiring Sensor Data.
modifique la declaración de asignación como
Once data acquisition is complete, the display
'para i = 1: 100'. Mientras se produce la
in the GUI shows Acquisition Complete. Now,
adquisición, la pantalla muestra Adquiriendo
you can check the logged data saved in
datos del sensor.
D:\[Link] file (you can change this location
Una vez que se completa la adquisición de
from the code). A screenshot of the logged data
datos, la pantalla en la GUI muestra Acquisition
in Excel is shown in Fig. 3.
Complete. Ahora, puede verificar los datos
registrados guardados en el archivo D: \
[Link] (puede cambiar esta ubicación desde
el código). En la Fig. 3 se muestra una captura
de pantalla de los datos registrados en Excel.
Fig. 3: Screenshot of temperature data saved in Excel
A graphical representation of the acquired data
can be viewed in the figure window of MATLAB
by pressing Plot Graph. A screenshot of the Fig. 3: Captura de pantalla de datos de temperatura
graph is shown in Fig. 4. guardados en Excel
Una representación gráfica de los datos
adquiridos se puede ver en la ventana de la
figura de MATLAB presionando Plot Graph. Una
captura de pantalla de la gráfica se muestra en
la Fig. 4.
Fig. 4: Screenshot of graph for temperature data
Further applications
The project can be extended to acquire data Fig. 4: Captura de pantalla del gráfico para datos de
from multiple sensors. This simple and temperatura.
effective approach to acquire and log data on Otras aplicaciones
an Excel sheet using GUI can help instructors El proyecto se puede ampliar para adquirir
teaching DAQ Systems to practically datos de múltiples sensores. Este enfoque
demonstrate the nuances of the subject matter simple y efectivo para adquirir y registrar datos
in class. Since the project is built using a en una hoja de Excel utilizando GUI puede
powerful technical computing tool (MATLAB), ayudar a los instructores que enseñan a DAQ
EFY readers are encouraged to incorporate Systems a demostrar prácticamente los
various data analysis features in the project. matices de la materia en clase. Dado que el
Download source code proyecto se construye utilizando una poderosa
herramienta de computación técnica (MATLAB),
se recomienda a los lectores de EFY que
Shibendu Mahata is [Link] (gold medallist) in incorporen varias características de análisis de
instrumentation and electronics engineering from datos en el proyecto.
Jadavpur University. Currently, he is pursuing PhD Descargar el código fuente
from NIT, Durgapur. He has keeninterest in MCU-
based real-time embedded signal processing and Shibendu Mahata es [Link] (medallista de oro)
process control systems en ingeniería electrónica e instrumentación de la
Saikat Patra is passionate about electronics and Universidad de Jadavpur. Actualmente, está
MCU-based embedded system applications cursando el doctorado de NIT, Durgapur. Tiene
un gran interés en los sistemas de control de
[Link] señalización y procesamiento de señales
projects/software-projects-ideas/logging-sensor-data- integrados en tiempo real basados en MCU.
ms-excel-matlab-gui
Saikat Patra es un apasionado de la electrónica y
las aplicaciones de sistemas integrados basados
en MCU.