Está en la página 1de 21

LABORATORIO DE SEÑALES Y SISTEMAS

GRUPO N°3
INTEGRANTES:
DEPAZ NÚÑEZ, RAÚL EDUARDO
ROMÁN VALER, NICK GARY
SANTOS CARRIÓN, RAÚL HUGO
GUZMÁN GAMERO, ALAIN KIRK
GONZALES IQUIRA, GUSTAVO ADOLFO
DEFINICIÓN DEL PROBLEMA
Nuestro grupo debía elegir un hardware programable para la captura de señales y se eligió
Arduino ya que es una plataforma de hardware libre, basada en una placa con un
microcontrolador y un entorno de desarrollo, además incorpora un lenguaje de programación de
los periféricos conectados al microcontrolador, que hace que el desarrollo de los mismos, sea
muy rápido
OBJETIVO PRINCIPAL
Desarrollar un modo de visualizar y analizar las señales obtenidas de un sensor.
OBJETIVOS ESPECÍFICOS

• Aprender a programar a través de la lógica virtual con el fin de gestionar la visualización de


señales

• Analizar y monitorear los diferentes componentes de una señal generada por un sensor
mediante la transmisión de datos a la computadora(Usando por ejemplo el puerto USB)
MARCO TEÓRICO
1. ARDUINO
Arduino es una plataforma de desarrollo basada en una placa electrónica de hardware libre que incorpora un microcontrolador
reprogramable y una serie de pines hembra.
• Características técnicas de Arduino Uno:
 Microcontrolador: ATmega328
 Voltaje: 5V
 Voltaje de entrada (recomendado): 7-12V
 Voltaje de entrada (limites): 6-20V
 Digital I/O Pins: 14 (de los cuales 6 son salida PWM)
 Entradas Analógicas: 6
 DC Current I/O Pin: 40mA
 DC Current para 3.3V Pin: 50mA
 Flash Memory: 32 KB de las cuales 0.5KB son utilizados para el arranque
 SRAM: 2 KB
 EEPROM: 1 KB
 Clock Speed: 16MHz
• Parte de la placa Arduino
 Alimentación USB/5VDC (1 y 2)
 Regulador de voltaje (3)
 Conexiones (4)
 Puertos de entrada Analógicos (5)
 Micro-controlador Atmega 328 (6)
 Entrada ICSP (In Chip Serial Programmer) (7)
 Indicador LED de alimentación (8)
 LED TX RX (9)
 Puertos Digitales (10)
 Puerto de conexiones (11)
 Chip de Arduino (12)
 Botón de RESET (13)
2. SENSOR DE LUZ (LDR)

• Un LDR es un resistor que varía su valor de resistencia


eléctrica dependiendo de la cantidad de luz que incide sobre
él. Se le llama, también, fotorresistor o fotorresistencia.

• El valor de resistencia eléctrica de un LDR es bajo cuando


hay luz incidiendo en él (en algunos casos puede descender
a tan bajo como 50 Ω) y muy alto cuando está a oscuras
(puede ser de 1 MΩ o más)

• Los fotorresistores funcionan según el principio de la


fotoconductividad. La fotoconductividad es un fenómeno
óptico en el que la conductividad del material aumenta
cuando el material absorbe la luz
3. LENGUAJE ARDUINO
• La plataforma Arduino se programa con un
lenguaje propio basado en el lenguaje de
programación de alto nivel Processing, lo que
significa que es similar a C++.

• Se trata de un lenguaje de programación de


propósito general asociado a un sistema
operativo llamado UNIX.

• Este lenguaje de medio nivel, trata con objetos


básicos como caracteres, números, bits y
direcciones de memoria, entre otros.

• Este tipo de lenguaje posee una gran


portabilidad.
CIRCUITO UTILIZADO
Para la conexión más simple de un LDR a nuestro
Arduino, debemos hacer un divisor de tensión, de donde
sacaremos una señal que solo podremos leer con una
entrada analógica, podemos conectarlo de dos maneras
diferentes como las del siguiente esquema.
Escogeremos la figura 2, lo utilizamos como resistencia
superior, tendremos la tensión máxima cuando esté
completamente iluminado, ya que en estos momentos su
resistencia es baja, y permite circular prácticamente los
5V a out, es decir, a mayor luminosidad mayor será el
voltaje entregado a la entrada analógica (out).
SIMULACIÓN

