Estación meteorológica basada en frambuesa Pi (10 / 11 paso)

Paso 10: Actualización del proyecto 1 - dirección del viento

Ha sido un tiempo desde la creación de este instructable y cosas consiguieron algunas mejoras.

La estación meteorológica funciona y carga ahora tanto viento velocidad y dirección. Ahora mostraré cómo está trabajando la dirección del viento. También es lectura y carga de índice UV.

Hay algunos proyectos que utilizan una configuración de finales de la caña para obtener el título de viento. Siempre he pensado que lo hace una solución bastante simple, pero en la actualidad con brújulas digitales parece más adecuado utilizar uno de estos pequeños dispositivos. También, puesto que mi objetivo era correr todos los sensores I2C bus, yo estaba seguro de que he podido encontrar uno que encajaría en este tipo de bus. Así lo hice.

Estoy usando un HMC5883L, que es una brújula de 3 ejes, usando I2C bus. Usted puede encontrar módulos soldados listos en ebay tan barato como 1 euro. Sólo búsqueda y usted los encontrará de seguro.

Un pequeño Consejo con este sensor. Creo que este tipo de sensores son muy sensibles, ya que he conseguido matar a uno. Después de unos días de obtener indicaciones mal de él, conseguí un nuevo que uno y todo solucionado. Sólo ten cuidado, no cae demasiado a menudo muchos.

La otra parte importante que se llama un anillo de deslizamiento. ¿Qué es un anillo de deslizamiento? Es un pequeño dispositivo que le permite tener un eje giratorio y conexiones al mismo tiempo. Existen varios parámetros que definen dicho dispositivo. Uno es el número de maneras (o alambres) y otra es la corriente a través de los cables. Desde entonces somos sólo sensor de lectura y en este caso I2c, necesitaremos 4 cables y la corriente es tan baja como usted puede conseguir.

Tengo un cable de 6, bajo actual que pasó a tener el diámetro del eje igual a la medida interior de un tubo plástico que usé para crear la paleta.

Los diversos cuadros muestran cómo logré construir lo. No es bonito pero dows el trabajo.

SOFTWARE

Es una cosa bastante sencilla para leer del HCM. Tomé unos mira en el datasheet, hizo algunas investigaciones en la web, y llegué a estas líneas de código para ponerlo a trabajar:

DEF write_byte (dirección, adr, valor):
Bus.write_byte_data (dirección, adr, valor)

-Procedimiento para escribir datos en una dirección específica del bus I2C.

DEF median(lst):
LST = sorted(lst)
Si len(lst) < 1:
volver a ninguno
Si len(lst) %2 == 1:
volver lst [((len (lst) + 1) / 2)-1]
otra cosa:
float(sum(lst[(len(lst)/2)-1:(len(lst)/2)+1]) de retorno) / 2.0

-Este es un procedimiento para obtener el promedio de una lista de lecturas. Será necesario

write_byte (0x1E, 0, 0b01110000) # Set de 8 muestras a 15Hz
write_byte (0x1E, 1, 0b00100000) # 1.3 ganancia LSb / Gauss 1090 (por defecto)
write_byte (0x1E, 2, 0b00000000) muestreo continuo #
escala = 0,92
X_OFFSET = 45
y_offset =-82

-Declaraciones necesarias para el sensor. Las 3 primeras líneas establecer lecturas de muestra y ganan. El cuarto establece la escala. Los últimos 2 son valores para ajustar la lectura del sensor. Pueden variar desde el sensor a, pero la mayoría de las veces no afectan mucho la lectura.

DEF get_heading():
x_out = (read_word_2c(0x1E,3) - x_offset) * escala
y_out = (read_word_2c(0x1E,7) - y_offset) * escala
z_out = (read_word_2c(0x1E,5)) * escala
teniendo = math.atan2 (y_out, x_out)
Si (teniendo < 0):
teniendo += 2 * math.pi
Si ((math.degrees(bearing) + 90) < 360 y (math.degrees(bearing)+90) > 90):
título = math.degrees (rodamiento) + 90
# impresión round(heading,0)
Elif math.degrees (rodamiento) + 90 == 360:

partida = 0
# impresión round(heading,0)
otra cosa:
título = math.degrees (rodamiento) -270
# impresión round(heading,0)
volver en dirección

-Este es el procedimiento de lectura principal. Le da el título de la paleta en grados de 0 a 359

Así que ahora que tenemos todas las declaraciones y procedimientos, único que faltaba más allá es insertar el siguiente código en el programa principal:

DIR = 0
lista = range(500)
Imprimir ('leer 500 veces vientos separaron por 10mS para el alisado final de la lectura...')
para dd en el rango (0, 500):
lista [dd] = get_heading()
Time.Sleep(0.01)
Dirección = median(lista)
Imprimir ('hecho!')
Imprimir ('viento dir', dirección)

He encontrado que haciendo una lectura daría lugar a enormes variaciones en la dirección, por lo que estamos haciendo es tomar 500 medidas separados por 10 ms cada uno y la salida de la media de todos los valores. Todas las líneas de impresión se pueden borrar ya que sólo sirven para propósitos de depuración.

No te olvides de actualizar la línea de carga de wunderground, ahora tenemos más datos, por lo que tienes que poner en windir = dirección, en mi caso.

