lunes, 26 de noviembre de 2012

Sensor de temperatura DS18B20

Probé este sensor de temperatura y me encantó. Es fácil integrarlo a un diseño donde se quiera medir la temperatura ya que emplea solo un pin para comunicarse con el microcontrolador, adémás de los 5V de alimentación y tierra.
El único componente externo que hay que conectarle al bus de datos es una resistencia pull-up de 4,7K (según hoja de datos), cuando hice la prueba contaba con una de 5,6K y funcionó bien.
El rango de temperatura que maneja este sensor es de -55 a 125º C y el encapsulado es TO-92.
El microcontrolador empleado para la prueba es el 16F886, el programa fue escrito en C con el compilador CCS y los driver para este sensor fueron encontrados en el foro oficial de CCS.
Lo que hay que cambiar en el driver 1wire.c es el pin que van usar en el microcontrolador, ya que viene configurado para el pin C5.
La imagen es a modo de ilustración.

Descargar el programa.
Tema tratado en foro

lunes, 17 de septiembre de 2012

Envío de datos desde el puerto serie del pic a una planilla de Excel.

Utilizando Hyperterminal y creando un archivo CSV (comma separates value)  se puede usar Excel para abrirlo y tener de forma tabulada la información que se envía desde el pic.
La forma de hacerlo es la siguiente: en Hyperterminal se debe abrir Transfer-> Capture Text y se renombra captura.csv, por ejemplo.
Para que el pic mande informacion a columnas distintas se deben separar con comas, o punto o punto y coma, en mi caso uso punto y coma, hay que probar cual da resultado .

Por ejemplo para formar dos columnas Tiempo y Tension en el pic se escribe el siguiente codigo:


printf("Tiempo)");
putc(0x3B); //valor hexadecimal del caracter punto y coma
printf("Tension\r")

El programa que uso para el ejemplo esta escrito usando el compilador CCS, y mide la tensión de un potenciometro convirtiéndola a digital.


void main()
{
   int16 q;
   int16 p=0;
   setup_adc_ports(AN0);
   setup_adc(ADC_CLOCK_INTERNAL);
printf("Tiempo");
putc(0x3B);//envia punto y coma
printf("Tension\r");
for(;;){
   set_adc_channel(0);  
   delay_us(20);
   q=read_adc();
printf("%4ld",p++);//p se incrementa cada un segundo y se envia por usart
putc(0x3B);
printf("%4ld\r",q);//q contiene el valor del convertidor ana / dig
delay_ms(1000);
   }
}






martes, 20 de septiembre de 2011

New version

Based on the circuit and program published in previous posts I made some improvements with the following results.
At first only use one input and one output, but nothing prevents you from adding more inputs and more outputs.
In general the system allows you to enable or / disable an output by sending an sms.
When an input is activated, it sends a sms at two cellphone with the word "Panic".
You can ask the system a report about the status of inputs and outputs by sending a sms.
The entire system is programmed by sending a sms, when I refer to program, means that to change the system password, I need to send a sms and the same for changing cell phone numbers used by the system to send a sms when an input is activated.
The password and the cell phone numbers are stored in the EEPROM of the pic.

The syntax of the message being sent is: Command # Password.
Command
Action
On
Set output
Off
Reset ouput
Estado
Ask a system  report
Pwd
Change the password
Num1
First cellphone number is stored
Num 2
Second cellphone number is stored


Example 1:The default system password is 1234 to change it to 5555 send the sms:

Pwd5555#1234
The system forwards the following sms: "The new password was accepted"

Example 2: To store the first cellphone number in eeprom send the sms:

Num1+59812345678#1234 (+598 international prefix of my country and 12345678 cell phone number).

The system forwards the following sms: "The new phone number was accepted"

Example 3: To turn on the output send the sms

On#1234

The system forwards the following sms: 
Input - Ouput
1           1
D          A
D= Disable  A= Active

Example 4: To ask a system report send the following sms:

Estado#1234
The received sms is the same of example #3

IMPORTANT!! For each command to be sent, the system resoponds with a sms.
The interesting thing is that the system always answers to the phone that sent the command, in particular, any one who knows the command and password can use the system.
I think this is a good thing because the numbers of users are unlimited.
If someone forgot the password can be reset and return to the default password by following this procedure: turn off the system and connect the input to ground then turn on and wait 10 second the password will change to 1234, don't forget to disconnect the input.

Nueva version

Basándome en el circuito y programa publicados en entradas anteriores hice algunas mejoras obteniendo los siguientes resultados.
En principio solo uso una entrada y una salida, pero nada impide que se puedan agregar más entradas y más salidas.
En general el sistema permite activar u/o desactivar una salida con el envío de un sms.
Cuando se activa la entrada, se envía un sms a 2 celulares con la palabra "Pánico".
Se le puede solicitar al sistema que nos envíe un sms con el estado en el que se encuentra la entrada y la salida,
Todo el sistema se programa a través del envío de sms, cuando me refiero a programar, significa que para cambiar la clave del sistema, debo mandar un sms y lo mismo para cambiar los números de celular al cuál se envía un sms cuando se activa la entrada
La clave mas los números de celular se almacenan en la eeprom del pic.

