Aquí los videos (mejor verlos a pantalla completa porque están grabados en 1080p):
Inventos, montajes, LED, energía renovable, ahorro energético, ingeniería inversa, mejoras, bricolaje, electrónica, arduino, etc.
lunes, 28 de marzo de 2016
Jugando a pilotos
Este fin de semana he estado probando a editar videos grabados con el drone, superponiendo unos gráficos con los datos de vuelo, el software de edición de video es de Garmin, VIRB, es gratuito y bastante potente, aunque los datos del Bebop2 no son compatibles de manera nativa y hay que traducirlos con Flight Data Manager, otra aplicación gratuita que te permite extraer un montón de información de los registros de vuelo del Bebop2.
Aquí los videos (mejor verlos a pantalla completa porque están grabados en 1080p):
Aquí los videos (mejor verlos a pantalla completa porque están grabados en 1080p):
jueves, 24 de marzo de 2016
Pronóstico del tiempo
Ya que tenemos sensores de temperatura, humedad, presión, velocidad del viento y demás, podremos predecir el tiempo?
Pues hay recursos por ahí para hacerlo, pero no es fácil, ni las agencias meteorológicas aciertan a veces... Con súper ordenadores dedicados a calcular modelos de predicción, satélites, sensores por todo el mundo y demás, tampoco pretendo competir con ellos.
Pero encontré un modelo de principios de siglo muy curioso, que se basa en la variación de la presión, el modelo Zambretti, si es cierto lo que dicen, acierta en un 90% las predicciones leídas a las 9 de la mañana... Supongo que como se hacía en los barcos para predecir las tormentas mirando la velocidad de bajada del barómetro.
El algoritmo tiene en cuenta un montón de combinaciones de datos de los sensores para elegir un pronostico entre la lista de 26 posibles estados del tiempo.
Las posibles predicciones traducidas que he incorporado en el algoritmo:
1.Bueno, estable
2.Buen tiempo
3.Bueno, mejorando
4.Bueno, un poco menos estable
5.Bueno, algun posible chubasco
6.Casi bueno, mejorando
7.Casi bueno, posible chubasco pronto
8.Casi bueno, posibles chubascos mas tarde
9.Chubascos pronto, mejorando
10.Variable, mejorando
11.Variable, probable lluvia
12.Mas bien inestable, aclarando luego
13.Inestable, probablemente mejorando
14.Lluvioso con intervalos de claros
15.Lluvioso, tendiendo a mas inestable
16.Variable, algo de lluvia
17.Inestable, algun corto intervalo de claros
18.Inestable, lluvia mas tarde
19.Inestable, algo de lluvia
20.En general inestable, algo mejor a veces
21.Lluvia ocasional, empeorando
22.Lluvia a veces, muy inestable
23.Lluvia intervalos frecuentes
24.Lluvia, muy inestable
25.Tormenta, puede mejorar
26.Tormenta, muy lluvioso
Los números se los he puesto para tener una idea de la escala y tener de un vistazo el grado de "bueno" de un tiempo bueno.
Para calcular la variación de la presión de una manera simplificada, en vez de utilizar derivadas de la función resultante, lo que hace el algoritmo es calcular la media de los valores de los últimos 30 minutos y de los últimos 10 minutos, si ésta es mayor, la presión está subiendo y viceversa.
En ThingSpeak está configurado como un plugin, os dejo el código HTML, CSS y JAVASCRIPT en un archivo de texto donde siempre este plugin genera una visualización en una ventana como las de siempre, con el texto de la predicción.
Se me ocurre ahora que sería fácil implementar un montaje decorativo como aquellos monjes que había de madera y cartón que hacían una especie de predicción del tiempo:
Estos funcionaban con un pelo humano que hacía de higrómetro, según la humedad del aire se encogía o estiraba moviendo la mano del pobre fraile... Entonces pondría lluvioso cuando ya el aire estuviese húmedo.
Pues con el algoritmo anterior adaptado al micro y un servo para mover el brazo, sería fácil de hacer, y además podría funcionar de manera autónoma sin conexión a internet, y supongo que mejor que lo del pelo...
Esto es parte del invento de la caldera WiFi, el resto aquí y en las entradas posteriores.
Pues hay recursos por ahí para hacerlo, pero no es fácil, ni las agencias meteorológicas aciertan a veces... Con súper ordenadores dedicados a calcular modelos de predicción, satélites, sensores por todo el mundo y demás, tampoco pretendo competir con ellos.
Pero encontré un modelo de principios de siglo muy curioso, que se basa en la variación de la presión, el modelo Zambretti, si es cierto lo que dicen, acierta en un 90% las predicciones leídas a las 9 de la mañana... Supongo que como se hacía en los barcos para predecir las tormentas mirando la velocidad de bajada del barómetro.
El algoritmo tiene en cuenta un montón de combinaciones de datos de los sensores para elegir un pronostico entre la lista de 26 posibles estados del tiempo.
Las posibles predicciones traducidas que he incorporado en el algoritmo:
1.Bueno, estable
2.Buen tiempo
3.Bueno, mejorando
4.Bueno, un poco menos estable
5.Bueno, algun posible chubasco
6.Casi bueno, mejorando
7.Casi bueno, posible chubasco pronto
8.Casi bueno, posibles chubascos mas tarde
9.Chubascos pronto, mejorando
10.Variable, mejorando
11.Variable, probable lluvia
12.Mas bien inestable, aclarando luego
13.Inestable, probablemente mejorando
14.Lluvioso con intervalos de claros
15.Lluvioso, tendiendo a mas inestable
16.Variable, algo de lluvia
17.Inestable, algun corto intervalo de claros
18.Inestable, lluvia mas tarde
19.Inestable, algo de lluvia
20.En general inestable, algo mejor a veces
21.Lluvia ocasional, empeorando
22.Lluvia a veces, muy inestable
23.Lluvia intervalos frecuentes
24.Lluvia, muy inestable
25.Tormenta, puede mejorar
26.Tormenta, muy lluvioso
Los números se los he puesto para tener una idea de la escala y tener de un vistazo el grado de "bueno" de un tiempo bueno.
Para calcular la variación de la presión de una manera simplificada, en vez de utilizar derivadas de la función resultante, lo que hace el algoritmo es calcular la media de los valores de los últimos 30 minutos y de los últimos 10 minutos, si ésta es mayor, la presión está subiendo y viceversa.
En ThingSpeak está configurado como un plugin, os dejo el código HTML, CSS y JAVASCRIPT en un archivo de texto donde siempre este plugin genera una visualización en una ventana como las de siempre, con el texto de la predicción.
Se me ocurre ahora que sería fácil implementar un montaje decorativo como aquellos monjes que había de madera y cartón que hacían una especie de predicción del tiempo:
Pues con el algoritmo anterior adaptado al micro y un servo para mover el brazo, sería fácil de hacer, y además podría funcionar de manera autónoma sin conexión a internet, y supongo que mejor que lo del pelo...
Esto es parte del invento de la caldera WiFi, el resto aquí y en las entradas posteriores.
Publicado por
Miro Castro
en
14:28
No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
barometro,
control de presión,
DHT-11,
DIY,
el tiempo,
ESP 8266,
ESP-12,
pronostico del tiempo,
sensor humedad,
sensor temperatura,
zambretti
jueves, 3 de marzo de 2016
Las cosas no se callan
Si es que las cosas hablan de verdad, la caldera, se queja de que se está quedando sin gasoil...
Me ha enviado este correo, como estaba previsto al llegar a los 200l, los siguientes serán a los 150 y de ahí cada 50l.
Nunca me había durado tanto un tanque de gasoil, este año ha sido de muy poco frío, normalmente entre Diciembre y primeros de Enero tenía que reponer, este año a 1 de Marzo todavía quedan 200l...
Si tuviera el sistema registrando desde hace más tiempo podría hacer una correlación entre la media de temperaturas exteriores y el consumo de calefacción, espero que para el año próximo podamos ir incrementando la inteligencia del sistema y prever consumos o tener en cuenta el pronóstico del tiempo.
El montaje del invento aquí: Caldera WIFI
Me ha enviado este correo, como estaba previsto al llegar a los 200l, los siguientes serán a los 150 y de ahí cada 50l.
|
1 mar. (hace 2 días)
| |||
|
El nivel de Gasoil está al 20%, considera pedir
Temp=4,12ºC / Humedad=43%H.R. / Gasoil=196,50litros / Presion atm=1020,0hPa.
Temp=4,12ºC / Humedad=43%H.R. / Gasoil=196,50litros / Presion atm=1020,0hPa.
Nunca me había durado tanto un tanque de gasoil, este año ha sido de muy poco frío, normalmente entre Diciembre y primeros de Enero tenía que reponer, este año a 1 de Marzo todavía quedan 200l...
Si tuviera el sistema registrando desde hace más tiempo podría hacer una correlación entre la media de temperaturas exteriores y el consumo de calefacción, espero que para el año próximo podamos ir incrementando la inteligencia del sistema y prever consumos o tener en cuenta el pronóstico del tiempo.
El montaje del invento aquí: Caldera WIFI
Publicado por
Miro Castro
en
18:03
No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
caldera gasoil,
chapuzas,
control,
control de presión,
DS18b20,
eficiencia energetica,
ESP 8266,
ESP-12,
ferroli.,
HC-SR04.,
sensor humedad,
sensor nivel combustible,
sensor temperatura,
TA2022,
termostato
domingo, 21 de febrero de 2016
Mi nuevo drone
Ayer estuve haciendo pruebas de vuelo con un drone Parrot Bebop2:
Al principio se hace raro acostumbrarse al control estático del invento, tiende a estabilizarse siempre, no es como los aviones de radio control con los que hay que tener máximo cuidado, esto es estable por naturaleza, tiende a mantenerse en su sitio, incluso con algo de viento, de echo se hace difícil volar en curva, supongo que habrá que practicar más...
(todos los videos están grabados en 1080p mejor verlos a pantalla completa)
Es evidente que hay que practicar más, aquí sufrimos un pequeño accidente, pero es impresionante lo resistente que resulta el cacharro, sólo se dobló un poco una de las hélices, la enderecé con la mano y listo.
Como podéis ver continuamos volando perfectamente.
En este caso estaba probando el control con los acelerómetros del iPad, y claro, al inclinarlo hacia atrás para que viniera hacia mi, hay que pensar que el drone lo que hace es ir hacia atrás (no hacia mi)...
Y un par de últimos vuelos antes de recargar baterías.
martes, 9 de febrero de 2016
Tres Relojes
Poco a poco voy introduciendo más cosas en el invento de la caldera:
La novedad son los dos cuadros de la izquierda, el de los tres relojes (que son los que antes tenía en cuadros separados), incluye además los botones de encender y apagar, que ejecutan el Talkback que cierra o abre el relé del invento que arranca o para la caldera.
El cuadro de altura Nubes es una estimación teórica de la altura de la base de las nubes basada en la temperatura y el punto de rocio, suponiendo que la distribución del gradiente de temperaturas es lineal desde el suelo y dado que según subimos la temperatura baja, en algún punto la temperatura del aire alcanzará la temperatura del punto de rocio, con lo cual se condensará la humedad.
Cálculo atura base nubes en Wikipedia, este es el método que he usado, pero he visto otros por ahí, la realidad es que desde que lo he montado, voy siguiendo estos días de invierno y cuando se ve un nivel de nubes bajo, suele amanecer con niebla o nuboso-lluvioso.
Tampoco se puede relacionar con el nivel exacto de las nubes, pero como indicador de niebla o nubes bajas, parece válido.
Aquí os dejo la actualización del análisys MATLAB que calcula las variables derivadas (altura base nubes, velocidad de viento, sensación térmica y punto de rocio):
readChannelID = 56115;
TemperatureFieldID = 1;
HumidityFieldID = 2;
tempC = thingSpeakRead(readChannelID, 'ReadKey','------------------------------', 'Fields', TemperatureFieldID, 'Timeout', 20);
url = 'https://api.thingspeak.com/apps/thinghttp/send_request?api_key=--------------------------------';
VViento = urlfilter(url, 'speed');
v=VViento*3.6;
Wch = (13.12+(0.6215*tempC)-(11.37*(power(v,0.16)))+(0.3965*tempC*(power(v,0.16))));
b = 17.62;
c = 243.5;
humidity = thingSpeakRead(readChannelID, 'ReadKey','---------------------------------------', 'Fields', HumidityFieldID, 'Timeout', 20);
gamma = log(humidity/100) + b*tempC ./ (c+tempC);
dewPoint = c*gamma ./ (b-gamma);
display(tempC, 'ºC temp actual');
display(Wch, 'ºC sensacion termica');
display(humidity, '% humedad relativa');
display(VViento, 'viento en m/s');
display(v, 'viento en km/h');
display(dewPoint, 'Dew point ºC');
altnubes=((tempC-dewPoint)/2.5)*304,799;
display(altnubes, 'Altura Base Nubes m.');
writeChannelID = 56115;
writeAPIKey = '-----------------------------';
thingSpeakWrite(writeChannelID, 'Fields',[4,5,6],'Values', [dewPoint,Wch,v], 'Writekey', writeAPIKey);
thingSpeakWrite(71070,'Fields',[2],'Values', [altnubes],'WriteKey','-------------------------------');
Publicado por
Miro Castro
en
18:58
3 comentarios:
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
Arduino,
BMP-180,
caldera gasoil,
chapuzas,
control,
DHT-11,
DIY,
DS18b20,
ESP 8266,
ESP-12,
HC-SR04.,
sensor humedad,
sensor nivel combustible,
sensor temperatura,
ultrasonido
miércoles, 3 de febrero de 2016
Las cosas hablan!
Mi caldera me ha escrito un mail.
Hoy me ha llegado un correo de la caldera, como estaba previsto en el programa, al llegar a los 300l en el tanque de Gasoil, envió el siguiente mail:Caldera calderadecasa@........com a traves de smtpcorp.com 14:02(hace 7horas)
para mi
El nivel de Gasoil está al 30%
Temp=11,86ºC / Humedad=40%H.R. / Gasoil=293,47litros / Presion atm=1020,0hPa.
Es bastante emocionante a pesar de la sencillez del mensaje, sobre todo cuando no te lo esperas, ya ni me acordaba de que tenía que recibir el mensaje y fue una agradable sorpresa.
Ahora esperemos que llegue otro al llegar a los 200l, a los 100l, a los 75, a los 50... con un mensaje cada vez más dramático.
El resto del invento aquí.
Publicado por
Miro Castro
en
21:29
No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
Arduino,
BMP-180,
caldera gasoil,
chapuzas,
control,
DHT-11,
DIY,
DS18b20,
ESP 8266,
ESP-12,
HC-SR04.,
sensor humedad,
sensor nivel combustible,
sensor temperatura,
ultrasonido
martes, 5 de enero de 2016
Compensación de la presión
Pues parece que los sensores de presión hay que compensarlos en altura...
Después de poner el sensor de presión que me había cargado, el BMP180, y ver durante unos días que mide menos que el pronóstico del tiempo, y menos que los sensores de las páginas web con datos meteorológicos, investigando por ahí veo que parece que se compensan en altura.
Es lógico, sino fuera así, las isobaras de los mapas del tiempo se deformarían sobre tierra firme dependiendo de la altura, según el datasheet:
Después de poner el sensor de presión que me había cargado, el BMP180, y ver durante unos días que mide menos que el pronóstico del tiempo, y menos que los sensores de las páginas web con datos meteorológicos, investigando por ahí veo que parece que se compensan en altura.
Es lógico, sino fuera así, las isobaras de los mapas del tiempo se deformarían sobre tierra firme dependiendo de la altura, según el datasheet:
El sensor se utiliza también para calcular la altura en aviones, drones, por eso al estar situado a 800 metros de altura mide menos que la presión a nivel del mar, despejando la presión a nivel del mar y sustituyendo la altura a la que está instalado el sensor, da que la presión a nivel del mar es igual a la presión medida dividido por 0,90873.
En cuanto tenga un rato lo implemento en el hardware.
El resto del montaje aquí
Publicado por
Miro Castro
en
17:03
No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
Arduino,
BMP-180,
caldera gasoil,
chapuzas,
control,
DHT-11,
DIY,
DS18b20,
ESP 8266,
ESP-12,
HC-SR04.,
sensor humedad,
sensor nivel combustible,
sensor temperatura,
ultrasonido
Suscribirse a:
Entradas (Atom)