Autor Tema: Encender un LED con el PIC18F4550 vía USB  (Leído 118900 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado gu1llermo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 217
Encender un LED con el PIC18F4550 vía USB
« en: 10 de Febrero de 2008, 02:50:03 »
Encender un LED con el PIC18F4550 vía USB

El título suena como: “matar un mosquito con un rayo láser”, bueno si hacemos analogía sería algo equivalente, pero… aquí no se trata de matar ningún mosquito sino de mostrar de manera sencilla el ¿cómo? haciendo uso de éste pic, podemos lograr encender o apagar un LED mediante un comando enviado vía usb, desde un pc al pic, además de enviar y recibir varios datos a la vez.

Esto lo podemos lograr de dos formas: mediante una simulación en proteus (versión 7 SP2) ó montando el circuito en un protoboard.

En el proteus pueden montar el siguiente circuito:


(En los archivos adjuntos ya está un .dsn en la carpeta Proteus, que ya tiene montado éste circuito)

En las propiedades del PIC es importante colocar 48Mhz en Processor clock frecuency



Al ejecutar, la pc nos indicará que encontró un nuevo hardware (win xp SP2) y nos pedirá su correspondiente driver, que está en la carpeta ‘Driver’ en los archivos adjuntos.

En la carpeta ‘Aplicación’ se encuentra un programita con el nombre PicUSB.exe y una dll con el nombre ‘mpusbapi’, para ejecutarlo es necesario tener instalado el Microsoft .NET Framework 2.0, lo pueden descargar desde: Aquí

Una vez que ya tenemos la simulación en el proteus corriendo con el driver correctamente instalado, ejecutamos el programita PicUSB.exe, que fué diseñado utilizando Microsoft Visual C# 2005 Express Edition


Imagen corriendo la aplicación y el proteus:



Como verán, se envían 5 comandos (ventanas blancas) y se reciben 5 respuestas (ventanas grises), el programita en el pic, hace lo siguiente: si en la 1era posición le mandan un 1 => enciende un LED y si es un 2 lo apaga y en ambos casos regresa los demás números multiplicados por 2, además de devolver el comando enviado.

El botón que dice Nro. de dispositivos, lo único que hace es regresar 0, si el pic no está conectado y 1 si lo está.

Para el caso del protoboard, se utilizó el Programador PIPO2, que es el más sencillito que conseguí en la red, pero no utilicé el ICPROG como allí recomiendan, sino el WinPic800, porque con el 1er programa nombrado me generaba un error, ya ni lo recuerdo, pero no pude grabar éste PIC, es un circuito sencillito y funcional, lo recomiendo no sin antes dar un consejo, a la hora de colocar el conector DB9 hembra, quizás tiendan a confundirse (eso me sucedió) lo que les recomiendo es que se fijen en la siguiente figura

ésta les sacará de dudas, y si tienen problema, revisen bien que sí funciona ;-)

El circuito a realizar es el siguiente:


y a éste le falta conectar el LED en el pin 21 (RD2)


En el winpic800, en Configuración --> Hardware, Seleccionar: JDM Programmer


El programa en el pic se realizó con el PCWH Compiler versión 4.023. y se encuentra en la carpeta CCS.

Ya lo que restaría es instalar el driver cuando la pc lo solicite, correr la aplicación PicUSB y verificar su funcionamiento, ya lo probé en el proteus y en el protoboard y todo funciona, espero que a uds. también.

Agradecimientos:

Gracias a J1M por su trabajo PicUSB, gracias a PalitroqueZ que me enteré de que con el proteus se podía simular esto y además de su post “Mis primeros pasos con el 18F4550” Que me sirvió de ayuda para configurar los fuses con el CCS. Y también quiero agradecer a Cryn, que me motivó a publicar éste proyecto para que los que se inicien lo hagan con patada voladora! Jajaja. Y por supuesto gracias al foro todopic.

Atte. Guillermo Núñez.
« Última modificación: 10 de Febrero de 2008, 03:01:49 por gu1llermo »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #1 en: 10 de Febrero de 2008, 03:18:05 »
Magnífico trabajo que vendrá estupendamente a todo el que quiera iniciarse. Gracias

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #2 en: 10 de Febrero de 2008, 04:20:11 »
Muy bueno! Con simulacion en proteus e imganes... Se agradece.

Una ves probe el PicUSB de Palitroques (el de proteus) y aveces se reseteaba el micro, lo de conectar/deconectar apretando en el conector ese no funcionaba y cuando leia el buffer me leia un dato (sin haber enviado nada), cuando enrealidad deberia leer 0 como en la vida real  :lol: Pero bueno, cosas q podran arreglarse.

Un saludo.

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #3 en: 10 de Febrero de 2008, 06:23:19 »
Enhorabuena por lograr tu propósito y muuuuchas gracias por compartirlo con todos nosotros, sin duda será de utilidad para muchos! :)

saludos!