La sintaxis del mensaje que se le envía es la siguiente: Comando#Clave.



Comando
Acción
On
Activa la salida
Off
Desactiva la salida
Estado
Pide un reporte al sistema del estado de entrada/salida
Pwd
Cambio de clave
Num1
Graba  primer número de celular
Num 2
Graba segundo número de celular


 Ejemplo 1: la clave del sistema por defecto es 1234 para cambiarla a 5555 se debe enviar el sms:

Pwd5555#1234.

El sistema reenvía el siguiente sms: "La nueva clave fue aceptada"

Ejemplo 2: para grabar el primer numero de celular al cuál se le envía el mensaje de pánico se debe enviar el sms:

Num1+59812345678#1234 (+598 es la caracteristica internacional de mi país y 12345678 sería el número de celular), es lo mismo para grabar el segundo número de celular pero enviando el comando Num2.

El sistema reenvía el siguiente sms: "El nuevo numero de celular fue aceptado"

Ejemplo 3: para activar la salida se envía el sms:

On#1234
El sistema reenvía el siguiente sms:

Entrada - Salida
1              1
D              A
D= Desactivada  y A= Activada
Ejemplo 4: para pedir un reporte del estado de entrada/salida se envía el sms:

Estado#1234
El sistema reenvía un sms igual al del ejemplo 3.

IMPORTANTE!!: por cada comando que se le envíe, el sistema contesta con un sms.
Lo interesante de todo es que siempre le contesta al celular que le envió el comando,  en concreto, cualquier usuario que conozca el comando y la clave puede usar el sistema, con esto se logra que no se tenga un número limite de usuarios.

Si se olvidaron de la clave se puede retornar a la clave 1234, la forma de hacerlo es: se apaga el aparato se pone a tierra la entrada se enciende y se esperan 10 segundos, luego se desconecta la entrada de la tierra y queda cambiada la clave.

La foto de abajo es la placa prototipo en ella se puede ver el módulo gsm conectado a la placa, lo dos integrados que se ven son: el pequeño es un Max232 y el otro es un pic 16F886 que funciona con el oscilador interno.
Uno de los led es para indicar el estado de la salida, y el otro lo uso como monitor para saber cuando se recibe un sms o cuando se está enviando uno.



martes, 9 de agosto de 2011

Módulo Gps

Compré un módulo Gps, ya que tengo pensado incorporarlo al sistema gsm. La idea de funcionamiento, que no es nada nueva, es hacer un sistema de "tracking", con un sms solicitar las coordenadas del lugar donde se encuentra el vehículo, para localizarlo en el mapa de Google Map.
Por ahora lo único que puedo compartir son las fotos del módulo Gps, el cuál supongo que estará llegando a fines de agosto, ya que viene desde China.
Para bajar el manual de este módulo este es el LINK


lunes, 8 de agosto de 2011

Proteus portable

Cansado de tratar de instalar sin éxito en mi PC el programa de simulación de circuitos Proteus, encontré esta versión portable que se debe ejecutar cada vez que se desea simular un circuito.
Para descargar este es el LINK:

viernes, 22 de julio de 2011

Control por sms

El programa anterior enviaba un sms cada vez que se ponía a masa la entrada RB5. Ahora en este nuevo programa ademas de hacer lo anterior, se puede encender u/o apagar la salida RB4 indicada como" led_out".
Enviando el sms con la palabra On o la palabra Off, se enciende o apaga la salida RB4, enviando Estado se recibe un sms reportando el estado de la entrada y salida.
El formato de sms recibido es este:


Inputs - Outputs
1  / 1
D / A

La interpretación del sms del ejemplo es: la entrada 1 está Desactivada (D) y la salida 1 está Activada (A).
Creo que el programa está bien comentado como para entenderlo, y lo pueden bajar en este LINK.


sábado, 16 de julio de 2011

Comunicación entre la placa gsm y el pic

En el primer intento de establecer una comunicación entre la placa gsm y el pic, fue conectando directamente los pines Rx y Tx del pic con el puerto de comunicación de la placa, en este caso, no hubo dialogo.
Mirando el esquema del circuito que proporciona el fabricante de estas placas gsm, veo un MAX 232 que convierte los niveles TTL entregados por el módulo gsm a RS-232, razón por la cual en el primer intento no hubo comunicación con el pic.
Como el pic se comunica con niveles TTL es necesario hacer una conversión de RS-232 a TTL, y usando un MAX-232 se logra el diálogo entre el pic y la placa gsm.
Como conclusión de todo esto:

