Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

DHT Tiny Breakout para Raspberry Pi

Componentes de hardware: Atmel ATTiny85 × 1DHT22 Sensor de temperatura × 1DHT11 Sensor de temperatura y humedad × 1SparkFun Tiny AVR Programmer × 1Adafruit 4.7K Ω Resistor × 3Adafruit 10K Ω Resistor × 1Adafruit 100 Ω Resistor × 1Adafruit azul difuso de 3 mm LED × 1Adafruit Tactile Button Break-Switch × 1Adafruit Interruptor de botón táctil ″ Cabezal macho de tira de 36 pines 1 pieza @ longitud 6, 1 pieza @ longitud 2 (total de 8 pines) × 1 Puente genérico (0.1 ″) × 1 Arduino UNO y Genuino UNOOopcional - usado para depuración y prueba. × 1 Aplicaciones de software y servicios en línea: Microsoft Visual Studio 2015 Microsoft Windows 10 IoT Core IDE de Arduino

HISTORIA

Introducción

El DHT11 y el DHT22 son sensores de temperatura y humedad populares debido a su precisión a un costo muy bajo. Sin embargo, un problema con ellos es que funcionan con un protocolo patentado de un cable que requiere una sincronización precisa. Estos sensores han demostrado ser difíciles de leer en placas con sistemas operativos que no son de tiempo real.

Hace un tiempo, publiqué un artículo titulado " Sensor de temperatura DHT11 / DHT22 ”Que demuestra cómo utilizar el código de muestra de Microsoft C ++ de C # para leer estos sensores. La biblioteca pudo obtener una lectura, pero tuve que agregar una lógica de reintento para que fuera más confiable. Esto resultó ser un éxito para la mayoría, pero algunas personas tuvieron problemas para que esto funcionara de manera consistente.

Dado el nivel de interés en el uso de estos sensores en la Raspberry Pi mientras se ejecuta Windows 10 IoT Core, decidí crear una segunda opción que proporcione un método muy confiable para leer estos sensores manteniendo un bajo costo.

Descripción general

El enfoque que se presenta aquí es conectar el sensor DHT a un ATtiny85 económico y configurarlo como un dispositivo esclavo I2C. Esto se logra utilizando la biblioteca TinyWireS y creando un conjunto de registros que se pueden leer y escribir para interactuar con el dispositivo.

El dispositivo admite las siguientes funciones:

El código fuente

Hay tres conjuntos de código en este proyecto. El firmware principal de la placa, un boceto maestro de Arduino que se utiliza para probar y demostrar la placa mientras está conectado a un Arduino Uno y la aplicación Windows 10 IoT Code que demuestra cómo usar el dispositivo desde la Raspberry Pi. Todo el código está disponible en el repositorio de GitHub vinculado.

El dispositivo / circuito

El circuito es pequeño y solo usa algunos componentes económicos. El ATtiny85 se puede comprar en varios proveedores. Recomiendo elegir algunos de ellos, ya que tienen muchos propósitos útiles.

El circuito tiene un encabezado de seis pines que le permite conectarse a otro circuito o directamente a la Raspberry Pi. Los pines se definen de la siguiente manera:

También hay un encabezado de dos pines donde se puede agregar un puente para habilitar o quitar para deshabilitar el LED integrado.

Cuando se utiliza esto en un proyecto más grande, el circuito para el DHT Tiny puede fusionarse o integrarse en el circuito existente del proyecto. En este caso, los pines del cabezal y el LED son opcionales.

El circuito también se puede construir en una placa separada y conectarse a su Raspberry Pi con algunos cables o un cable de conexión.

Programando el ATtiny85

Cargue el boceto llamado DHT_Tiny_Breakout.ino en el ATtiny85 usando su programador AVR. Si no tiene un programador, puede usar un Arduino Uno (o una placa similar). Eche un vistazo a uno o más de los artículos que se enumeran a continuación para obtener ayuda.

Utilizo el programador SparkFun Tiny AVR para cargar mi ATtiny85.

Estoy ejecutando mi chip a 16 MHz. Vea mi artículo titulado " ATtiny @ 16MHz ”Para obtener instrucciones sobre cómo hacer esto.

Al usar el ATtiny85, el boceto esclavo requiere TinyWireS biblioteca que se instalará en su carpeta de bibliotecas. Esta biblioteca se puede descargar de https://github.com/rambo/TinyWire.

Breadboard the Circuit

El primer paso es poner el DHT Tiny en funcionamiento en una placa de pruebas. Usando una placa de prueba de tamaño medio, construya el circuito siguiendo los diagramas esquemáticos y de placa incluidos en el proyecto.

A continuación, se ofrecen algunos consejos que le ayudarán a facilitar las cosas:

A continuación se muestran algunas imágenes de la versión protoboard de mi DHT Tiny.

Conexión del Arduino Uno

Si está interesado en una prueba rápida, una demostración o tiene problemas para que esto funcione con su Raspberry Pi, puede conectar el DHT Tiny a un Arduino Uno (o dispositivo similar).

Cargue y ejecute el boceto llamado DHT_Tiny_Master.ino . Este boceto mostrará la salida en el Monitor en serie . .