Desconectado gu1llermo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 217
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #4 en: 10 de Febrero de 2008, 12:17:57 »
jejeje que bueno que les guste, de nada, es un placer poder contribuir con éste pequeño aporte que no hubiese sido tan fácil de lograr sino por la ayuda de los que e mencionado y los que los antecedieron.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #5 en: 10 de Febrero de 2008, 19:58:24 »
 :mrgreen: muy buen inicio, y que mejor que algo como esta para los que se inician en USB tb, se dan una vuelta por aca, que está ello para comenzar con lo básico, siempre es un led, jejeje
.

Desconectado proclamer

  • PIC10
  • *
  • Mensajes: 30
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #6 en: 11 de Febrero de 2008, 12:06:01 »
el modulo de usb de mi proteus no funciona deveria de mostrar unn cuadro de dialogo con lineas verdes cuando conectas el pic con el puerto pero no sucede nada, que puede estar pasando o sera que hay que hacer una configuracion especial. lo he provado con este proyecto y con algunos de los mios y nada.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #7 en: 11 de Febrero de 2008, 12:15:43 »
Muchas gracias Guillermo. Muy buena explicación. Estoy por empezar hacer un trabajo con USB y me viene de maravillas.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #8 en: 11 de Febrero de 2008, 16:23:24 »
Felicidades gu1llermo  :-/ :-/ :-/

ahora ya puedes empezar a transmitir datos a la compu  :P



el modulo de usb de mi proteus no funciona deveria de mostrar unn cuadro de dialogo con lineas verdes cuando conectas el pic con el puerto pero no sucede nada, que puede estar pasando o sera que hay que hacer una configuracion especial. lo he provado con este proyecto y con algunos de los mios y nada.


umm, el proteus instala una cosa llamada usb service, que es el que hace de emulador host, tienes que buscarlo en inicio->programas-> eso es lo que permite activar el conector usb en los circuitos.


http://www.labcenter.co.uk/products/usb.cfm

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado gu1llermo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 217
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #9 en: 12 de Febrero de 2008, 00:06:07 »
el modulo de usb de mi proteus no funciona deveria de mostrar unn cuadro de dialogo con lineas verdes cuando conectas el pic con el puerto pero no sucede nada...

¿Dónde has visto ese cuadro de diálogo con líneas verdes? ¿Podrías mostrarnos una imagen? ¿Será éste?


"Asumiendo que ese sea el caso", ésta ventana aparece sólo cuando corres la simulación en el proteus, me explico, cuando le das al botón play para simular el proyecto es que se habilita la opción para sacar ésta ventana, te adjunto una imagen explicativa:

« Última modificación: 12 de Febrero de 2008, 00:10:17 por gu1llermo »

Desconectado proclamer

  • PIC10
  • *
  • Mensajes: 30
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #10 en: 12 de Febrero de 2008, 11:42:58 »
gracias de verdad a los dos a palitroques y a guillermo de verdad se meresen un aplauso jejejejeje de verdad............

Desconectado Pedro Pan

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 144
    • Foro de electronica USAC
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #11 en: 13 de Febrero de 2008, 15:35:16 »
Citar
Para el caso del protoboard, se utilizó el Programador PIPO2, que es el más sencillito que conseguí en la red, pero no utilicé el ICPROG como allí recomiendan, sino el WinPic800,

gu1llermo una pregunta que version de winpic800 usastes y cual fue el tipo de configuracion que usastes para que el winpic te reconozca el programador??
"Si dejas que lo Malo te detenga, No estaras ahi Cuando lo Bueno Venga"
Aclaro mi nombre no es Pedro, mi nick es por Peter Pan jajaja

Desconectado gu1llermo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 217
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #12 en: 14 de Febrero de 2008, 11:41:38 »
Hola Pedro, si te fijas bien hay una imagen en donde aparece la versión del winpic800 que usé y la configuración que le hice, exactamente es la séptima imagen. De todas formas por si no la ves, te la vuelvo a escribir: winpic800 - v 3.61 y en Configuración --> Hardware, Seleccionas JDM Programmer, así me reconoce el programador PIPO2.

Desconectado Pedro Pan

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 144
    • Foro de electronica USAC
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #13 en: 14 de Febrero de 2008, 14:18:10 »
Gracias gu1llermo, vamos a probar a ver que tal funciona
"Si dejas que lo Malo te detenga, No estaras ahi Cuando lo Bueno Venga"
Aclaro mi nombre no es Pedro, mi nick es por Peter Pan jajaja

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Re: Encender un LED con el PIC18F4550 vía USB
« Respuesta #14 en: 14 de Febrero de 2008, 18:18:25 »
Hola oye gracias por este aporte... La verdad me servirá de gran ayuda ya que uno de los proyectos que tengo que hacer es con el puerto USB y creanme que allí si que estoy totalmente neofita!!!!!!! Lo probaré y les contaré la experiencia!!!


Atte: Enigma... La llanerita de Guayana :-)
No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!