transmisión de datos
DESCRIPTION
Transmitir datos con arduino y transmisores RF,TRANSCRIPT
PROYECTO DE TRASMISION DE DATOS
AVANCE DEL PROYECTO # 1
Grupo 2:
Mauricio Freire
1. TEMA
Transmisin de estados de un sensor de temperatura por medio de un canal de radio frecuencia utilizando la plataforma de programacin Arduino.
2. OBJETIVO
Determinar los smbolos que representarn una fuente de estados de un sensor de temperatura.
Muestreo y cuantificacin de los datos obtenidos por el sensor.
Codificar una fuente de smbolos que representen estados de temperatura de un sensor.
Presentar las temperaturas obtenidas en una pantalla LCD.
Representar por medio de imgenes en una GLCD, 3 estados del clima: calor, templado y fro.
Calcular cantidad de informacin, longitud media del cdigo, entropa, eficiencia, velocidad de transmisin y redundancia de la fuente de smbolos.
Codificar el canal de transmisin para enviar los smbolos de tal forma que la transmisin sea fiable por medio de mdulos de transmisin y recepcin por radio frecuencia.
3. DISPOSITIVOS
3.1 ARDUINO UNO
Fig. 1. Placa Arduino UNO. [1]
El Arduino Uno es una placa electrnica basada en elATmega328. Cuenta con 14 pines digitales de entrada / salida (de los cuales 6 pueden utilizarse para salidas PWM), 6 entradas analgicas, un 16MHzresonador cermico, una conexin USB, un conector de alimentacin, una cabecera ICSP, y un botn de reinicio.Contiene todo lo necesario para apoyar el microcontrolador;basta con conectarlo a un ordenador con un cable USB o el poder con un adaptador de CA o la batera a CC para empezar. [1]
En este proyecto, existe la necesidad de utilizar un micro-controlador que conecta, sincroniza y gestiona el sensor y estaciones de emisor / receptor. Arduino UNO trae suficiente poder de procesamiento para las necesidades de este proyecto: tomar datos de un sensor de temperatura, convertirlo en una secuencia de caracteres y enviar a travs de un pin que est conectado a un emisor con una antena unido a l. Adems, en la estacin receptora, la placa Arduino recibe la cadena de caracteres codificado en el cdigo ASCII, lo decodifica en un nmero entero (en este caso, se est transmitiendo un valor entero para la temperatura en grados centgrados) y pasa esta informacin a la computadora.
Caractersticas Principales
Microcontroladores
ATmega328
Tensin de funcionamiento
5V
Voltaje de entrada (recomendado)
7-12V
Voltaje de entrada (lmites)
6-20V
Digital pines I / O
14 (de las cuales 6 proporcionan salida PWM)
Pines de entrada analgica
6
Corriente DC por Pin I / O
40 mA
Corriente DC de 3.3V Pin
50 mA
Memoria Flash
32 KB (ATmega328) de los cuales 0,5 KB utilizado por el gestor de arranque
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
Velocidad del reloj
16MHz
Longitud
68,6 mm
Ancho
53,4 mm
Peso
25
3.2 MDULOS DE RADIO FRECUENCIA (TRANSMISOR Y RECEPTOR)
Segn las caractersticas de este proyecto, es fundamental contar con un mdulo de transmisin. CDT-88 transmite informacin en la banda de 433 MHz, que est reservado para dispositivos de comunicacin de licencia libre, como en este caso. Este transmisor toma datos de Arduino y lo enva a travs de la antena, la codificacin de elementos de tipo caracteres a cdigo ASCII para su transmisin.
Fig. 2. Mdulo Transmisor CDT-88. [3]
Especificaciones
Modo de transmisin
Modulacin AM
Frecuencia de Operacin
315MHZ/433MHZ
Corriente de Funcionamiento
0.1UA
Voltaje de Operacin
DC 312V
Dimensiones
14*18mm
Frecuencia de estabilidad
75KHZ
Mdulo Receptor R03A: Este receptor, calibrado especficamente para recibir seales analgicas en la banda de 433 MHz, transforma los campos elctricos y magnticos generados por su recproco en seales elctricas que pueden ser ledos e interpretado por Arduino
Fig. 3. Mdulo Receptor R03A. [4]
Voltaje de funcionamiento
5.0VDC; 0.5V
Corriente de funcionamiento
4.5 mA (5.0VDC)
Velocidad de transmisin
5.6Kbps
Temperatura de trabajo
-25C ~ 65C
Recepcin de sensibilidad
-105dBm
Frecuencia
250MHz---450MHz
Dimensin
32.00*13.86*7.60
Especificacin [4]
3.3 DISPLAY LCD (16x2)
La pantalla de cristal lquido o LCD (Liquid Crystal Display) es un dispositivo Controlado de visualizacin grafico para la presentacin de caracteres, smbolos o incluso dibujos (en algunos modelos), es este caso dispone de 2 filas de 16 caracteres cada una y cada carcter dispone de una matriz de 5x7 puntos (pixeles), aunque los hay de otro nmero de filas y caracteres. Este dispositivo est gobernado internamente por un microcontrolador y regula todos los parmetros de presentacin, este modelo es el ms comnmente usado.[5]
Esta pantalla nos va a permitir los datos transmitidos del emisor hacia el receptor.
Fig. 4. Display LCD.
3.4 PANTALLA LCD TFT ARDUINO
La pantalla TFT Arduino es una pantalla LCD retro iluminada con cabeceras.Usted puede dibujar texto, imgenes y formas a la pantalla con labiblioteca TFT. Tiene una ranura para tarjetas micro-SD de a bordo en la parte posterior de la pantalla que pueden, entre otras cosas, almacenar imgenes para mostrar en la pantalla. [6]
En este proyecto nos servir para presentar los estados del clima por medio de imgenes.
Fig. 5. Pantalla Lcd Tft Arduino (Vista Frontal y Trasera) [6]
3.5 SENSOR DE TEMPERATURA ANALGICO (LM35).
El LM35 es un sensor de temperatura integrado de precisin, cuya tensin de salida es linealmente proporcional a temperatura en C (grados centgrados). [7]
Caractersticas
Calibrado directamente en grados Celsius (Centgrados)
Factor de escala lineal de +10 mV / C
0,5C de precisin a +25 C
Rango de trabajo: -55 C a +150 C
Apropiado para aplicaciones remotas
Bajo coste
Funciona con alimentaciones entre 4V y 30V
Menos de 60 A de consumo
Bajo auto-calentamiento (0,08 C en aire esttico)
Baja impedancia de salida, 0,1W para cargas de 1mA
Fig. 6. Sensor LM35. [7]
4. SOFTWARE
Software de programacin Arduino
Matlab para la codificacin de los datos y para presentar grficas de la variacin de temperatura.
5. ESQUEMA DE CONEXIN DEL SISTEMA
CANAL
MODULO RF (RECEPTOR)
MODULO RF (TRANSMISOR)
ARDUINO
ARDUINO
GLCD
(IMGENES)
LCD
(DATOS)
Sensor de temperatura
6. FUENTE DE INFORMACIN
Para obtener los smbolos que representarn nuestra fuente de informacin se medir los valores de temperatura durante 24 horas seguidas cada 8 minutos por medio del sensor de temperatura LM35 y una tarjeta de programacin Arduino donde se cargar el siguiente cdigo:
float temp; //Declaramos para obtener la temperatura con decimales
int tempPin = 0; //Declaramos el Pin analgico de entrada A0
void setup() //Inicializamos la preparacin del proceso
{
Serial.begin(9600); //Declaramos la velocidad de transmisin serial
}
void loop() //Inicializamos el algoritmo de programacin
{
temp = analogRead(tempPin); //Leemos el valor analgico del sensor
temp = (5*temp*100)/1024; //Discretizamos el A0 en funcin de la resolucin de 10
//bits de arduino uno y los voltajes de entrada
Serial.print("TEMPERATURA = "); //Presentamos en el monitor serial
Serial.print(temp); //Presentamos en el monitor serial
Serial.print("*C"); //Presentamos en el monitor serial
Serial.println(); //Presentamos en el monitor serial (enter)
delay(480000); //Velocidad de transmisin (datos del sensor)
}
Luego de obtener los datos de temperatura creamos la fuente de informacin nicamente con los valores obtenidos en las mediciones que sern los que posean una probabilidad de ocurrencia en ste caso particular de medicin.
PROPABILIDADES MARGINALES
Para obtener las probabilidades de los estados del sensor que ocurrieron durante el momento de las mediciones se aplica la siguiente frmula:
A sta medida de la probabilidad se la denomina Probabilidad con Frecuencia Relativa que es la razn entre el nmero de veces que aparece el evento A para el nmero total de eventos. [8]
Para obtener las probabilidades de ocurrencia de cualquier fuente con N eventos, se ha elaborado el siguiente algoritmo de programacin en Arduino:
CANTIDAD DE INFORMACIN
Es el valor que recibimos de informacin cuando ha ocurrido un suceso que puede presentarse con cierto valor de probabilidad. La frmula para calcular ste valor es la siguiente:
Por lo tanto, por medio de esta frmula podemos calcular la cantidad de informacin de un estado del sensor de temperatura que se encuentra dentro de la fuente de informacin con cierta probabilidad de ocurrencia.
LONGITUD MEDIA
Es un parmetro que nos permite saber en lneas generales que tan bueno es un cdigo o una combinacin de smbolos.
ENTROPA
La entropa de la fuente es el valor medio de la informacin proporcionada por la fuente al emitir smbolos.
CODIFICACIN POR EL MTODO HUFFMAN
Es unalgoritmousado para compresin de datos. El trmino se refiere al uso de una tabla de cdigos de longitud variable para codificar un determinado smbolo (como puede ser un carcter en un archivo), donde la tabla ha sido rellenada de una manera especfica basndose en la probabilidad estimada de aparicin de cada posible valor de dicho smbolo. Fue desarrollado porDavid A. Huffmanmientras era estudiante de doctorado en elMIT, y publicado en "A Method for the Construction of Minimum-Redundancy Codes".
Describiremos el proceso que se realiza para generar un cdigo huffman:
1) Ordenamos las probabilidades de aparicin de cada smbolo de mayor a menor en una columna.
2) Sumamos los dos ltimos valores de la columna y su resultado se coloca en una siguiente columna (describiendo la trayectoria del valor hasta llegar a su posicin) junto con los dems valores de la columna anterior de forma ordenada (de mayor a menor) a excepcin de los smbolos que fueron sumados.
3) Se realiza ste procedimiento hasta obtener en la ltima columna solo dos valores ordenados de mayor a menor.
4) A cada uno de los 2 valores obtenidos en la ltima columna, se les asigna un digito binario (un 1 o un 0).
5) Desde la ltima columna, se regresa siguiendo la trayectoria descrita de los 2 valores sumados y a stos dos valores se les asigna el digito 1 o 0, dependiendo de cul les corresponda, y de igual manera se asigna el valor que les corresponda (1 o 0) a los dems valores de la columna.
6) Luego, se les aade a cada cdigo de los valores que fueron sumados, los dos valores (1 o 0) de la ltima columna.
7) Se sigue el procedimiento hasta obtener el cdigo de los valores de la primera columna.
EFICIENCIA DEL CDIGO
Si = 1 el cdigo es 100% eficiente
Si 0 el cdigo es ineficiente
EFICIENCIA DE LA FUENTE
Expresa la informacin de forma unvoca con la mnima cantidad de dgitos posibles (adecuados al sistema de transmisin o almacenamiento), eliminando informacin redundante.
VELOCIDAD DE TRANSMISION
REDUNDANCIA
En la codificacin de la fuente debemos eliminar la mayor cantidad de informacin redundante, sin embargo en la codificacin del canal tratamos de anexar informacin redundante con el din de proteger la informacin ante posibles errores de transmisin.
REFERENCIAS
[1] ARDUINO UNO: http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardUno
[2] Universitat Politcnica de Catalunya, Alejandro de Haro, Daniel Jarne, Josep M. Palet, Arduino Remote Sensor Data Transmitter/Receiver
[3] Mdulo CDT-88: http://www.ikkaro.com/arduino-comunicacion-radiofrecuencia/
[4] Mdulo R03A: http://es.made-in-china.com/co_dbytech08/product_RF-Receiver-Module-R03A-_hihsyrehg.html
[5] LCD 16x2: http://es.scribd.com/doc/44252680/LCD-16X2#scribd
[6] LCD TFT: http://arduino.cc/en/Main/GTFT
[7] Sensor LM35: http://electronica.webcindario.com/componentes/lm35.htm
[8] PROBABILIDADE VARIVEIS ALEATRIAS E PROCESSOS ESTOCSTICOS, Jos Pable de Almeida e Albuquerque, Jos Mauro Pedro Fortes, Weiler Alves Finamore.