Vous êtes sur la page 1sur 12

Microcontroladores PIC en PROTON y PBP

Programacin de PIC's y algo mas


USB-HI
La comunicacin por el puerto USB a dejado de ser un mito para los electrnicos desde ya hace unos
aos, sin embargo aun pocos aprovechan esta manera de comunicar los proyectos y prototipos que se
llevan a cabo para trabajos escolares, pasatiempo o para trabajos de tesis y residencia profesional, pues
bien, ahora empieza la lectura de unos pasos para abrir los conocimientos y romper dichas barreras que,
aunque este ejemplo es muy bsico da a entender el funcionamiento de escritura de datos, para lo cual
se usara un !"# $%&'(() programado con !*+,+- y .isual B/S"# como soft0are de diseo, la
finalidad de este proyecto es encender cuatro L123s conectados al puerto B del !"#, el funcionamiento
se detallara a continuacin y tambi4n puede obtenerse del rea de descargas5
1. TIPOS DE COMUNICACIN USB
6oy en d7a es muy dif7cil encontrar una computadora personal que cuente con puerto de comunicacin
tipo serial 8*S'9': o paralelo 8L!,:, por lo tanto hay que actualizar los medios de comunicacin y en
vista que todas las computadoras cuentan con puertos USB '5), se hace una introduccin a la
comunicacin USB, teniendo como conocimientos previos programacin de ;icrocontroladores !"#
8!*+,+-:, hay tres maneras posibles de lograr dicho objetivo, las cuales son USB<#2#, esta
comunicacin es la ms sencilla pues emula un puerto serial virtual el cual se concreta en el uso de un
=driver> el cual debe ser instalado cuando se desea realizar la comunicacin, es la ms lenta de las tres
maneras, el modo BUL? es la manera ms veloz de realizar la comunicacin de datos masivos, el cual
tambi4n usa un controlador que se instala en la computadora y finalmente la comunicacin en la cual se
basa el presente manual, la comunicacin USB<6"2, este tipo de interfaz inicia su comunicacin de
manera automtica, este protocolo lo realizan las memorias USB, los ratones y los teclados, entre otros
que se instalan sin necesidad de driver especifico, para lograr el objetivo se necesitan, como
componentes m7nimos@
A !"# $%&'((), $%&B((), $%&'B(( o $%&BB((
A !uerto USB '5)
A +scilador de B% ;6z 8') ;6z en este ejemplo:
A *esistencias 8una de B5C DE y cuatro de '') E :
A B L12
Pgina 1 de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
Se necesita tener instalado de igual manera el soft0are !*+,+- !2S, 1asy6"2, .isual Basic y !roteus
"S"S para lograr previamente la simulacin necesar7a, cabe mencionar que primero se debe de instalar el
plugin de !roteus para poder simular el puerto USB, este proceso se detallar en las siguientes paginas
del manual5
2. CREANDO LA PLANTILLA EN EASYHID
2espu4s de haber instalado el soft0are requerido, se abre el plugin de 1asy6"2 que se encuentra en la
siguiente direccin #@F!rogram &ilesF!roton"21F!luginF1asy6"2 al hacerlo se mostrar la ventana de
la siguiente figura5
8http@GGprotonbasic5files50ordpress5comG')$'G)9G$$5png:
Se rellenan los datos de =#ompany -ame> y =!roduct -ame> con los nombres del proyecto deseado y
siguiente, la prHima ventana se deja como esta5
8http@GGprotonbasic5files50ordpress5comG')$'G)9G'5png:
Se pulsa siguiente y de igual manera no se modifican los valores establecidos y nuevamente se pulsa
siguiente
Pgina 2 de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
8http@GGprotonbasic5files50ordpress5comG')$'G)9G95png:
1n la siguiente ventana que se abre se elige el ;icrocontrolador a usar, la ruta a guardar y el soft0are en
el que se disear la interfaz5
8http@GGprotonbasic5files50ordpress5comG')$'G)9GB5png:
Project Name@ el -ombre del proyecto, con este nombre se reconocer y guardara el proyecto, en
sistema I! saldr un globo que diga, controlador = ,U !*+J1#,+> conectado correctamente, en seven
de 9' solo se escuchar el timbre de coneHin5
Locatio@ 1lijes la ruta a guardar los archivos los cuales sern dos subcarpetas de !*+,+- !2S y
.isual Basic5
Microcotro!!er@ Se elije el !"# con el que se desea trabajar, si es necesario en la aplicacin se selecciona
el uso de interrupciones5
Com"i!er@ Se dezplega un menK de opciones de los soft0are disponibles, para esta aplicacin visual
B/S"#5
Pgina # de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen5png:
/l pulsar siguiente se ejecuta la generacin de las plantillas y se busca la direccin donde se guardaron
las plantillas del diseo, en las cuales se encuentran dos carpetas5
#. PRO$RAMANDO EL PIC
Una vez creada la aplicacin de !*+,+- !2S se abre y se procede a realizar los ajustes de acuerdo a
nuestras necesidades, a continuacin se detallan algunas partes del cdigo para encender B L123s desde
una aplicacin realizada en visual B/S"# 8L en este caso, puede ser ( y ')$):5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$5png:
1n los comentarios se logra apreciar detalladamente que hace cada l7nea del cdigo para el
microcontrolador5
Pgina $ de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen'5png:
1ste es el lazo principal que realiza el programa, como ven es bastante sencillo usando solo condiciones
para cada caso de recepcin de datos5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen95png:
&inalmente las sentencias que genera 1asy6"2 para el manejo de los puertos, no modifique nada, se
compila el archivo y se genera automticamente las eHtensiones necesarias para el correcto
funcionamiento del dispositivo5
Pgina - de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagenB5png:
2espu4s de compilar genera los archivos que se usarn, el 561I y el 5Bas para realizar modificaciones
futuras5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen(5png:
%. DISE&O DE LA INTER'A( EN )ISUAL BASIC
1l 1asy6"2 genera automticamente varias eHtensiones, entre ellas la 2LL necesaria para poder
comunicar el !"# que cabe recordar que cuando se genera el cdigo pide los datos, los cuales son Knicos
8en este caso se utiliza el gratuito que da por default 1asy6"2:, en la figura siguiente se aprecian los
archivos generados5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagenL5png:
#uando se genera el archivo produce un formulario que no tiene las pestaas acostumbradas, por lo
cual recomiendo crear un nuevo formulario, dando clicD derecho y agregar formulario, copiar todo el
cdigo que por default esta se genero y pegarlo en el nuevo formulario5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagenC5png:
Pgina . de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
!ara evitar errores se le pondr el mismo nombre que el formulario anterior o si gustan, modificar el
modulo con el nombre a su eleccin, ahora teniendo todo listo se empieza con la programacin de la
interfaz5 Si hay poca familiaridad con estos lenguajes se recomienda leer conceptos bsicos de .isual
B/S"#5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen%5png:
#omo se apreci en la figura anterior la interfaz que se realizo es en base a B =image> y cuatro =shapes>,
adems de un botn y un =shape> eHtra el cual indicara el estado del puerto, para este caso se le dio un
color obscuro y cambiara de color cuando sea activado5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagenM5png:
1l cdigo que generado en la platilla se modificara de acuerdo a las necesidades que se le quiera dar,
para ello se eHpone a continuacin el cdigo de ejemplo5 2onde 2$<2B son los =L12> que se desean
activar, los cuales son de tipo booleano 8)<$: para que cambien de estado de acuerdo a la pulsacin que
se le d4, teniendo en cuenta que desde el inicio se debe de establecer su valor para iniciar encendido o
apagado el valor de las variables 2$<2B, teniendo cuidado de no modificar los parmetros establecidos
los cuales estn comentados en letras verdes5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$)5png:
!ara la programacin de los botones correspondientes que activaran o desactivaran cada L12 segKn sea
Pgina / de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
el caso5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$$5png:
#ada =image> tiene un cdigo correspondiente al valor del led, el funcionamiento es bastante sencillo, si
2I es falso entonces le da un valor a la variable L12, depende de cada L12 ser el dato enviado,
invierte el valor actual de 2I para que cambie de estado y sea un control +-G+&&, cambia de color el
=shapeI> correspondiente y realiza una sentencia de caso contrario, ahora env7a un dato diferente y
nuevamente cambia el estado de =imageI> y de color a =shapeI> para darle un aspecto de activado o
desactivado, se utilizo la instruccin vBNreenO verde y la PB#olor8%:O gris en tonos *NB para dar un
aspecto mas agradable, finalmente se guarda en Bufferout8H: el valor de =L12> y se envia5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$'5png:
!ara tener los valores iniciales ya sean en falso o verdadero de las variables a usar es necesario usar el
siguiente cdigo dndole doble clicD en el formulario5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$95png:
Pgina 0 de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
!ara dar el aspecto de un L12 en la pantalla que diga conectado o desconectado solo se implement el
=shape> de color obscuro y se agregaron las siguientes l7neas en el lugar adecuado5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$B5png:
&inalmente para el botn =salir> se agrego esta parte de cdigo5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$(5png:
*. SIMULACIN EN PROTEUS ISIS
/ntes de empezar a simular el circuito hay que =abrir> el puerto USB virtual de "S", para ello se va a
inicio, todos los programas y busque la carpeta de instalacin de !roteus, se busca el puerto virtual y se
ejecuta5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$L5png:
Una vez realizado este procedimiento se siguen los pasos que pide el instalador y se empieza a disear
el circuito correspondiente5
Pgina 1 de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$C5png:
Se le carga el archivo 561I generado y se simula, se escuchara como si se conecta una memoria USB de
manera f7sica y se abrir la interfaz de USB virtual, ahora si se empieza la simulacin5 La interfaz indica
con =USB 21S#+-1#,/2+>5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$%5png:
/l iniciar la simulacin cambia de estado el =shape> y al leyenda a =USB #+-1#,/2+>5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen$M5png:
/l presionar el botn correspondiente se activa de manera adecuada5
Pgina 1! de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen')5png:
/l activar todos se observa que funciona bien y es el momento de armarlo de forma f7sica para hacer
=6+L/ ;U-2+> con USB<6"2 y !"# $%&'((), si no se cuenta con este !"# puede ser remplazado solo
seleccionndolo desde el 1asy6"2 y listo, el cdigo seguir siendo el mismo5
8http@GGprotonbasic5files50ordpress5comG')$'G)9Gnueva<imagen'$5png:
Bueno y eso es todo, espero les sirva de algo y puedan comentar dejando sus dudas o aportes que crean
necesarios 8disponible en pdf para descarga:
! comentarios el "USB-HI#
jonathan el 9 de abril de ')$' en L@'( pm dijo@
ta Hvr men
haber si te dejas mas ejemplos casi no encuentro mucho O8 como adc p0m etc etc
Pgina 11 de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"
*esponder
electrobicho el M de abril de ')$' en %@B' pm dijo@
Ja tengo otro ejemplo de /2#, saludos
*esponder
#hristian el $B de abril de ')$' en L@9M pm dijo@
gracias buen tutorial, muy bien eHplicado
*esponder
electrobicho el $L de abril de ')$' en 9@B' pm dijo@
6ay una versin en !2& con todos los archivos en el rea de descargas, en cuanto al #/2, subir4
un ejemplo de termmetro pero con dislay de siete segmentos y pic $Lf%%
*esponder
Blog de Qord!ress5com5 1l tema !arament5
Seguir
Seg$ir "Microcontroladores PIC en PROTON y PBP#
+frecido por Qord!ress5com
Pgina 12 de 12 USB-HID | Microcontroladores PIC en PROTON PBP
1!"!#"2!1$ %tt&'""&roton(asic)*ord&ress)co+",s(",s(-%id"

Vous aimerez peut-être aussi