Paso 1: Hardware
El dispositivo incluye un encabezado ICSP (en circuito serie de programación) y una conexión tipo B USB. Además hay un solo LED y un interruptor de pulsador único para representar los dispositivos de entrada y salidos.
El circuito es muy recto hacia adelante (si usted no entiende este nivel de electrónica microcontrolador que le sugiero que siga adelante y construir algunos de los muchos intermitente LED y botón de tutoriales disponibles en la web antes de esto).
El PIC18F4550 será "bus powered"; Esto significa que el dispositivo obtendrá su poder del USB host (ordenador) sin regulación de potencia se requiere.
El condensador de 470nF (C3) se requiere para que el PIC puede funcionar el circuito interno de la USB (ayuda con la regulación de los voltajes USB requeridos el interfaz a bordo del USB en el PIC).
ICSP cabecera le permite conectar un programador PIC, te sugiero usando el programador PICkit2 barato, sin embargo otros programadores ICSP compatibles deben funcionar bien. El reloj de 20Mhz se requiere para aplicaciones USB.
Esto permite que el PIC a usar el PLL que sube la velocidad del reloj a la necesaria 48Mhz necesaria para la comunicación USB.
(Lector [Jason] me envió un correo electrónico señalando que un cristal de 20Mhz no es estrictamente necesario cuando se usa a bordo USB de PIC18F - que es absolutamente correcto.
Puede utilizar varios cristales siempre cambian la configuración de fusibles PIC. Revisa las páginas de la hoja de datos del PIC18F4550 29-30 para más información - gracias Jason!).
El cuadro siguiente muestra el circuito construido en un protoboard de aficionado. He añadido algunas etiquetas a la imagen para dejar claro que los componentes van donde.
Tenga en cuenta que, para la programación, vamos a usar la fuente de 5V del programador. Puesto que se trata de un dispositivo USB alimentado por bus las líneas de 5V se conectará al conector USB también.
Esto significa que si el programador y el cable USB se conectan al mismo tiempo existe la posibilidad de que el programador suministrar 5V a los USB host; no es recomendable por los estándares USB.
Nunca he visto un caso donde esto es importante (para los propósitos de la experimentación), pero si desea, puede Agregar un diodo de barrera al conector USB para evitarlo. En mis proyectos por lo general usar un diodo de barrera Schottky 1N5817 para esto.