Menu Principal

Joomla Slide Menu by DART Creations

Comunicacion Inalambrica QE8 y JM8

Valoración de los usuarios: / 0
PobreEl mejor 

 

Hola amigos, en este proyecto veremos como realizar la comunicacion inalambrica con un modulo de rf a 433MHz, para ello utilizaremos varias cosas como: un microcontrolador MC9S08QE8 (se me ha hechado a perder la DEMOQE128 mala suerte) Tarjeta de Adquisicion JM8, los modulos rf 433MHz y por último pero no más importante, el sensor DS18S20 para medir la temperatura. Los proyectos del transmisor y receptor, así como el software en C# están abajo del articulo los links para descargar, solo deben de estar registrados.

Aqui un video del funcionamiento del proyecto:

 

 

 

 

 

Los modulos RF de 433MHz son de los amigos de sure electronics, estos trabajan con comunicación serial a una velocidad de 19200bauds, aquí el link por si alguien les interesa LINK

 

En sensor de temperatura DS18S20 trabaja con un protocolo de comunicación muy especial llamado 1 wire, diseñado por los amigos de Dallas semiconducto o Maxim, este protocolo tiene muchas propiedades que lo hacen único, ya que puedes hacer una red con diferentes dispositivos y una sola linea de comunicación.

 

 

En la parte del transmisor, he utilizado un microcontrolador MC9S08QE8. Este microcontrolador tiene excelentes prestaciones de bajo consumo, llegando a competir con los microcontroladores de Texas Instruments, en varios analisis que hace la compañia de freescale, trabaja con 3.3v llegando a trabajar hasta con 1.8V y funcionando la mayoría de sus perífericos.

 

El esquemático para el transmisor se muestra a continuación, para la alimentación he utilizado 2 baterias AA con 3V de alimentación.

Aquí se puede ver que lo he hecho en un protoboard, para acelerar el proceso del proyecto.

En la parte de programación vemos como esta configurado, el proyecto esta conformado de varios archivos, entre ellos la libreria para el sensor DS18S20, esta libreria no hubiera sido posible sin el articulo en este foro frances LINK. Además de un excelente trabajo de Dallas Semiconductor DS18S20.

 

La librería del sensor DS18S20 se compone de varias funciones que nos permiten desde leer solo un sensor conectado, o conectar varios sensores y leer cada uno de ellos, para esto la parte más importante es el retardo de 1 us que esta en ensamblador, este retardo esta especialmente diseñado para un bus clock de 8MHz a 8.4MHz, si desean utilizar un bus clock con mayor o menor velocidad, tendrán que cambiar esta parte del código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/******************************************************************************
**
** definitions delay_us functions
******************************************************************************/
 
void delay_1us(unsigned int n)
{
 
asm {
LDHX (n)
LOOP1: AIX #-1 ;[2]
CPHX #0 ;[3]
BNE LOOP1 ;[3]
}
}
 

 

Si deseamos cambiar donde queremos que sean nuestra entrada y salida para la comunicación, podemos hacerlo desde el archivo 1_wire.h

 

1_wire.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*****************************************************************************
** BRAULIO ELIAS CHI SALAVARRIA
** 1_wire.h
** functions of 1wire sensors
**
*****************************************************************************/
#include "derivative.h"
 
 
#define TRUE 1
#define FALSE 0
 
 
#ifndef PORTS_DQ
#define PORTS_DQ 1
#define DQ_RX PTAD_PTAD0
#define DQ_TX PTAD_PTAD1
#define DIR_DQRX PTADD_PTADD0
#define DIR_DQTX PTADD_PTADD1
#endif
 
 
 
 
/*****************************************************************************
** principal functions
** DS18S20
**
*****************************************************************************/
void FindDevices(void);
 
/*****************************************************************************
** principal functions
** DS18S20
**
*****************************************************************************/
void ow_select(char);
/*****************************************************************************
** principal functions
** DS18S20
**
*****************************************************************************/
char ds1820_temperature(char);
 
 
 
/*****************************************************************************
** principal functions
** DS18S20
**
*****************************************************************************/
 
 
char Read_Temperature(void);
 
void read_ROM_code(void);
 


 

                                                                                                                                                                                                          Siguiente....

Comentarios  

 
0 #1 marvicdigital 03-08-2010 20:47
Que buenos ejemplos de verdad muy útiles para los que apenas estamos comenzando con los HS08.

Gracias.

Saludos
Citar
 

Escribir un comentario

No agredir a los demás compañeros
Evitar comentarios racistas o insultantes


Código de seguridad
Refescar

Buscador ThinkChip

Ingresar

¿Deseas apoyarme?

Enter Amount:

Distribuidores

Banner

Más allá de la ciencia

10 Recibid mi enseñanza, y no plata;Y ciencia antes que el oro escogido.11 Porque mejor es la sabiduría que las piedras preciosas;Y todo cuanto se puede desear, no es de compararse con ella.12 Yo, la sabiduría, habito con la cordura,Y hallo la ciencia de los consejos.13 El temor de Jehová es aborrecer el mal;La soberbia y la arrogancia, el mal camino, Y la boca perversa, aborrezco.

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterToday10
mod_vvisit_counterYesterday83
mod_vvisit_counterThis week10
mod_vvisit_counterLast week567
mod_vvisit_counterThis month433
mod_vvisit_counterLast month1863
mod_vvisit_counterAll days2296

We have: 1 guests online
Your IP: 38.107.191.102
 , 
Today: Sep 06, 2010