Saludos, amigos!

Artículos Relacionados

Anemómetro DIY y Windvane para estación meteorológica independiente

Anemómetro DIY y Windvane para estación meteorológica independiente

Me gustaría compartir algunos conocimientos sobre estación meteorológica. Como hemos escuchado muchas veces acerca de estación y algunas personas le gustaría construir su propia estación meteorológica en su página de inicio.Estación meteorológica es
Estación meteorológica de frambuesa Pi Internet

Estación meteorológica de frambuesa Pi Internet

Este Instructable le mostrará cómo construir una estación meteorológica de frambuesa Pi-basada en Internet genial. En realidad llamar a esta versión una "estación meteorológica" es un poco de una virtud de declaración. Esta estructura podría amp
Relámpago! El Detector de rayos para la estación meteorológica de frambuesa Pi (actualizado)

Relámpago! El Detector de rayos para la estación meteorológica de frambuesa Pi (actualizado)

En este Instructable aprenderás:Cómo conectar un Detector de rayos a un Solar Powered estación meteorológicaCómo diseñar y colocar el detector de rayos para mejor perfomanceCómo reunir datos para ver la historia de Lightning como ocurreCómo conectar
Estación meteorológica de frambuesa Pi 2

Estación meteorológica de frambuesa Pi 2

Nuestro hackerspace (Bloominglabs) recibió recientemente una estación meteorológica de WS1 anuncios de un benefactor generoso. Además, fuimos elegidos por Instructables para el hackathon de frambuesa Pi 2 así que tenemos algunos RPi2 para hackear en.
Estación meteorológica con SAMIIO, Arduino y frambuesa Pi

Estación meteorológica con SAMIIO, Arduino y frambuesa Pi

Este artículo muestra cómo utilizar a SAMI con hardware y sensores simples y estándares. Específicamente, nos recopilación de datos climáticos de un sensor de temperatura de bajo costo y transmitir esos datos a la nube mediante APIs de SAMI. A partir
Estación meteorológica Solar frambuesa Pi

Estación meteorológica Solar frambuesa Pi

Espoleado por la terminación de mis dos proyectos anteriores, la cámara compacta y consola de juegos portátil, quería encontrar un nuevo desafío. La progresión natural era un sistema remoto al aire libre...Quería construir una estación meteorológica
Estación meteorológica de frambuesa PI

Estación meteorológica de frambuesa PI

En este tutorial se explica cómo dar el Raspberry PI sensor temperatura, humedad y brillo. Fácilmente podemos convertir en nuestra frambuesa en una estación meteorológica.Requisitos de hardware:Sensor de temperatura y humedad SHT21 I2C. Como alternat
Estación meteorológica de Edison y Arduino/Genuino 101

Estación meteorológica de Edison y Arduino/Genuino 101

Este Instructable describe un Intel (r) Edison y basada en Arduino/101 si modular estación meteorológica que recientemente he creado para mi uso en el hogar.Conceptos fundamentales, que define la configuración y soluciones, fueron:Para tener una solu
Integrado estación meteorológica (IWS)

Integrado estación meteorológica (IWS)

En este proyecto, vamos a hacer una estación meteorológica integrada (IWS) que mide múltiples parámetros (presión, temperatura, gota de lluvia, humedad del suelo y humedad del aire) con Arduino, conexión parámetro con Nuvoton y los datos de Raspberry
MEteo: su personal, portátil estación meteorológica!

MEteo: su personal, portátil estación meteorológica!

MEteo: el tiempo es una cosa divertida. Afecta a todos, pero depende de exactamente donde se encuentran, y no dos personas sufren lo mismo. Una solución a esto es tener tu propia estación meteorológica personal! Nuestro objetivo con este proyecto era
La estación meteorológica de Arduino / termostato

La estación meteorológica de Arduino / termostato

actualización:ACTUALIZACIÓN: Agregar cálculos de punto de rocíoACTUALIZACIÓN: control de velocidad del vientoSiempre he estado interesado en el seguimiento de mi tiempo y notó la diferencia entre lo weather.com y accuweather.com creo que mi tiempo es
Únete a la IOT con su estación meteorológica - CWOP

Únete a la IOT con su estación meteorológica - CWOP

-Wop,-Wop el CWOP...En este nuevo instructivo por Laboratorios SwitchDoc usted aprenderáQué es CWOP (programa de observación de tiempo de los ciudadanos)Cómo conectar un Raspberry Pi base estación a CWOP¿Qué Software necesita?Cómo registrarse en CWOP
Estación meteorológica de Arduino GPRS - parte 1

Estación meteorológica de Arduino GPRS - parte 1

Con la amenaza de los patrones de tiempo cada vez más errático circula los cielos de nuestro planeta, día tras día de la incesante lluvia, inundaciones, sequías, tormentas de granizo y quién sabe qué más, una estación meteorológica parece ser un acce
Independiente DIY estación meteorológica con Arduino

Independiente DIY estación meteorológica con Arduino

Hola creadores de ahiEsto no es un instructivo paso a paso. Como siempre me olvidé de tomar tomar instantáneas desde el inicio de este proyecto.La idea de construir una estación meteorológica de comunidad utilizando hardware abierto comenzó una larga