Paso 1: Mini estación con Attiny85: el transmisor
El transmisor es una configuración muy básica de Attiny85 con un tirón para arriba de la resistencia en la línea de reset.
Un módulo transmisor está conectado al pin digital '0' y el pin de datos DHT11 se conecta al pin digital 4.
Conecte un cable de 17,2 cm antena (para una antena mucho mejor ver paso 5).
El software es el siguiente:
El software utiliza código de Manchester para enviar los datos.
Lee el DHT11 y almacena la temperatura y humedad en 2 flotadores independientes. Como el código de Manchester no enviar flotadores, pero entero, tengo varias opciones:
1 - dividir el flota en dos enteros y los manden
2 - enviar cada flotador como un entero
3 - enviar los dos flotadores como un entero
Con la opción 1 que deba combinar los enteros en los flotadores en el receptor y tengo que identificar qué número entero es lo que, haciendo el código largo aliento
Con opción 2 que necesito identificar qué número entero es de humedad y temperatura. No puedo ir solo la secuencia en el caso de un entero se pierde en la transmisión, así que necesito enviar una identificación adjunta al entero.
Con la opción 3, puedo enviar un número entero. Obviamente esto hace la lectura un poco menos precisa - dentro de 1 grado - y uno no se puede enviar por debajo de temperaturas bajo cero, pero es sólo un simple código y hay maneras alrededor de eso. Por ahora es sólo el principio.
Así que lo que hago es vuelven los flotadores enteros y multiplica la humedad con 100. Luego añadir la temperatura a la humedad multiplicada.
Dado el hecho de que la humedad nunca será 100% el número máximo que conseguirá es 9900. Dado el hecho de que la temperatura también no será superior a 100 grados, el número máximo será 99, por lo tanto, el número más alto que le enviaré es 9999 y que es fácil de separar en el lado receptor.
Por supuesto mi cálculo en el que yo uso 3 enteros es excesiva ya que podría hacerse fácilmente con 1 variable. Sólo quería hacer el código más fácil de seguir.
el código se compila ahora como:
Esquema binario tamaño: 2.836 bytes (de un octeto 8.192 máxima)
así cabe en un Attiny 45 o 85
Nota la biblioteca de dht.h usar es la de Rob Tillaart. Esa biblioteca es también conveniente para una DHT22. Yo estoy usando la versión 1.08. Sin embargo el Attiny85 tenga problemas leyendo un DHT22 con versiones inferiores de la biblioteca. Me lo ha confirmado que la 1.08 y 1.14 - Aunque trabajo en un Arduino regular - tienen problemas para leer un DHT22 en el Attiny85. Si desea utilizar un DHT22 en el Attiny85, utilice la versión 1.20 de esta biblioteca. Que todos ha sto hacer con tiempo. La versión 1.20 de la biblioteca tiene una lectura más rápida. (Gracias por ese usuario experimentan Jeroen)