Termómetro de interior/exterior USB (o, 'Mi primer dispositivo USB') (2 / 4 paso)

Paso 2: Firmware

El firmware utiliza la clase CDC USB para emular un puerto serie. El dispositivo se mostrará como un puerto com virtual en un PC. El firmware está dividido en tres secciones:

1. el controlador USB se encarga de enumerar el dispositivo a un PC y emular un puerto COM.
2. una rutina de servicio Lee los valores de temperatura y convertirlos a un formato legible. Haciendo de estas operaciones a la vez causa del dispositivo USB conexión suelta el PC (tiempo acaparando). Conversión de coma flotante los valores a una cadena en el ciclo de servicio después de la conversión aclarada el problema.* conectividad
3. por último, una rutina principal recibe bytes enviados desde el PC y devuelve las medidas solicitadas. Medidas múltiples se separan por una coma, las líneas se terminan con un carácter nulo (hex 0 x 00)
El firmware de demostración acepta los comandos siguientes:
Devuelve valor hexadecimal
0 x 00 interiores temperatura (sensor de a bordo)
temperatura exterior de 0 x 01 (cabecera externa)
0 x 02 ambas temperaturas (separados por comas)

Temperatura se calcula basándose en la referencia de 2,5 voltios y el Microchip TC1047A offset y pendiente. Otros sensores de temperatura pueden tener diferentes características. La hoja de datos de TC1047A está disponible aquí:

http://WW1.microchip.com/downloads/en/DeviceDoc/21498c.pdf

El firmware está escrito en MPLAB con el compilador PIC C18 de demostración.

http://www.microchip.com/Stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&Part=SW006011

El firmware USB real es proporcionado por Microchip. El entorno original está disponible aquí:

http://www.microchip.com/Stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en021631

Para editar el firmware: extraer la estructura de directorio completo de la fuente al directorio raíz (c:\MCHPFSUSB). Luego puede cargar el archivo de espacio de trabajo en el MPLAB.

* El flotador a la rutina de la cadena es un cerdo de recursos. Para solucionar el problema de conectividad de la USB se llama rutina de servicio en varios puntos de la rutina float2string. Este mejor sea fijo el USB periférico en una interrupción de servicio. Usé el hack que me alojé el firmware a la versión de referencia como sea posible.

Artículos Relacionados

Termómetro de interior con pantalla LCD y lectura de la "Analogía" con NeoPixels

Termómetro de interior con pantalla LCD y lectura de la "Analogía" con NeoPixels

¡ Hola! Este Instructable es un proyecto de Arduino de rápida, intermedio que tiene una temperatura de TMP36, lee en una pantalla LCD y le da una lectura de "Analogía" en un palo de neopixel eso cambios de color y el número de luces encendidas c
Termómetro interior/exterior reloj/Nixie de VFD Retro Fit Linden manto de reloj

Termómetro interior/exterior reloj/Nixie de VFD Retro Fit Linden manto de reloj

Me decidí a hacer algo que no había visto todavía y combinado (2) separar la electrónica usando pantallas de tubo de vacío de diferentes tipos (2) para hacer esta exhibición única. Nixie tubos para el termómetro y VFD (vacío flouresent pantalla) para
Binario termómetro USB alimentado

Binario termómetro USB alimentado

instrucciones de montaje Kit termómetro binario de lo diseñado.Usted puede adquirir uno en:http://www.etsy.com/listing/122729791/Paso 1: Obtener la plancha caliente Usar soldadura sin plomo con mi plancha a 320 grados Celsius.  Es una buena idea mant
Fácil de construir digital termómetro e higrómetro para uso en interiores

Fácil de construir digital termómetro e higrómetro para uso en interiores

IntroducciónNivel de temperatura y humedad interior son dos parámetros fundamentales que determinan el nivel de comodidad para los ocupantes de la habitación. En los principales lugares de trabajo, estos parámetros son controlados y mantenidos en niv
Termómetro inalámbrico interior y al aire libre

Termómetro inalámbrico interior y al aire libre

Me gustaría presentarles a uno de mis proyectos interesantes. Es un termómetro inalámbrico que mide la temperatura interior y exterior. El dispositivo consta de dos partes. Uno es un transmisor que contiene un sensor de temperatura digital y un módul
Rápido Termómetro Digital usando barato convertidor de USB a TTL y DS18B20 - sin Arduino o frambuesa Pi

Rápido Termómetro Digital usando barato convertidor de USB a TTL y DS18B20 - sin Arduino o frambuesa Pi

En mi anterior instructable le di una introducción al termómetro Digital uso de DS18B20 y ESP8266 nodemcu con pantalla OLED de SPI y programación utilizando el IDE de Arduino. Requiere conocimientos de electrónica básica, programación y requiere un p
Termómetro de tubo Nixie bargraph analógico en 13

Termómetro de tubo Nixie bargraph analógico en 13

este es un proyecto para un gráfico de barras ruso IN-13 tubo de Nixie para utilizar como un termómetro de habitación interior.Se llama "NixieTherm" y también está disponible como un recinto de incluido kit completo como se muestra en www.Nixiek
Coche Termómetro Digital con brújula y

Coche Termómetro Digital con brújula y

no soy muy bueno encontrando lugares y dirección, pero al menos soy capaz de leer mapas y brújula. Hoy en día, sistemas de navegación GPS son cada vez más populares, probablemente que algunos dicen por qué necesito una brújula. Bueno, primero, me gus
Termómetro de VFD-tubo

Termómetro de VFD-tubo

Este es un tutorial corto sobre mi termómetro tubo de VFD. Lo construyo porque me gustó un termómetro interior que nadie, excepto yo.He utilizado los tubos de VFD porque me gusta el estilo retro.Para medida de temperatura que utilicé un DS1621 conect
Hacer un termómetro digital

Hacer un termómetro digital

en este instructable, usted aprenderá cómo hacer un simple termómetro digital por menos de £10 utilizando algunos componentes simples y 1 IC.Proyecto terminado debería ser algo como esto:Paso 1: Las partesAquí está una lista de todas las piezas que n
Instalar un termómetro en un viejo coche [actualizado]

Instalar un termómetro en un viejo coche [actualizado]

Hola todo el mundo!En este i'ble les mostraré cómo actualizar su viejo coche (el mío es un 2001 Fiat Panda joven) con sólo 3$ y menos de 30 minutos.Como puede ver en las fotos, mi auto es un modelo viejo, por lo que tiene sólo el indicador de los ins
Termómetro binario 2.0

Termómetro binario 2.0

Estas instrucciones paso a paso le guiará por hacer el termómetro binario disponible en applemountain.etsy.com.Paso 1: La resistencia no es inútil! Primero encontrar las cuatro resistencias grabadas juntos. Estas van en los rectángulos marcan en el t
Termómetro al aire libre de LED

Termómetro al aire libre de LED

si no quieres leer cualquier cháchara sin sentido puede sentirse libre saltar a la página dos.Estáis avisados.Durante el verano una vez más estaba buscando un divertido proyecto, que podría aprender algo de (AKA lío hasta veinte veces y corregir mis
Refugio de la tormenta: termómetro remoto vivienda

Refugio de la tormenta: termómetro remoto vivienda

no me importa mucho para salir a la calle para averiguar cómo frío o lo caliente es. No es bueno me llamando al número de teléfono de tiempo y temperatura, o bien, vivo 30 millas de la ciudad y a una mayor altitud. Con esto en mente he recogido un te