1) Si se sacan las señales Rx y Tx directamente del módulo gsm, no es necesario agregar al circuito un MAX-232, ya que el módulo gsm y el pic se comunican con niveles TTL.

2) En caso de tener una placa que contenga un puerto de comunicación RS-232, es necesario para la comunicación con el pic, adaptar las señales usando un MAX-232.





miércoles, 13 de julio de 2011

Envio de un mensaje de texto con un pic y el modulo gsm

Hice un pequeño programa para probar el funcionamiento del módulo gsm con el pic, está escrito en lenguaje C y utilizo el compilador CCS v4.104.
El programa envía un sms cada vez que la entrada RB0 del pic pasa a nivel bajo.
La función "verifica_ok()", se usa para chequear el OK que envía el modem después de enviar el sms, si la respuesta es válida se apaga el led.
Con la función "escr_eeprom()", grabo las respuesta que da el modem, para luego leerlas con el programador de pic, es para ir conociendo que responde el módulo cada vez que se le envía un comando AT.
El circuito usado es el que publique en otra entrada.
Aqui pueden leer el prgrama LINK
El circuito usado armado en protoboard.

miércoles, 29 de junio de 2011

Circuito del modulo gsm con microcontrolador

El esquema eléctrico que permite conectar un micro controlador pic con el módulo gsm.
Es muy básico posee un pulsador que actúa como entrada, cada véz que este se presiona hace que se envíe un mensaje de texto.
El led OUT se enciende u/o apaga cuando se le envía el mensaje con la orden correspondiente.
El led STATE es para monitorear que el sistema funcione.
El Max 232 es la interfaz entre el pic y el módulo gsm.
Para no tener que sacar el pic cada vez que se hace una modificación al programa se agregó el conector para la programación In Circuit.
Esquemático del circuito empleado para interconectar el modulo gsm con el microcontrolador pic.
Esquematico del circuito que contiene el módulo GSM

domingo, 19 de junio de 2011

Comandos AT para enviar sms

Estos son algunos de los comando AT que voy a emplear y que los envía el pic al modulo gsm.

AT+CMPS="SM","SM" :Elije la memoria sim para almacenar y leer los sms.
AT+CMGF=1 :Formatos de los mensajes (0=PDU, 1=Texto)
AT+CMGR=1 : Lee el mensaje 1.
AT+CNMI=2,1,0,0,0 : Cuando llega un mensaje muestra la posición en la que está
AT+CMGD=1 : Borra el mensaje 1.
AT+CMGS="num de teléfono" : Envía mensaje al numero de teléfono, las comillas hay que colocarlas.

sábado, 18 de junio de 2011

Pruebas realizadas con el módulo gsm

Hice algunas pruebas como llamar y enviar un sms.
Este video muestra como hacer una llamada.
Con el comando ATD es posible hacer una llamada. En este caso uso un módulo gsm Sim300 conectado al puerto serie de la PC. El comando ATH es para cortar la llamada





Trata sobre el envío de un mensaje sms.
 El primer comando enviado AT es para comprobar que el modulo funcione.
 AT+CMGF=1 es para entrar en el modo texto de escritura de un sms.
Luego de escribir el sms se debe presionar en el teclado de la PC: Ctrl +Z para poder enviar el msj.

miércoles, 15 de junio de 2011

Modulo Gsm



Compre en Ebay esta placa basada en el módulo gsm Simcom 300.
Trae la antena y un módulo de audio aparte.
Las pruebas que hice hasta el momento es conectándola al puerto serie de la PC, y usando los comando AT logre enviar sms e hice algunas llamadas telefónicas.
Lo siguiente será conectarle un microcontrolador pic para hacerla funcionar como un control remoto para que me active una salida o me envíe un sms cuando se active una entrada del pic.
El esquema del circuito de la placa lo pueden conseguir aquí.
Cuando tenga mas resultado los iré publicando, hasta la próxima!!!.

domingo, 15 de agosto de 2010

Cámaras para videovigilancia

Un amigo me pidió que le pusiera un par de cámaras para su negocio.

Buscando en los portales de ventas por Internet le conseguí una placa capturadora con capacidad para 4 cámaras y posibilidad de observación por Internet. En cuanto a las cámaras compré las de tipo domo ya que eran las mas económicas.,


La placa capturadora va inserta en el slot PCI de la computadora, los requerimientos mínimos de la PC son : Pentium III, 256 MB de ram, 20 G o mas de disco, y Windows 98, 2000 o XP.


El CD que acompaña la placa trae el programa para visualizar las cámaras y gestionar la grabación que puede ser continua o cuando una de las cámaras detectan movimiento, con un disco de 40G se puede grabar de forma continua durante 15 días.


Para la visualización de las cámaras por Internet se debe instalar otro programa que se encuentra en el mismo CD, sobre este tema me voy a explayar un poco mas.