Al conectar el I2C entre las dos placas, es importante tener resistencias pull-up en las líneas SDA y SCL. En este circuito, hay dos 4.7K Ω conectados entre los pines y 5V.

A continuación se muestran algunas imágenes de la placa DHT Tiny conectada al Arduino Uno.

Conexión a Raspberry Pi

Si está interesado en una prueba rápida, una demostración o tiene problemas para que esto funcione con su Raspberry Pi, puede conectar el DHT Tiny a un Arduino Uno (o dispositivo similar).

Al conectar el I2C entre las dos placas, es importante tener resistencias pull-up en las líneas SDA y SCL. En este circuito, hay dos 4.7K Ω conectados entre los pines y 3V3.

¡MUY IMPORTANTE! La placa DHT Tiny será alimentada por el pin de 5V en la Raspberry Pi, pero las resistencias pull-up deben estar conectadas al pin 3V3 en la Raspberry Pi (3V3 está en los pines 1 y 17).

A continuación se muestran algunas imágenes de la placa de pruebas DHT Tiny conectada a la Raspberry Pi 3.

Ejecución de la aplicación Windows 10

Obtenga el código del enlace del repositorio de GitHub en la parte inferior del proyecto y descomprímalo en su computadora. Abra el código fuente de la Aplicación Universal en Visual Studio 2015 e impleméntelo en Raspberry Pi y ejecútelo desde la consola de administración o ejecútelo en modo de depuración desde Visual Studio.

Si es la primera vez que ejecuta código de Visual Studio para una aplicación de Windows 10 IoT Core, consulte estos artículos de Microsoft:

Mire el video de demostración a continuación para ver la aplicación ejecutándose en una Raspberry Pi 3 mientras está conectada al DHT Tiny.

Aspectos destacados de la aplicación

La aplicación Windows 10 UWP es una aplicación de demostración que muestra todas las características de DHT Tiny. El código mostrará la temperatura actual, la humedad y otros valores de registros del dispositivo. La interfaz de usuario también proporciona una forma de cambiar la configuración del dispositivo, incluida la dirección del dispositivo.

Biblioteca pequeña de DHT

El código de muestra utiliza una biblioteca escrita para interactuar con DHT Tiny. Esta biblioteca está lista para usar y se puede incluir directamente en todas sus aplicaciones.

Obtener la biblioteca de NuGet

Si no desea incluir el proyecto directamente en su aplicación, simplemente descargue la biblioteca DHT Tiny de NuGet usando el comando que se muestra a continuación. Abra la Consola del Administrador de paquetes en Visual Studio y escriba el comando.

  PM> Paquete de instalación IoT.DhtTiny  

Escaneando el bus i2c en busca del dispositivo

La biblioteca DHT Tiny incluye un método que buscará en el bus i2c cualquier dispositivo DHT Tiny y devolverá una lista de direcciones. Esta lista se puede utilizar para inicializar uno o más de los dispositivos encontrados. Esto es especialmente útil si cambiaste la dirección del dispositivo, pero no recuerdas en qué estableciste la dirección. Tenga en cuenta que el método de devolución de llamada es opcional.

  // *** // *** Enumera los dispositivos DHT Tiny en el bus i2c .// *** IEnumerable  address =await DhtTiny.FindAllDhtTinyAsync (this. FindAllDhtTinyCallback); // *** // *** Método de devolución de llamada // *** private void FindAllDhtTinyCallback (I2cScanEventArgs e) {int percentComplete =(int) ((double) e.CurrentIndex / (double) e.Total * 100,0d); this.Status =string.Format ("Ubicando dispositivos [0x {0:X2}] [{1}%] [Found ={2:## 0}] ...", e.CurrentAddress, percentComplete, e.Items .Count ());}  

Esquemas de DHT Tiny Breakout para Raspberry Pi

Demostración de software

Este video muestra la aplicación universal que se ejecuta en una Raspberry Pi 3 conectada al DHT Tiny en una placa de pruebas.

[VÍDEO PRÓXIMAMENTE]

Creación del dispositivo final

La forma más fácil y rentable de crear la placa es utilizar una placa prototipo de PCB, como la placa de pruebas Perma-Proto del tamaño de un cuarto de Adafruit. La imagen de abajo muestra la ruptura usando esta placa prototipo. Tenga en cuenta que utilicé una dremel para quitar las secciones del riel de alimentación de la placa.

Ver más:DHT Tiny Breakout para Raspberry Pi


Proceso de manufactura

  1. Monitoreo de temperatura en Raspberry Pi
  2. Estación meteorológica Raspberry Pi 2
  3. Sensores analógicos sin entradas analógicas en la Raspberry Pi
  4. Sensor de rango ultrasónico HC-SR04 en Raspberry Pi
  5. Los mejores accesorios para tu Raspberry Pi
  6. Sensores analógicos en Raspberry Pi con un MCP3008
  7. VISTA:Para ciegos
  8. Guía de conexión de Qwiic HAT para Raspberry Pi
  9. Windows 10 IoT Core para Raspberry Pi 3 Modelo B +
  10. Creación del kit de robot MonkMakes Raspberry Pi
  11. PiCy - ¡El diminuto robot con tecnología Raspberry Pi!