Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

19/07/2012 #1


Interfaz Termómetro y Termostato USB HID
La siguiente interfaz fue diseñada para practicar con el sensor de temperatura DS1631 en la cual podemos ver la temperatura , configurar el termostato, acceder a su configuración mediante i2c, a travez de un microcontrolador Pic18f4550 , Pic18f2550 o similar






EL circuito es el siguiente



en donde podemos podemos modificar los pines A0,A1,A2 - en el software se configura la dirección


Parte del código del PIC, si deseamos modificar el codigo solo hay que tener en cuenta recibe[1] tiene que ser los mismos valores que se muestran ya que el programa de la pc los envia de esa forma

Código:
#include     <18F4550.h>
#fuses       NOMCLR,HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use         delay(clock=48000000)
#use         i2c(Master,sda=PIN_B0,scl=PIN_B1)
#include     <pic18_usb.h>                  
#include     <APLICACION_HID.h>             
#include     <Descriptor_easyHID.h> 
#include     <USB.c>  
#include     <TEMP_ds1621.c.encrypted>
//#include     <ds3232.c> 
#use         fast_io(c)
void main(void){
///////////////////////////////////////////////////////////////////////////////
// DECLARACION DE VARIABLES
///////////////////////////////////////////////////////////////////////////////
   int8  recibe[USB_EP1_RX_SIZE];
   int8  envia[USB_EP1_TX_SIZE];
   int8  datah;
   int8  datal;
   int8  adress=7;
///////////////////////////////////////////////////////////////////////////////
// CONFIGURACION DE PUERTOS
///////////////////////////////////////////////////////////////////////////////
//   set_tris_b(0xFF);
//   set_tris_c(0b01000000);
///////////////////////////////////////////////////////////////////////////////   
// CONFIGURANDO DS1631 (SENSOR DE TEMPERATURA)
///////////////////////////////////////////////////////////////////////////////
   init_temp(adress);
   config_temp(adress,0b01101110);//Configuration Registers
///////////////////////////////////////////////////////////////////////////////
// CONFIGURANDO DS3232 (REAL TIME CLOCK)
///////////////////////////////////////////////////////////////////////////////
//   ds3232_init();
//   DS3232_setTime(1,59,30);
//   DS3232_setDate(3,3,+--3,3);
/////////////////////////////////////////////////
//   setup_adc_ports(AN0); // Configura canales usados por el ADC.
//setup_adc(ADC_CLOCK_DIV_64);
///////////////////////////////////////////////////////////////////////////////
// CONFIGURACION DE USB
///////////////////////////////////////////////////////////////////////////////
  usb_init();
  usb_task();  
  usb_wait_for_enumeration();

    while (TRUE)                                                       
    {
         recibe[1]=0;
         if(usb_enumerated())                                            
         {
            delay_ms(100);
            read_full_temp(adress,datah,datal);
            datal=datal>>4;
            envia[1]=datah;
            envia[2]=datal;
            //Enviando paquete USB
            usb_put_packet(1, envia, USB_CONFIG_HID_TX_SIZE, USB_DTS_TOGGLE); 

         if (usb_kbhit(1))
         {  
            //Recibiendo paquete USB
            usb_get_packet(1, recibe, USB_CONFIG_HID_RX_SIZE);
            //Configuracion del DS1631
            if (recibe[1]==10)//configuracion de thermostato
            {
               write_TH(adress,recibe[2],recibe[4]<<4);
               write_TL(adress,recibe[3],recibe[5]<<4);  
            }
            if (recibe[1]==11)//configuracion de sensor
            {
               adress=recibe[2];
               init_temp(recibe[2]);
               config_temp(recibe[2],recibe[3]);
            }
            
         }
      
         }
   }
}
Programa C# (requiere net 3.5) solo el ejecutable
Programa pic hex + source code
26/11/2012 #2


Muy buen proyecto amigo, solo un apregunta como haces para agregar esos controles en visual, porque yo uso labview pero e leido que visual es mas potente y me gustaria, adentrarme mas en visual pero con ese tipo de controles gracias, y nuevamente felicidades por tu proyecto te quedo de 10
26/11/2012 #3
Moderador general

Avatar de Fogonazo

vl4dx dijo: Ver Mensaje
La siguiente interfaz fue diseñada para practicar con el sensor de temperatura DS1631 en la cual podemos ver la temperatura , configurar el termostato, acceder a su configuración mediante i2c, a travez de un microcontrolador Pic18f4550 , Pic18f2550 o similar. . .
No había visto este tema, ! Gracias por el aporte ¡
28/11/2012 #4


Gracias vl4dx , proyecto excelente.
26/12/2012 #5


GNM dijo: Ver Mensaje
Muy buen proyecto amigo, solo un apregunta como haces para agregar esos controles en visual, porque yo uso labview pero e leido que visual es mas potente y me gustaria, adentrarme mas en visual pero con ese tipo de controles gracias, y nuevamente felicidades por tu proyecto te quedo de 10
Gracias, lo de los controles se desarrollan mediante gdi (Graphics Device Interface)
10/04/2013 #6


hola que tal, primeramente quiero saludarles, tengo dudas del mi ccs compiler(programa), acabo de descargar los dos link de es tema, por que tengo desde el viernes que no logrado hacer comunicacion Usb con el 18f4550, me he bajado como 4 ejemplos(usb para pic 18f4550) y antes de compilar con el ccs compiler me funcionan, y despues de hacer ya no funcionan me marca errores, voy anexar la imagen para ver si me pueden ayudar con este problema, haaa y tambien me aparece lo mismo en la lap, estoy llegando a la conclusion que de el programa CCS compiler no es el problema, les pedire de favor que compilen este ejemplo y publiquen un print screen y asi poder ir descartando posibles causas
Imágenes Adjuntas
Tipo de Archivo: jpg no compila CCS compiler.JPG (154,3 KB (Kilobytes), 38 visitas)
15/04/2013 #7


que version de CCS estas usando.. para que te funcione correctamente el usb tienes que tener puesto el sensor tal y como se muestra en el esquematico, caso contrario tienes que qiutar el codigo relacionado con el sensor ya que antes se inicializa el sensor y si no hay respuesta la comunicacion USB no se lleva acabo
19/07/2013 #8


hola esta exelente tu post....
Sera possible subir el codigo fuente del C# si no es mucha molestia...
19/06/2014 #9


¿y como se puede hacer inalámbrico es vez de conectarla directamente a la pc?
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.