ARMADO EN
PROTOBOARD
DESARROLLO DEL PROYECTO
A continuación, presentaremos el código usando para programas el Arduino y la transferencia de datos que se recibe
del LDR para su análisis en la computadora.

CÓDIGO – ARDUINO
DECLARANDO VARIABLES:
 Iniciamos el código declarando la variable “ldr” igual a 0, con el propósito de usarlo
posteriormente como entrada del pin analógico cero del Arduino (A0).

 Y también creamos otra variable “valorldr” y la inicializamos en cero, para evitar cualquier valor
aleatorio que pueda adquirir, ya que en esta variable se almacenaran los valores que lea el sensor de
luz (LDR), que ingresaran por la entrada analógica (A0).

DECLARANDO FUNCIONES:
 Definiremos la función flotante “escala”, con su respectiva sintaxis de parámetros: “x”, ”y”, ”z”,
”n” y ”m” flotantes dicho sea de paso. Donde cada una de estas variables representan: 

 x: Valor recibido del sensor

 y: Valor de entrada mínima

 z: Valor de entrada máxima

 n: Valor de salida mínima

• m: Valor de salida máxima


 Las
placas Arduino UNO contienen un convertidor de analógico a digital
multicanal de 10 bits.
• Teniendo
  en cuenta que el valor mínimo y el valor máximo que lee el LDR (por su entrada
análoga) serían 0 y 1023, respectivamente. 
Esto lo hacemos con el propósito de transformar mediante una regla de tres simple los valores
numéricos que nos otorga el sensor a valores de voltaje, que es lo que nos interesa. Para ese fin,
la función definida seria:  

 Ejemplo:
En un instante de tiempo el sensor lee x =80, entonces se generaría la regla de tres simple
siguiente: 

 Y así almacenamos en “escala” valores de voltaje cada que varía “x”.


En el “void setup”:

 Definimos la velocidad de comunicación entre la PC y nuestro Arduino con 9600 baudios con la función
Serial

 Luego, nuevamente, usamos la función serial para definir e imprimir (en el Excel) las columnas solo una
vez.
En el “void loop”:

 Leemos los valores de que ingresan en el PIN 0 mediante la función “analogRead()” y lo guardamos en la
variable “valor ldr”.

 Luego usamos la función “Serial.print(DATA,TIME,)” para imprimir los valores de tiempo


repetidamente. 

 Después usamos la función: “println(escala(valorldr,0,1023,0,5))”

 Con el fin de imprimir los valores de voltaje (ya convertidos mediante la función escala) dejando un salto
de línea en cada valor.

• Finalmente definimos el tiempo entre muestra y muestra en 100 ms = 0.1 s, mediante la función
“delay(100)”
analogRead()
 
LEE EL VALOR DEL PIN ANALÓGICO ESPECIFICADO.

Esto significa que mapeará voltajes de entrada entre 0 y el voltaje de operación (5v y 3.3v) en valores enteros entre 0 y 1023. En un
Arduino uno, esto produce una resolución entre lecturas de: 5 voltios/ 1024 unidades o 0.0049 voltios (4.9 mv) por unidad.
MÉTODO N°1: PROGRAMA DE
EXPORTACIÓN ARDUINO - EXCEL

Usando el programa “PLX-DAQ


Release 2.0”, nos permite
exportar los valores leído por el
LDR e imprimidos en el monitor
Serie a Microsoft Excel. Esto con
el fin de almacenar los valores
brindados mediante la ejecución
del código de Arduino.
GRÁFICA EN EXCEL
GRÁFICA EN PYTHON
MÉTODO N°2: CÓDIGO EN JUPYTER NOTEBOOK
GRÁFICA EN PYTHON
GRÁFICA EN EXCEL

Como observamos
las gráficas son
idénticas
corroborando así
que la exportación
de la señal a Excel
es correcta.
CONCLUSIONES

• Mediante este proyecto hemos podido comprobar la utilidad y versatilidad del


Arduino el cual puede ser usado para diferentes propósitos en el ámbito industrial
o en aplicaciones domésticas, haciendo de manera sencilla programar diferentes
tipos de controladores.
• A pesar de que las señales capturadas, se reciben con algo de ruido, este no afecta
considerablemente la medición y es posible utilizarse en entornos académicos, a
pesar de que las señales capturadas, se reciben con algo de ruido, este no afecta
considerablemente la medición y es posible utilizarse para los objetivos de
nuestro proyecto.
• La principal desventaja es que se requiere una preparación previa para el manejo
y programación de estos dispositivos.

También podría gustarte