Si queremos hacer un monitoreo remoto es necesario tener una dirección IP fija, se puede comprar u/o obtener de forma gratuita en http://www.dyndns.com/ o http://www.no-ip.com/, deben existir otros sitios similares, pero estos son los que conozco.


Si optan por la opción "free", luego de registrarse y haber creado su dirección de Internet, deben bajar un programa, proporcionado por dyndns o no-ip, e instalarlo en la PC que tienen la placa capturadora, este programa se encarga de actualizar la dirección IP de su máquina, ya que esta cambia cada 12 horas. Hecho lo anterior se va a tener una dirección de internet por ejemplo; mialmacen.dyndns.org y el programa va actualizar la dirección IP que corresponda en ese momento.


Ahora ya se está en condiciones de ver las cámaras por Internet, se abre el programa para manejo remoto se escribe la dirección: mialmacen.dyndns.org , esta operación se debe hacer en la computadora que recibe la señal de las cámaras y en la PC remota, y listo ya se pueden ver las cámaras por Internet, como ven no hay misterios .


Si hay algo que no queda muy claro me lo hacen saber a través de sus comentarios.




domingo, 11 de abril de 2010

Configuración del celular para ver TV con los link.

Cambié mi viejo SE W300 por un Nokia 5800, le cargue los links que están en esta página y no me funcionaron.
Lo que hice fué lo siguiente:
1 - Abrir el Real Player.
2- Opciones->Configuraciones->Streaming.
3- Proxy-> NO->Atrás
4- Red->Opciones->Abrir en "Punto de acceso en uso" seleccioné "Ancel", lo demás no lo tocan, si no les anda prueben con otros puntos de acceso.
5- Opciones-> Salir.

Listo!!!!.

Algo que observé es que los links los guarda en la carpeta de msjs recibidos, lo que hice fue hacer otra carpeta en "Mis carpetas" con el nombre TV y los puse ahí.

Otra cosa, el celular debe estar con chip 3G y conectado a la red 3G.
Saludos.

domingo, 4 de abril de 2010

martes, 2 de febrero de 2010

Google Wave

Google Wave es una herramienta en linea que permite a sus usuarios comunicarse y colaborar en tiempo real.
Les cuento que aún no conozco todo su potencial pero por lo que leí este servicio está diseñado para unir: email, mensajería instantánea, wiki y redes sociales.
Se accede por invitación, si desean una invitación se suscriben a mi blog y dejan en comentarios su dirección de email y su deseo de recibir una invitación a Wave.

viernes, 4 de diciembre de 2009

PIC, AVR, MOTOROLA de cuál eres fanático ?

Estaba leyendo en una revista sobre la amplia variedad de marcas de microcontroladores que existen hoy en el mercado para encarar un proyecto.
En el artículo mencionaba que años atrás la elección de un microcontrolador se limitaba solo a Intel con el modelo 8051, el 6809 de Motorola, el Z80 de Zilog y H8 de Hitachi. Todos ellos eran procesadores de 8 bit. Hoy tenemos microcontroladore de 8, 16, 24 y 32 bit, así como una amplia variedad de fabricantes. La pregunta del título apunta a saber cuál es el preferido de ustedes. En mi caso son los Pic's y esto se debe a que en mi país son fáciles de conseguir (no muchos modelos), existe mucha información en Internet, la mayoría de los libros que se pueden comprar en una librería local es sobre Pic, o sea que no tengo mucho para elegir. Es como ir a un restaurant que solo tiene hamburguesa con papas fritas en el menú y el mesero te pregunta ¿ Qué va a comer ?.

Me gustaría conocer a través de los comentarios que microcontrolador prefieren y por qué.

I was reading in a magazine about the wide variety of brands of microcontrollers available today in the market to tackle a project.
In the article mentioned that years ago the choice of a microcontroller was limited only to Intel with the Model 8051, the 6809 from Motorola, Zilog Z80 and Hitachi H8.
Today we have microcontroller of 8, 16, 24 and 32 bit, and a wide variety of manufacturers.
The question of title points to know which you preferred. In my case are the Pic and this is because in my country are readily available (not many models), there are a lot of information on the Internet and the most of books you can buy at a local bookstore is on Pic, so do not have much to choose from.
It's like going to a restaurant that has only burger with fries potatoes on the menu and the waiter asks you what you eat?.

I would like to know through the comments what microcontroller prefer and why.


miércoles, 25 de noviembre de 2009

martes, 24 de noviembre de 2009

Configura el teléfono para internet móvil (WAP)

Les dejo el link sugerido por un amigo del foro que permite configurar el teléfono para navegar en Internet, en este caso es para los celulares Sony Ericsson de cualquier modelo.
Si quieren me pasan para otras marcas de celulares y los voy posteando.