Como comprobar repelentes de mosquitos por ultrasonidos


Actualmente es un tema  muy controvertido y cuestionado el uso de los repelentes electrónicos para ahuyentar  a que los  mosquitos para que no nos acribillan literalmente a picotazos. Es evidente  que los  repelentes químicos son útiles y en algunos casos muy efectivos, pero todos sabemos  que  pueden tener efectos secundarios en las personas pues  igual que afectan a los insectos, nos afectan a nosotros obviamente en menor intensidad

A pesar de que hay un estudio de la Universidad de la  Habana  que cuestiona su utilidad ,o incluso Facua cuestiona su utilidad ,  una de las empresas líderes del sector, ha negado rotundamente estas acusaciones y ha defendido la existencia de numerosos estudios científicos tanto nacionales como extranjeros que avalan sus más de 20 años de actividad. Como ejemplo, un estudio del año 2009, en contra de las anteriores tesis acerca de la poco o nula capacidad auditiva de la hembras, plantea la utilización de interferencias acústicas para el control de la plaga (‘Harmonic Convergence in the Love Songs of the Dengue Vector Mosquito’, Cornell University, Ithaca, NY)”,, ha declarado César Blanco, director de marketing de Radarcan, a ELMUNDO.es

En youtube  también hay aficionados que intentan implementar  generadores de ultrasonidos para cuestionar  la utilidad de los ultrasonidos ,   pero habría que hacer una observación, los transductores ultrasónicos funcionan a una frecuencia de resonancia específica, en particular en el ejemplo de youtube  este  funciona a una frecuencia de 40 KHz .,Si  revisamos la hoja de características del transceptor  su respuesta en frecuencia es similar a la de un filtro pasa banda centrado en 40 KHz y con 4 KHz de ancho de banda, lo que  quiere decir que el sonido que llega a los mosquitos esta en una frecuencia de entre 38 y 42 KHz, y si fuera correcta la teoría de que los mosquitos se asustan con un sonido de 35KHz su circuito no podría proporcionar esa frecuencia,

Ademas en el mercado  existen fabricantes que utilizan la frecuencia de 20khz  lo cual  haría   el prototipo   aun mas diferente  de los comerciales

Repelentes electrónicos por  ultrasonidos

Aunque no sean 100% eficaces  los repelentes basados en  ultrasonidos  contra todas las variedades de mosquitos lo cierto es que estos emiten una frecuencia de ultrasonido que desorienta a ciertas  variedades de mosquitos (y es totalmente imperceptible para el oído humano) .

Estos  repelentes  de ultrasonidos están   indicados para usos interiores, ya que las ondas de ultrasonido se distribuyen al rebotar sobre los muros y otras superficies sólidas.Sobre todo son seguros y totalmente inocuos ya que no se basan en tóxicos y sustancias  químicas de olores desagradables, por ello son  ideales para dormitorios especialmente el de los pequeños, ya que no perturbarán el descanso.

Ademas este tipo de equipos crean una barrera ultrasónica que ahuyenta teóricamente  a los mosquitos, con una cobertura de 25 metros cuadrados  con  un consumo de 0,08 a 0,35 Watts recomendándose  situar estos  a una altura de 0,70-1,50 metros y para mayor efectividad, no bloquear su cara frontal o enfocar directamente hacia cortinas o ventanas

Si este  tipo de repelentes llevan mucho tiempo en el mercado ¿por que se cuestiona su utilidad ?

Pues  bajo la opinión del que suscribe estas lineas porque  el  uso continuo de estos dispositivos  provocan que el propio transductor  ultrasónico deje de funcionar por agotamiento. Dado que la frecuencia del  ultrasonido no es ( o no debería ser)  audible, el usuario  ve el testigo del equipo con alimentación  infiriendo que el dispositivo esta generando las ondas de  ultrasonidos, cuando en realidad puede no ser  así  puesto que  por fatiga del uso, los transductores  suelen dejar de funcionar con el uso del paso  del  tiempo ( no olvidemos que no dejan de ser un cristal ajustado a una frecuencia determinada lo cual debido a esas propias oscilaciones  puede  hacer que deje  de responder)

En la siguiente imagen podemos ver dos tipos de ahuyentadores por  ultrasonidos diferentes ( uno alimentado por pilas  y otro alimentado por ca( el de  la derecha)

IMG_20180804_100404.jpg

Como se puede apreciar, a pesar de que son dispositivos bien distintos, ambos cuentan con un pequeño resonador  que va a parte de la electrónica con un pequeño cablecillo de cinta en cuyos extremos va soldado el resonador de apenas 1cm de diámetro

En ambos casos el transductor es de pequeñas dimensiones  y sin contenedor lo cual lo hacen aun mas propenso a  averiarse  como es el caso  y bajo la opinión del que suscribe estas lineas el motivo por el qeu mucha gente cuestione su uso pues lo cierto es que con el tiempo es que suelen dejar de funcionar por agotamiento del transductor de ultrasonidos..

 

Prueba del transductor ultrasónico

¿Como podemos  evidenciar que el  circuito esta funcionando ?  pues sencillamente con un  osciloscopio  conectado a un buen micrófono o buen con una app para Android que  haga el análisis

Desde este blog hemos probado la app   UltraSound Detector  que le permite detectar  señales acústicas ultrasónica encima de la frecuencia definida por el usuario (por encima de 18 KHz por defecto).

Algunas características de esta app:

  • indicación de la vibración del evento de alarma .
  • Registro de eventos se registra automáticamente. espectro de la señal y la información de ubicación se pueden incluir.
  • Las señales ultrasónicas convertidor en sonidos audibles. para que pueda escuchar las señales ultrasónicas.
  • Modo fondo con las notificaciones . Una vez que esta opción se inicia, la aplicación se ejecuta en segundo plano y no requiere interacción humana hasta que el evento de alarma ocurre. Se continúa funcionando incluso después de que el dispositivo se reinicia.
  • consumo de batería ajustable en el modo de fondo . La aplicación está diseñada para conservar la batería de su dispositivo y permite seleccionar la velocidad de actualización de datos. La hora más frecuencia de actualización, el menos batería que se necesita.
  • Análisis amplio espectro con diferentes formas de mostrar los resultados: espectro, cascada, osciloscopio.
  • rango de frecuencia ajustable y resolución de frecuencia seleccionable entre 2,5 y 50 Hz.

Como  el elector puede inferir , este detector puede ser útil en los casos siguientes:

  • Para comprobar el trabajo-capacidad de diversos números transductores de plagas ultrasónicos electrónico y dispositivos de repelente de insectos, así como los dispositivos de emisión de ultrasonidos si trabajan en el rango de frecuencia apropiado.
  • Para localizar la detección de fugas en las conducciones del aire y sistemas de refrigeración. Usted probablemente está familiarizado con el silbido de una fuga grande hace. las fugas más pequeñas también emiten sonido, sin embargo, la frecuencia es demasiado alta para nuestros oídos lo detecten. Un detector de fugas ultrasónico permite detectar el sonido de silbido ultrasónico. Algunas fugas pueden ser detectadas a partir de varios pies de distancia, por lo tanto, el acceso a la fuga no siempre es necesario.
  • Para detectar la presencia de la tecnología de seguimiento entre dispositivo de ultrasonidos en algunos lugares públicos. La tecnología incorpora tonos de alta frecuencia que son inaudibles para los seres humanos en los anuncios, páginas web, e incluso los lugares físicos como tiendas al por menor. Estos “balizas” ultrasónicos emiten sus secuencias de audio con altavoces, y casi cualquier dispositivo de entrada de micrófono como los que se accede por una aplicación en un teléfono inteligente o tableta, puede detectar la señal y comenzar a armar una imagen de lo que usted ha visto los anuncios, lo Los sitios que examinaba, y hasta dónde ha estado.
  • Para averiguar la voz a dispositivos cráneo (tecnología V2K). Este dispositivo es un uso de armas para transmitir voces con frecuencias bajas o altas. Las voces pueden ser para los comandos o ataques de acoso que pueden parecer propia voz el objetivo de individuo. Voz a la tecnología cráneo se refiere a veces como “telepatía sintética”.
  • Para detectar algún tipo de armas de ultrasonidos, que causan dolor físico sin detección humana.
  • Para comprobar la calidad de los sonidos tiemblan (alta frecuencia) de los altavoces.

 

El   resultado de la detección se puede mostrar en la pantalla en el modo de primer plano y también se presenta en forma de notificación y (o) por el sonido (vibración) en el modo de fondo cuando la pantalla del dispositivo Android está apagado.

Precisamente en condición de silencio ,   desde este blog hemos probado diferentes  auyentadores  con esta aplicación  , resultando  que  varios de los  que se probaron no generaban  la salida de ultrasonido.

Esta es una pantalla de uno de los  dispositivo que funcionaba  correctamente;

Screenshot_2018-08-03-09-27-20-821_com.microcadsystems.serge.ultrasounddetector[1]

Lógicamente la evidencia  que el dispositivo  funciona es que si lo apagamos deja de verse en pantalla del terminal la frecuencia  de oscilación  y si lo volvemos a encender  la app la vuelve a detectar  ( en nuestro caso  de 20.7khz)

La frecuencia de trabajo  superior depende de la especificación de audio del dispositivo Android actual y se puede llegar hasta 150 KHz, si se utiliza el micrófono o el sensor de ultrasonido externo, sin embargo, el micrófono interno también se puede utilizar para determinar la señal de ultrasonido, pero la sensibilidad y la frecuencia superior será peor dependiendo de la calidad del micrófono interno ( en nuestro caso es mas que suficiente el micrófono interno del terminal).

Por otra parte, la aplicación está utilizando una característica de sobremuestreo. Por lo tanto, se puede ver, por ejemplo, 25 kHz ultrasonido incluso si el dispositivo digitaliza sólo el 22 kHz de audio (frecuencia de muestreo de 44 KHz).

 

Anuncios

Recicle su smartphone como camara de seguridad


En este humilde blog ya hemos comentado en innumerables ocasiones que un smartphone es uno de los dispositivos más versátiles que podemos encontrar hoy en día sobre todo cuando queda en desuso porque hemos adquirido uno mas moderno  o le falla alguna carasterictica ( por ejemplo baja autonomia o pantalla con arañasos) asi   que lo idea seria   darle una segunda oportunidad aprovechando diferentes capacidad de  su terminal

Por ejemplo usando el sensor de proximidad puede usarse como alarma de puerta o ventana (gracias a la app Seguricasa) , usarse como reloj despertador avanzado  o bien gracias a la cámara usarlos como camara de seguidad

Veamos en este post algunas de las mejores aplicaciones dedicadas que encontramos actualmente para Android.

Alfred

Nunca ha sido más fácil disponer de nuestro propio sistema de videovigilancia pues solo necesitamos un par de smartphones conectados a Internet (incluso uno solo), una cuenta de correo electrónico y la instalación de alguna de las aplicaciones gratuitas disponibles.

Esta aplicación es una de las más descargadas(+ 5millones)   y a la vez /fáciles de usar. Solamente necesitamos una cuenta de Google y abrirla en los dos dispositivos. Podemos configurar la calidad de grabación y retransmisión y revisar todos los registros durante catorce días.

Entre la oferta existente de este tipo de aplicaciones de las tiendas oficiales, la que alcanza un mayor éxito de calificaciones y elevado número de usuarios es ‘Alfred’. Y es que, realmente tiene un gran número de funciones, es gratuita y está disponible para los dos grandes so  de  smartphone actuales

La instalación es realmente sencilla, solo requiere unos pocos minutos y está al alcance de cualquiera aunque no se considere usuario avanzado. El único requisito que encontramos es la necesidad de disponer de una cuenta gmail o Google, ya que la vinculación entre dispositivos se hace a través de esa cuenta. De este modo, la posibilidad de conectarse a nuestra cámara de videovigilancia y por tanto de nuestra privacidad, depende del uso de nuestra cuenta y del conocimiento de su valiosa contraseña.

Veamos algunas características, todas ellas disponibles en esta aplicación sin coste:

  •  Podemos utilizar como cámara cualquier teléfono inteligente tanto de Android como de iOS siempre que disponga de al menos una cámara en buen estado, lógicamente.
  •  Como visor, podemos optar por Android, iOS o Firefox en cualquier PC.
  •  Tanto el dispositivo que hace de cámara como el que utilizamos para ver las imágenes, deben permanecer conectados a Internet, ya sea por Wifi o por datos y en  ambos dispositivos deberemos haber registrado la aplicación con la misma cuenta de Google.
  •  El dispositivo que hace de cámara tiene una función de ahorro de batería que apaga la pantalla, pero aun así, para periodos muy largos, deberemos mantenerlo conectado a la alimentación.
  • Desde el visor tenemos multitud de posibilidades que actúan sobre la cámara, como encender la luz del flash, girar la imagen, intercambiar entre ambas cámaras posibles, activar un modo nocturno de alta sensibilidad, etc.
  • Podemos usar  detección de movimiento y el envío de notificaciones directamente al dispositivo visor adjuntandoa una foto del momento en que detectó el movimiento.
  • También es posible activar el audio para escuchar a distancia y hablar desde el visor para que suene por los altavoces de la cámara.
  • Podemos tomar fotos y vídeo de lo que captura la cámara en cualquier momento desde el visor.
  • El sistema permite tener varias cámaras a la vez las cuales pueden visualizarse desde un mismo visor.

Sin duda una interesante herramienta para mantener nuestra casa vigilada o para utilizarla como dispositivo vigila bebés, aunque sus usos pueden llegar a ser tan variados como lo sea nuestra imaginación.

AtHome

AtHome con mas de 1 millón de descargas  puede convertir  más de 10 millones de dispositivos obsoletos en nuevos sistemas, actuando como monitor de bebé, cámara para mascotas, cámaras niñera, cuidado de los ancianos etcetera de vigilancia de video. Todas las plataformas están soportadas, incluyendo PCs, smartphones y tablet PCs.

Cuenta con reconocimiento de imágenes con detección de movimiento  de modo que  recibirá una notificación con un GIF animado cuando detecta una persona, mucho más precisa que la detección de movimiento tradicionales  contribuyendo a no tener o más falsas alarmas debido a la tecnología avanzada de AI y el aprendizaje profundo, utilizado para detectar el movimiento provocado por los seres humanos a diferencia de las sombras, luces, etc.

Con la visión nocturna mejorada  en condiciones de baja iluminación si  activamos el modo “Visión nocturna” se obtienen una mucho clara y mayor imagen de vídeo. Ademas la  tecnología de reconocimiento de rostros ayuda distinguir si la persona que aparece en el viseo si es un familiares o intruso e informarle inmediatamente;

Utilizado junto con AtHome Video Streamer, podemos  mantener un ojo en nuestro hogar cuando usted estemos fuera y recibir alertas de inmediato en caso de cualquier incidente  gracias a video streaming con el potente cifrado y tecnología de la transferencia P2P protege su privacidad. Usted puede estar seguro – las cámaras están bien protegidas de accesos no autorizados!

Por si fuera poco  se puede  hablar por dos vías: permitiendo comunicarse con personas y animales utilizando el micrófono incorporado y el altavoz

Antes de instalar debemos preparar 2 dispositivos (ordenador o teléfono inteligente) antes de comenzar, después solo se necesitan tres pasos para la  instalación:

  • Paso 1: descargar la aplicación de captura de vídeo AtHome Video Streamer aplicación de GooglePlay e instalarlo en su dispositivo. Un único ID de conexión (también conocido como el CID) se le asignará al dispositivo tras el AtHome Video Streamer es la primera vez;
  • Paso 2: descargar e instalar la aplicación Visor cámara AtHome app en otro dispositivo que desea utilizar como un visor, abrir la aplicación, registrarse e iniciar sesión;
  • Paso 3: seleccione “añadir por CID” o “Por código QR” para añadir una cámara, estás listo para disfrutar de la transmisión en vivo!

Salient Eye

Con mas de un millón de descargas puede convertir un  smartphone android en un sistema de alarma de detector de movimiento utilizando la cámara del teléfono como sensor de movimiento y haciendo sonar una alarma cuando se produce un robo e inmediatamente  mandando fotos vía email y tambien  por  SMS, lo cual no es nada frecuente en este tipo de aplicaciones.

Además, Salient Eye nos facilita un enlace para acceder al contenido que se haya grabado durante ese período de tiempo.

Algunas de sus características mas notables:

  •  Captura imágenes con sensor de movimiento
  •  Hace sonar la alarma (opcional)
  • Alertas SMS y correo electrónico (opcionales)
  • Muy fácil de instalar y muy fácil de usar
  • Sigue trabajando cuando se apaga la pantalla
  • Funciona hasta 10 horas sin ninguna fuente de alimentación (con la batería)

Además también permite activar una alarma que anuncie a un hipotético intruso que ha sido detectado.

Presence

Personas en todo el mundo están encantadas de volver a su viejos  smartphones y tablets volverlos  a ver trabajar gracias a esta app  descargada mas de 100.000 veces  que ofrece  VIDEOSEGURIDAD gratis.

Esta aplicación  ofrece hasta ofrece hasta 50 MB de almacenamiento cifrado en la nube para almacenar todos los vídeos grabados (se puede actualizar  a Pro a dentro de la aplicación de funciones de detección de movimiento avanzada y obtener 5GB de almacenamiento para grabaciones más largas y de mayor resolución de vídeo)

Gracias a esta app es muy facil añadir sensores inalámbricos compatibles con presencia en su casa y disfrutar de este avanzado sistema de seguridad para el hogar

 

Captura de pantalla

Esta app ofrece algunas algunas características un tanto especiales:

  • Monitor con presencia ;permite  hacer una gran  webcam , vigilabebés, cam del animal doméstico, nanny cam, cam de vigilancia o sistema de seguridad de bricolaje. En casa, en la cocina, el garaje, el vivero, en su oficina, o dondequiera – permite a usted sabe lo que sucede cuando te has ido. Obtener movimiento alertas de vídeo detección, ve lo que está sucediendo en tiempo real y mucho más.
  • Alerta con presencia;la cámara de  viejo smartphone o la tableta sigue siendo increíblemente valiosa.  Habilitando detección de movimiento de presencia para recibir gratis alertas de Video de presencia – ver y oír lo que sucedió unos segundos hace si se detecta movimiento por el smartphone o tablet que has colocado en casa funcionando presencia. Se le notificará en el dispositivo con usted si se detecta un intruso, cuando los niños llegan a casa con seguridad, o lo que te hace sentir más informada y segura.
  • Control con presencia:usted puede comprar una variedad de sensores Wi-Fi conectado compatible con presencia para proteger su hogar, incluyendo puertas y ventanas sensores de entrada, movimiento detectores de agua sensores de fuga, sensores de temperatura y humedad, sensores de tacto y mucho más. Puede controlar aparatos eléctricos en casa remotamente con el enchufe elegante presencia, demasiado. Dispositivos y sensores de presencia-compatible son asequibles e instalación en cuestión de minutos.
  • Reloj con presencia :esta appa apoya espectadores simultánea conexión a una sola cámara, para que  cualquier persona que usted designe pueden ver el perro o los niños al mismo tiempo desde dos diferentes dispositivos y ubicaciones. Esta app pues convierte smartphones en cámaras automáticas de Twitter para tuitear en vivo capacidades y permite iOS primeros del mundo y smartphone Android seguridad cámara robot, presencia 360. Más información sobre él en: https://www.indiegogo.com/projects/presence-360-smartphone-security-camera-robot-99-app#/
  •  Alexa Amazon: esta app le permite supervisar y controlar su hogar con su voz. Usted puede solicitar actualizaciones de estado sobre la presencia de su casa dispositivos conexión y envían comandos a sus sensores de seguridad, enchufes inteligentes, luces o incluso el termostato conectado. Decir “Alexa, Dile presencia para armar mi home” para activar su sistema de seguridad antes de salir de la casa. ¡Por supuesto, es gratis!

 

 

Manything

Manything significa monitor Cualquier cosa … y eso es exactamente lo que puede hacer esta aplicación permitiendo darle  una nueva oportunidad de vida a un teléfono inteligente o tableta pues  sólo tiene que descargar la aplicación en su dispositivo  para convertirlo en una cámara de seguridad para  el hogar instantánea

Se ha descargado ya mas de 100.000 veces y su  uso es muy sencillo : basta con instalar Manything en su dispositivo desde Google Play,, seleccionar el modo “cámara” y realice el registro de esta . Entonces descargue Manything a su teléfono principal o tableta que lleve contigo y seleccione “Visor”. Es así de simple, ahora puede ver su cámara desde cualquier lugar!

Esta aplicación también detecta movimiento y además, sonidos. Nos ofrece una gráfica ordenada con todos los picos de actividad y ruido registrados durante el período de tiempo que seleccionemos. Podemos visualizar en directo lo que grabe a cámara desde la app en nuestro móvil o desde el navegador web en la versión para escritorio.

LLegan los robots limpiacristales


Cecotec Innovaciones,la innovadora empresa valenciana que está detrás de varios tipos de  robots ,  fue fundada hace 10 años, por lo que no son unos recién llegados del sector tecnológico y su éxito es fruto del esfuerzo de  ingenieros y diseñadores españoles que han conseguido llegar a plantar claramente cara a empresas mucho mas famosas  como quedo demostrado la  temporada pasada donde   no dio abasto a fabricar sus robots limpiadores para cubrir toda la demanda que tuvieron  ( de hecho se e vieron obligados a abrir una lista de espera, para poder ir enviandolos a medida que los fabricaban.)

Este éxito pues es  fruto de los años de trabajo y constancia de todo su equipo  y en esta ocasión hablamos de un concepto similar al robot aspirador cuyo diseño inicial se lo debemos al fabricante Irobot con su  famosisima Roomba , pero que los de Cecotec han dado un giro innovador  convirtiendo el robot clásico  replicado por casi todos los fabricantes  en uno vertical para poder limpiar los cristales,  y de hecho como podemos ver en el vídeo  lo hace de maravilla:

 

Este diseño como vemos realiza una limpieza uniforme y eficiente en vertical  mediante una potente bomba de succión que lo  mantiene adherido a cualquier superficie acristalada para eliminar la suciedad con la máxima seguridad

Vemos pues que para ser posible que pueda desplazarse por los cristales necesita alimentación continua para mantenerse vertical , pero para evitar que se caiga o se desprende del cristal,  cuenta con un sistema de seguridad integral.:

  • Incluye una batería de litio con alimentación ininterrumpida que evita que el robot se caiga al suelo cuando hay un corte de corriente durante 15 minutos
  • Un algoritmo de control anticaída que ayuda a detectar obstáculos, vacío, marcos y bordes,
  • Un arnés de seguridad muy resistente, que dispone de una ventosa para adherirse al cristal consistente en una cuerda de seguridad muy resistente con una ventosa para adherirse al cristal..

 

 

Si bien el fabricante propone tres modelos las version Conga WinRobot Excellence de Cecotec es la mas avanzada ( y por ende la de mayor  precio)  por su  diseño cuadrado para limpiar todos los bordes y las esquinas,  limpiando todo tipo de superficies como cristales, espejos, mamparas, azulejos, superficies lisas y ventanas tanto interiores como exteriores. 

Este  modelo usa algoritmos de inteligencia artificial iTech Win 2.0 para calcular la ruta idónea, detectar los límites de la ventana y limpiar completamente las superficies gracias a sus novedosos sensores de posición, bordes y distancia realizando un recorrido de limpieza eficiente  ( el modelo anterior WinRobost 870  solo implementa el algoritmos de control anticaida  para marcos).

En gran venatja frente al modelo 870  , el  modelo Excelent   limpia en 5 etapas para conseguir un acabado profesional  gracias  a que  la mopa superior realiza un movimiento de vaivén constante para fregar y eliminar hasta la suciedad más difícil.

Implementa  4 modos de  limpieza automáticos seleccionables con un mando a  distancia para limpiar una ventana desde cualquier posición: modo N, modo Z, modo Loop en el que el robot realiza 10 pasadas por el mismo punto.Obviamente también dispone de AutoStop System  parando  de forma automática al finalizar la limpieza avisando obviamente al usuario.

 

 

Respecto a aspectos técnicos el nivel de ruido prometido por el fabricante es  menor de 71 dB contando con un motor de succión de 75w, una batería Ion Litio 700 mAh 14,4 V que tarda 120 minutos en cargarse alimentándose el robot directamente de la red ca 100-240ac   con un cable de 4mt
Por ultimo es eco-friendly gracias  a las  mopas de microfibra reutilizables de alta calidad con 2 modos de limpieza posibles: en seco y en húmedo con productos especializados.

Por cierto si alguien se pregunta también puede limpiar en superficies horizontales

 

Este robot cuesta unos 215€ en Amazon aunque es enviado directamente por el propio fabricante

 

Display inteligente para Netduino


La biblioteca TextDisplayMenu  es un marco extensible para rápidamente crear menús jerárquicos, editables que pueden mostrar en un display lcd de caracteres de verias lineas (típicamente compatible con hd44780)    controlándose mediante un IRotaryEncoder o una intrface  IButton . Los drivers para pantallas LCD Serie comparten una interfaz común que lo hacen fácil de conectar e integrar con el  TextDisplayMenu

Por tanto gracias a esta biblioteca podemos movernos en menús mostrados en displays lcd de varias lineas con un solo botón giratorio de un modo muy potente  y eficiente.

En este vídeo podemos ver un ejemplo de funcionamiento:

El menú se puede crear mediante programación o cargadolos desde un fichero en formato JSON y tiene un número de tipos de elementos de menú integrado de pantalla y edición entrada como tiempo, temperatura y otros.

Además se pueden crear fácilmente menús personalizados contipos de elementos que permiten a los usuarios editar su valor a través de las entradas

Utilización

Para utilizar el menú, necesitará un LCD compatible con ITextDisplay u otro display, así como alguna combinación de botones y codificador rotatorio que permita la funcionalidad de avanzar a siguiente, anterior y seleccionar . Por ejemplo, puedes usar; tres entradas IButton discretas para la siguiente / previa / selección, un codificador rotatorio para siguiente / anterior y un IButton para selección, o un RotaryEncoderWithPushButton para manejar las tres entradas.
El esquema siguiente muestra una configuración típica de integral para manejar el menú e incluye una pantalla de cuatro líneas LCD común controlado directamente por pernos GPIO digitales de Netduino, así como un encoder rotativo con pulsador:

Como se puede apreciar se usa un display copatible con hd44780  usando interfaz de 4 bits  con dos señales de control  y luego aparte el encoder que usa tres señales de control

El display  ademas de alimentación de 5v DC , tomada directamente de la placa ,usa pues   6 conexiones binarias de Netduino :d8,d9,d10,d11,d12 y d24 , forzando algunas lineas del diplay a  vcc o gnd y el encoder las tres anteriores :d7,d5 y d5;

Resumiendo estas son las conexiones del display lcd:

  1. VSS – Ground
  2. VCC – (+5V)
  3. VE – Contrast adjustment –>a gnd
  4. RS – Register Select–>pind13
  5. RW – Read/Write– >a gnd
  6. EN – Clock (Enable)–>pind12
  7. D0 – Data Bit 0–>pin d11
  8. D1 – Data Bit 1–>pin d10
  9. D2 – Data Bit 2–>pin d9
  10. D3 – Data Bit 3–>pin d8
  11. D4 – Data Bit 4
  12. D5 – Data Bit 5
  13. D6 – Data Bit 6
  14. D7 – Data Bit 7
  15. BLA – Backlight Anode (+)–>gnd
  16. BLK – Backlight Cathode (-)–>a 5v (ojo algunos dislplay necesitan una resistencia  limitadora no alimentándose directamente a 5v dc)

La caja para contener el encoder  y el display  los del Wilderness Labs han  diseñado específicamente en 3D  conun acabado fantastico:

Código de ejemplo

El código siguiente ilustra cómo crear una nueva, por eso carga su contenido de JSON:TextDisplayMenuRotaryEncoderWithButton

using System;
using System.Collections;
using System.Threading;
using Microsoft.SPOT;
using H = Microsoft.SPOT.Hardware;
using N = SecretLabs.NETMF.Hardware.Netduino;
using Netduino.Foundation.Sensors.Rotary;
using Netduino.Foundation.Displays;
using System.IO;
using TextDisplayMenu_Sample.Properties;
using Netduino.Foundation.Displays.TextDisplayMenu;

namespace TextDisplayMenu_Sample
{
    public class Program
    {
        public static void Main()
        {
            RotaryEncoderWithButton encoder = new RotaryEncoderWithButton(
                N.Pins.GPIO_PIN_D2, N.Pins.GPIO_PIN_D3, N.Pins.GPIO_PIN_D4,
                Netduino.Foundation.CircuitTerminationType.CommonGround);
                
            ITextDisplay display = new SerialLCD(new TextDisplayConfig() { 
                Height = 4, 
                Width = 20 }) as ITextDisplay;

            display.SetBrightness();

            Menu menu = new Menu(_display, _encoder, Resources.GetBytes(Resources.BinaryResources.menu), true);
            menu.Enable();

            Thread.Sleep(Timeout.Infinite);
        }
    }
}

El código  completo se puede encontrar aquí.

Para crear un menú con otras entradas, como botones o un codificador giratorio opcional, puede usar los otros constructores:

// Rotary encoder and select button
public Menu(ITextDisplay display, IRotaryEncoder encoder, IButton buttonSelect, byte[] menuResource, bool showBackOnRoot = false)

// Buttons for next, previous, and select
public Menu(ITextDisplay display, IButton buttonNext, IButton buttonPrevious, IButton buttonSelect, byte[] menuResource, bool showBackOnRoot = false)

Carga un menú desde JSON

Para crear el menú de JSON, en primer lugar definir el contenido del menú en un archivo JSON y luego agregarlo como un recurso.
Definición de muestra
El nodo raíz debe ser una matriz de elementos de menú. La tabla siguiente enumera las propiedades y uso asociado:

Property Usage
text Mostrar texto en el renderizado. Incluye {value} para mostrar el valor actual del tipo
command Nombre del comando para distinguir los eventos de selección de menú. Si se establece el comando, tiene prioridad sobre el elemento de menú editable.
id Identificador único para el tipo. Necesario para un elemento de menú editable..
type Tipo de entrada, por ejemplo: Edad, Tiempo. Necesario para un elemento de menú editable.
sub Array de items de sumenus .

Por ejemplo, el siguiente código json define un menú jerárquico dispuesto en los artículos y páginas de menú.

{
  "menu": [
    {
      "text": "My Age: {value}",
      "id": "age",
      "type": "Age",
      "value": 12
    },
    {
      "text": "My Command",
      "command": "DoSomething"
    },
    {
      "text": "Parent",
      "sub": [
        {
          "text": "Sub Item A"
        },
        {
          "text": "Sub Item B"
        },
        {
          "text": "Sub Item C",
          "sub": [
            {
              "text": "Sub Item D"
            },
            {
              "text": "Sub Item E"
            },
            {
              "text": "Sub Item F"
            }
          ]
        }
      ]
    }
  ]
}

Agregar el menú JSON como un recurso

Para agregar el archivo JSON al proyecto como un recurso:

  1. Haga clic derecho en el proyecto y seleccione Propiedades
  2. Haga clic en el panel izquierdo Recursos
  3. Haga clic y elija el archivo apropiado. Agregar recurso

Ahora, se puede acceder a este recurso por Resources.GetBytes(Resources.BinaryResources.[ResourceName]).

Soporte de eventos

El menú genera eventos cuando se selecciona un comando, se edita el elemento del menú y se sale del menú.

En cuanto a la selección de eventos ,para recibir una notificación cuando se selecciona un elemento de menú con un comando asignado, asigne un controlador al evento Seleccionado:

menu.Selected += (s, e) =>
{
    Debug.Print("menu selected: " + e.Command);
};

Respecto a la salida de eventos si el menú no es la pantalla de inicio de la aplicación deseada, entonces el menú puede ser cargado o descargado programáticamente usando Enable () o Disable (), respectivamente. Además, hay un parámetro opcional al crear un nuevo menú, showBackOnRoot, y cuando se establece en verdadero, ”

menu.Exited += (s, e) =>
{
    Debug.Print("menu exited");
    menu.Disable();
};

Para editar eventos para obtener una notificación cuando cambia un valor de elemento de menú Editar, asignar a un controlador al evento:ValueChanged

menu.ValueChanged += (s, e) =>
{
    Debug.Print(e.ItemID + " changed with value: " + e.Value);
}

Construcción de  tipos

La siguiente tabla enumera los tipos de elementos de menú integrados y sus usos y valores asociados:

Type Description
Boolean Un tipo de lista como true y false.
Age Un integer entre 0 y 100.
Temperature Un valor entre -10 y 100 con una escala de 2.
Time 24 hora militar con HH:MM
TimeDetailed 24 hora militar con HH:MM:SS
TimeShort 24 hora militar con MM:SS

Creación de tipos de elementos de menú personalizado

Hay dos formas de crear elementos de menú personalizado. El más fácil y más común es heredar de y modificar, los tipos de base integrados. Sin embargo, también puede crear menús totalmente personalizada tipos de elementos.
Personalización de tipos Base incorporados
TextDisplayMenu incluye una serie de tipos base integrados que manejan tipos comunes y puede ser modificado para requisitos particulares para adaptarse:

Base Type Description
NumericBase Proporciona una pantalla y entrada numérica genérica. El mínimo / máximo y el número de decimales se pueden modificar.
TimeBase Proporciona una máscara de entrada de XX: XX: XX o XX: XX según el modo.
ListBase Proporciona una lista seleccionable de elementos.

Ejemplo de NumericBase personalizado

El siguiente código se extrae del tipo de menú Edad, e ilustra cómo heredar de NumericBase y especificar el piso, el techo y la escala de la entrada deseada.

using System;
using Microsoft.SPOT;

namespace Netduino.Foundation.Displays.TextDisplayMenu.InputTypes
{
    public class Age : NumericBase
    {
        public Age(): base(0, 100, 0) { }
    }
}

En resumen como vemos el equipo de Wilderness Labs a través de la fundación de Netduino ha hecho un trabajo fantástico que espero podemos usar en nuestros futuros proyectos

Mas información en http://netduino.foundation/Library/Displays/TextDisplayMenu/

Nuevos aires para Netduino


Sin duda corren nuevos aires para la plataforma Netduino tras la retirada de Secrets Labs por parte de su creador Chris Walker y ahora wilderness labb es la plataforma que oficialmente  esta soportando Netduino tanto es así que el sitio oficial anterior se ha redirigido a la plataforma wildernesslabs.co

 Wildeerness Lab  es una comunidad de desarrolladores .NET dispuesta a construir experiencias de hardware de próxima generación. Se  consideran  los “pastores” de Netduino; una plataforma de desarrollo de hardware abierto de código abierto y los creadores de Netduino.Foundation  un marco que simplifica enormemente la construcción de cosas conectadas con Netduino.

Tras unos años reestructurando el nuevo sitio se ha asociado con Hackster.io y desafió a cualquier entusiasta de Netduino para poner en marcha la revolución de hardware mediante la creación de soluciones innovadoras que utilicen IO Netduino y .NET Micro Framework

 

 

 

 

Hoy en dia   los teléfonos móviles   superan  a los dispositivos conectados móviles  en relacion 4 a 1 pero en apenas unos años, los dispositivos conectadas a Internet superaran a los teléfonos móviles en una proporcion de 10 a 1 lo que supondra  75 billones dispositivos conectados  predichos en 2025 gracias al uso de   microcontroladores y  los avances de hardware , lo cual  desembocaran con la revolucion del mundo va móvil, en pocos años, a conectar casi todos los nuevos productos.

Esta progreso del hardware es toda una revolución , y Wildeerness Lab lo sabe  permitiendo a los desarrolladores de hoy ser parte de él, pues ellos son conscientes de hecho que la revolución depende de piratas informáticos, creadores y manitas para crear  con la tecnología de las experiencias del mañana

Veamos en primer lugar las placas disponibles  pra luego meternos mas en detalle del concurso

Plataforma Netduino plus

Netduino es una plataforma abierta  basada en  Microsoft.NET Micro Framework. La versión  Plus ademas  es un poderoso Netduino junto con Ethernet integrado, así como el apoyo de una ranura para microSD en la misma tarjeta  . Ademas existe una version avanzada con adaptador wifi integrado

Cuenta con un  potente microcontrolador de 32 bits integrado con un entorno de desarrollo estándar que está disponible gratuitamente a través de Microsoft (Visual Studio 2010).

La familia Netduino se basa en el Microprocesador Cortex-M que ejecuta .NET Micro Framework (NETMF) v4.3.

El desarrollo se puede hacer tanto en Windows, con Visual Studio, o con Xamarin Studio en Mac OS X.

 

La plataforma permite una fácil interconexión con switches, sensores, LEDs, dispositivos de serie, y mucho más. El Netduino combina 20 GPIO con SPI, I2C, UART 2 (1 RTS / CTS), 4 y 6canales de PWM ADC.

Microsoft. NET Micro Framework combina la facilidad de un lenguaje de programación de alto nivel (C #) con las características de los microcontroladores permitiendo la depuración de programación basada en eventos, multi-threading, línea por línea,puntos de interrupción y mucho más.   Ademas ..,se pueden añadir  mas accesorios ofreciendo funcionalidades extra ( por ejemplo la ubicación GPS, el control de servos ,displays  de todo tipo).

También son compatibles con pin / puerto con los escudos Arduino, abriendo posibilidades en el mundo.

Características de la placa original , mantenida en las siguientes versiones Netduino 2 y Netduino 3 (esta ultima  con interfaz wifi) :

● all 20 digital and analog pins: GPIO
● digital pins 0-1: UART 1 RX, TX
● digital pins 2-3: UART 2 RX, TX
● digital pins 5-6: PWM, PWM
● digital pins 7-8: UART 2 RTS, CTS
● digital pins 9-10: PWM, PWM
● digital pins 11-13: SPI MOSI, MISO, SPCK
● analog pins 4-5: I2C SDA, SCL

● ethernet: 100 mbps (solo versiones con ethernet en v1, v2, v3) con  network stack via  lwIP

● micro sd (up to 2 GB)
● auto card detect

Netduino 3

Es la ultima evolución de esta placa. Cuenta con procesador  168Mhz Cortex-M4 (STM32F4) con o 1,408 KB of almacenamiento para código  y  164 KB de RAM.

Existe comercialmente en tres variantes:

N3

384 KB Code Flash Storage

SIn ethenert  ni wif

N3 Ethernet

1,408 KB Code Flash Storage
10/100 Mbps Ethernet
Micro SD Slot (up to 2GB)

Con ethernet

N3 WiFi

1,408 KB Code Flash Storage
802.11b/g/n WiFi
Micro SD Slot (up to 2GB)

Con adaptador WiFI

Netduino 2

Es la version mas antigua basada en Cortez M2   y M4. Existen unicaemnte dos  versiones

N2

Cortex-M3 @ 120Mhz
192 KB Code Flash Storage
60KB Ram

SIn ethenert  ni wif

N2 Plus

Cortex-M4 @ 168Mhz
384 KB Code Flash Storage
100 KB RAM
10 Mbps Ethernet
Micro SD Slot (up to 2GB)

Con intrefaz Ethernet

 

 

Netduino Foundation

Wildeerness Lab    ha creado  Netduino.Foundation,, una plataforma que toma gran parte de la complejidad del desarrollo de hardware y permite una experiencia de desarrollo lista donde se pueden crear soluciones de hardware sofisticado utilizando C#. Usando  Xamarin,se pueden crear aplicaciones móviles que hablan y controlan cosas conectadas aso como escribir soluciones de extremo a extremo en. net,

 

IoT real va a ser construido por los desarrolladores reales de hacking de IoT  como nunca  nunca podríamos imaginar:es ahi  donde usted entramos los entusiastas de netduino por lo nos proponen  unirnos a ellos  en la construcción de soluciones creativas con Netduino y el .NET Microframework.

Por cierto si no tiene un Netduino no hay problema, pues  estan regalando un total de 40 Netduino 3 WiFi o Ethernet de 3 Netduino  personas que están pensado proyectar aplicaciones( asi qeu  desee prisa, si usted necesita un tablero,pues  el plazo de propuesta de proyecto patrocinado es el 1 de julio.)
Y para endulzar el acuerdo, todos los ganadores del concurso recibirán acceso temprano de beta a Prado; el sucesor de Netduino que ejecuta .net completo estándar 2 aplicaciones en un microcontrolador.

Si no recibe un Netduino  o quieren conseguir uno  cuanto antes, use HCONTEST para recibir una 15% de descuento en cualquiera de nuestros productos de Netduino vendidos en Amazon. Este código es válido hasta el 30 de julio de 2018..

 

Hackster_Contest_Description_Banner.png

Concurso Netduino

 

Presentaciones del proyecto

Presentación debe incluir:

  • Descripción detallada de su proyecto. ¿Qué es, ¿qué hacer, cómo funciona?
  • Imágenes de calidad y videos
  • Historia con instrucciones claras
  • BOM (Bill del material)
  • Código fuente y esquemas si está disponible
  • Compruebe hacia fuera estos proyectos Netduino Hackster ejemplos de buenas presentaciones:

Línea de tiempo

  • Presentación proyecto abre -13 de junio de 2018
  • Fecha límite para aplicar gratis Netduino -01 de julio de 2018
  • Presentación de proyecto cerrado -31 de julio de 2018
  • Anunciados los ganadores del -03 de agosto de 2018

 

 

Estos serán los premios a este concurso;

  • Mejor presentación general – 1er lugar

El mejor autor de presentación general de proyectos recibirán un kit de hack de prototipos de hardware que incluye una impresora 3D, osciloscopio y acceso beta temprano a Prado; Plataforma de hardware de vNext desierto Labs que trae .net completo estándar a un microcontrolador.
También recibirá un paquete de cuidado secreto artesanal del desierto Labs Director Ejecutivo y cofundador, Bryan Costanich.

  • Presentacion honorable

Hasta diez otros envíos grandes, también recibirá un paquete de atención secreta y acceso temprano al Prado.

  • Acceso de la Beta Meadow

Meadow  es el sucesor a Netduino. Ejecuta aplicaciones .net estándar 2 completo en un microcontrolador a través de Mono. Es seguro desde el hardware hacia arriba y es manejable a través de la nube. Esperan ofrecer acceso beta privada al final de ganadores del verano.

 

  • ¿Listo para comenzar?

Crear una cuenta en wildernesslabs.co si no lo has hecho ya.

Registro para el concurso en esta página https://www.hackster.io/contests/netduino

Presentar su idea de proyecto el 1 de julio para tener la oportunidad de ganar un Netduino gratis para su proyecto.

Diseñar, construir y presentar su proyecto antes de 31 de julio.

 

 

Mas informacion en https://www.hackster.io/contests/netduino

 

 

 

Estación meteorológica conectada


Hay algunas otras estaciones meteorológicas basadas en NodeMcu o ESP8266 publicadas en la web, pero sin embargo,casi ninguna incluyen algunos sensores  de los que vamos a ver , y sobre todo,   se programan en un lenguaje más difícil: LUA.
En este proyecto de Ingenerare, los datos recuperados  por varios sensores , se envían a través de  wifi a la plataforma  Thingspeak, para posteriormente poder  visualizar su valores en el canal de Thingspeak o en un sitio web personal.

Este canal transmitirá los siguientes datos a un canal Thingspeak:

  • Temperatura  gracias a  un DHT11 / 22.
  • Temperatura por medio de un BMP180.
  • La humedad  gracias a un DHT11 / 22.
  • La presión atmosférica   por medio de un BMP180.
  • Temperatura del punto de rocío DHT11 / 22.
  • Altitud por medio de un BMP180.
  • La intensidad de la luz gracias  a un LDR.
  • El valor lluvia.

Los componentes  usados en este  proyecto son los siguientes:

caja.PNG

El corazón del sistema es una  placa  NodeMcu , la cual de hecho, es un Arduino  conmenos puertos analogicos  pero con un escudo wifi el cualpuede reconocerse por la placa de metal en la parte superior de la misma.  Este escudo puede ser comprado y utilizado como una controladora individual para su uso con un  Arduino para darle conectividad (de hecho incluso existe una versión conocida como la V1 esp8266 que sólo tiene 2 pines digitales,pero en versiones posteriores disponemos de mas pines digitales).

La gran ventaja de la placa  NodeMcu es que la placa  se puede programar en el entorno Arduino (el IDE  normal de Arduino). Además, la placa  incluye un convertidor de 5 voltios y así se puede conectar de forma segura mediante USB al ordenador sin tener que comprar un módulo conversor Dv-DC  de 3,3 voltios.

Si usted necesita  comprar una placa  NodeMcu se puede comprar la versión 0.9 o la versión 1.0: la única diferencia que sé es que la versión 0.9 es más ancha que la versión 1.0. ( de hecho no puede utilizar la versión 0.9 en una placa de prototipos standard  ).

Hay  gran cantidad de tutoriales en Internet donde explican como  programar esta placa  junta con el software de LUA, pero al ser  básicamente un Arduino con un escudo  wifi, también se puede usar el software Arduino IDE siguiendo estos pasos:

  • Ir   a “Archivo”
  • Haga clic en “Oreferencias”
  • Agregue el siguiente enlace en el campo “URL de la placa adicional ‘:http: //arduino.esp8266.com/stable/package_esp8266c 
  • Después de esto puede reiniciar el software y debe ser capaz de seleccionar la junta en el gestor de tabla (V1.0 o v0.9).

ThingSpeak

En esta ocasión se va a enviar   nuestros medidas a la veterana  plataforma Thingspeak  que ofrece varias opciones para la interacción con sus datos como Thingtweet, Thinghttp etc.

Lo primero que tenemos que hacer es crearnos una cuenta en thingspeak , para ello  simplemente vaya a thingspeak.com y cree  una cuenta ,donde  solo será necesario rellenar en al menos la primera y segunda en la configuración de campo.

Si se conecta un sensor de temperatura y humedad, como se describe mas adelante, rellenar “temperatura” en el campo 1, ‘humedad’ en el campo 2 y el “punto de rocío” en el campo 3. Si desea conectar otros sensores tales como el sensor de BMP, sensor de lluvia, LDR, sólo tiene que hacer lo mismo para el resto de los campos.

En este formulario puede encontrar  una clave API key  que habrá que mencionar en su código para  Arduino bajo la ‘clave de API’  , pues esta clave es necesaria para conectar el Arduino al canal Thingspeak recién creado.

thingspeak.PNG

Sensor DHTXX

DHT11 y  DHT22 son dos modelos de una misma familia de sensores, que permiten realizar la medición simultánea de temperatura y humedad usando ademas un único  hilo para comunicar los datos vía serie, para lo cual  ambos  disponen de un procesador interno que realiza el proceso de medición, proporcionando la medición mediante una señal digital, por lo que resulta muy sencillo obtener la medición desde un microprocesador como Arduino o ESP8266.

Ambos son similares ( DHT11 presenta una carcasa azul  , mientras que el sensor DHT22  es blanco)  compartiendo además los mismos pines  disponiendo de  4 patillas, de las cuales usaremos sólo 3: Vcc, Output y GND.  Como peculiaridad ,la  salida la conectaremos a una entrada digital  , pero necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output.

El  DHT11  puede medir temperaturas entre 0 a 50, con una precisión de 2ºC, humedad entre 20 a 80%, con precisión del 5% y con una a frecuencia de muestreo de 1 muestras por segundo (1 Hz)

En clara superioridad  con el dHT11 , el modelo DHT22 tiene unas características mucho más profesionales.
  • Medición de temperatura entre -40 a 125, con una precisión de 0.5ºC
  • Medición de humedad entre 0 a 100%, con precisión del 2-5%.
  • Frecuencia de muestreo de 2 muestras por segundo (2 Hz)

Destacar que este tipo de  sensores de temperatura  ( y, aún más, los sensores de humedad) , son sensores con elevada inercia y tiempos de respuesta elevados. Es decir, al “lentos” para reflejar los cambios en la medición.

Conectar el DHT11   o el DHT22  a  un Arduino o ESP82366  es sencillo, simplemente alimentamos desde Arduino al sensor a través de los pines GND y Vcc del mismo. Por otro lado, conectamos la salida Output a una entrada digital de Arduino como por ejemplo el pin D4   (No necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output al llevarla ya  integrada la placa ).

El sensor de BMP

El sensor de BMP180  mide la de la temperatura y la presión del aire. Sí, ya tenemos un sensor de temperatura añadido en el paso anterior, pero no un sensor de presión de aire. Conectar la clavija de alimentación a la línea de 3,2 voltios de la NodeMCU y el conector de tierra en el pin GND de la NodeMCU. El SCL tiene que estar conectado a D1 y la SDA a D2.

Sensor de lluvia y sensor de luz

El sensor utiliza materiales de doble cara FR-04 de alta calidad, donde el área extensa es de 5.0 * 4.0CM, y la superficie niquelada, eficaz contra la oxidación, la conductividad, el funcionamiento superior y las áreas de la vida.

El sensor de lluvia no requiere ninguna  otra placa cuando queremos leer el valor analógico.Si queremos leer valores  binarios  en cambio podemos utilizar la placa adicional  que ofrece  una  conexión a los pines digitales . Gracias a un potenciómetro   que contiene  esta placa , se puede establecer el valor  de umbral con que se dispara pues el  formato de salida  puede ser  de conmutación digital (0 y 1) gracias a  un comparador de amplio voltaje LM393 (y salida de tensión analógica AO).

También en este proyecto se ha añadido un LDR , por lo que podemos  tener dos lecturas analógicas. Esta es una parte difícil pues el NodeMCU sólo tiene un pin analógico , pero podemos resolver este problema mediante la multiplexación de los pines analógicos de modo que con la ayuda de dos diodos y dos pines GPIO , podemos suministrar energía a ambos sensores en secuencia para tomar la lectura de ambos ( eso sí tendrá que controlar esta secuencia desde el  propio programa)

canlaes.PNG

Como se puede ver el sensor de lluvia está activada por el pin D7  (GPIO13)  yel LDR es alimentado por el   pin D8  (GPIO15).

Este es el trozo de código que permite la lectura de ambas señales analógicas:

int sensorPin = A0; // selecciona  el pi, t the input pin for the potentiometer
int enable1 = 10; // activar lectura  sensor A
int enable2 = 11; // acvtivar lectura sensor B

int sensorValue1 = 0; // variable to store the value coming from sensor A
int sensorValue2 = 0; // variable to store the value coming from sensor B

void setup() {
Serial.begin(9600);
// declare the enable and ledPin as an OUTPUT:
pinMode(enable1, OUTPUT);
pinMode(enable2, OUTPUT);
}

void loop() {
// read the value from sensor A:
digitalWrite(enable1, HIGH);
sensorValue1 = analogRead(sensorPin);
Serial.println(sensorValue1);
digitalWrite(enable1, LOW);

delay(100);

// read the value from sensor A:
digitalWrite(enable2, HIGH);
sensorValue2 = analogRead(sensorPin);
Serial.println(sensorValue2);
digitalWrite(enable2, LOW);
Serial.println(“—————————————-“);
delay(1000);
}

Las conexión  de todos los sensores  queda pues como en la figura siguiente:

esquema

Finalmente una vez montado el circuito  solo nos queda  programar el ESP por ejemplo usando el código de más abajo.

No debemos olvidar  de cambiar el apikey con el de su cuenta de thingspeak, pues si no se hace NO  se podrán enviar datos a su canal

Es asimismo importante añadir el nombre SSID  de su red Wi-FI (esto es simplemente el nombre que aparece cuando se hace clic en la esquina derecha de Bottum a filtrar) así como añadir la contraseña de esta red wifi.

Si ha cargado el boceto se puede comprobar en el monitor serie cómo funciona. Basta con abrir el monitor pulsando CNTR + M.

*
This sketch is a combination of two other sketches:
1.
Plot DTH11 data on thingspeak.com using an ESP8266
April 11 2015
Author: Jeroen Beemster
Website: http://www.arduinesp.com
2.
Example sketch: adafruit BMP 085
Sensor api BMP180
*/
//library DHT22
#include

//library esp
#include

//library bmp180
#include
#include
#include

// replace with your channel’s thingspeak API key,
String apiKey = “”; //fill in the api key from thingspeak
const char* ssid = “”; //fill in your wifi name
const char* password = “”; //fill in your wifi password

const char* server = “api.thingspeak.com”;
#define DHTPIN 2 // what pin we’re connected to

DHT dht(DHTPIN, DHT22,15);
WiFiClient client;

int sensorPin = A0; // input for LDR and rain sensor
int enable1 = 15; // enable reading LDR
int enable2 = 13; // enable reading Rain sensor
int sensorValue1 = 0; // variable to store the value coming from sensor LDR
int sensorValue2 = 0; // variable to store the value coming from sensor Rain sensor
//————————–setup————————-
void setup() {

// declare the enable and ledPin as an OUTPUT:
pinMode(enable1, OUTPUT);
pinMode(enable2, OUTPUT);
Serial.begin(115200);
delay(10);

dht.begin();

WiFi.begin(ssid, password);

Serial.println();
Serial.println();
Serial.print(“Connecting to “);
Serial.println(ssid);
Serial.print(“……….”);
Serial.println();
WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);

}
Serial.println(“WiFi connected”);
Serial.println();

}
void loop() {
//————————–DHT22/DHT11————————-

float h = dht.readHumidity();
float t = dht.readTemperature();

if (isnan(h) || isnan(t)) {
Serial.println(“Failed to read from DHT sensor!”);
return;
}
Serial.print(“Temperature: “);
Serial.print(t);
Serial.print(” degrees Celcius “);
Serial.println();

Serial.print(“Humidity: “);
Serial.print(h);
Serial.print(“%”);
Serial.println();

//— extra—- you can measure dew point with the temperature and the humidity

double gamma = log(h/100) + ((17.62t) / (243.5+t));
double dp = 243.5
gamma / (17.62-gamma);

Serial.print(“Dew point: “);
Serial.print(dp);
Serial.print(” degrees Celcius “);
Serial.println();

//————————–BMP180————————

if(!bmp.begin()) {
Serial.print(“Failed to read from BMP sensor!!”);
while(1);
}

sensors_event_t event;
bmp.getEvent(&event);

Serial.print(“Pressure: “);
Serial.print(event.pressure);
Serial.println(” hPa”);

float temperature;
bmp.getTemperature(&temperature);
Serial.print(“Temperature: “);
Serial.print(temperature);
Serial.println(” degrees Celcius “);

//— extra—-you can measure the altitude with the temperature and the air pressure

float seaLevelPressure = 1015;
Serial.print(“Altitude: “);
Serial.print(bmp.pressureToAltitude(seaLevelPressure,event.pressure));
Serial.println(” m”);

//————————–LDR————————-

digitalWrite(enable1, HIGH);
sensorValue1 = analogRead(sensorPin);
sensorValue1 = constrain(sensorValue1, 300, 850);
sensorValue1 = map(sensorValue1, 300, 850, 0, 1023);
Serial.print(“Light intensity: “);
Serial.println(sensorValue1);
digitalWrite(enable1, LOW);
delay(100);

//————————–Rain Sensor————————-

digitalWrite(enable2, HIGH);

delay(500);
sensorValue2 = analogRead(sensorPin);
sensorValue2 = constrain(sensorValue2, 150, 440);
sensorValue2 = map(sensorValue2, 150, 440, 1023, 0);

Serial.print(“Rain value: “);
Serial.println(sensorValue2);
Serial.println();
delay(100);

digitalWrite(enable2, LOW);

//————————–thingspeak————————-

if (client.connect(server,80)) { // “184.106.153.149” or api.thingspeak.com
String postStr = apiKey;
postStr +=”&field1=”;
postStr += String(t);
postStr +=”&field2=”;
postStr += String(h);
postStr +=”&field3=”;
postStr += String(dp);
postStr +=”&field4=”;
postStr += String(event.pressure);
postStr +=”&field5=”;
postStr += String(temperature);
postStr +=”&field6=”;
postStr += String(sensorValue1);
postStr +=”&field7=”;
postStr += String(sensorValue2);
postStr +=”&field8=”;
postStr += String(bmp.pressureToAltitude(seaLevelPressure,event.pressure));
postStr += “\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n”;

client.print(“POST /update HTTP/1.1\n”);
client.print(“Host: api.thingspeak.com\n”);
client.print(“Connection: close\n”);
client.print(“X-THINGSPEAKAPIKEY: “+apiKey+”\n”);
client.print(“Content-Type: application/x-www-form-urlencoded\n”);
client.print(“Content-Length: “);
client.print(postStr.length());
client.print(“\n\n\n\n\n\n\n\n”);
client.print(postStr);

}
client.stop();
// thingspeak needs minimum 15 sec delay between updates
delay(20000);
}

Weather_station_for_instructables.inoWeather_station_for_instructables.ino

Todo el conjunto se puede meter en un pequeña caja .  El sensor de DHT y el sensor de BMP pueden posicionarse en el lado de la caja cubriendo los dos sensores con un poco de múltiplex para que la lluvia no pudo influir en las lecturas
Asimimos Thingspeak tiene un montón de opciones de plugin. Uno de ellos es que es posible hacer que los medidores  los publique en su página web de thingspeak   en la pestaña ‘vista privada’ de Thingspeak. Se pueden  vincular los medidores de su sitio web privado  mediante el uso de un iframe que tiene que estar conectado a Thingspeak para poder ver los medidores.

Fuente   aqui

Monitorización de gases con Arduino


Gracias  a la plataforma de Cayenne , de la que hemos hablado en este blog en numerosas  ocasiones, es bastante sencillo monitorizar cualquier variable física  de un modo realmente sencillo  simplemente arrastrando al panel de control de Cayenne sin escribir apenas código, tanto para el dispositivo IoT como para la parte web  o incluso la app móvil,  pues incluso proporcionan una app multipropósito para controlar su dispositivo IoT.

En esta ocasión  ejemplo  vamos a lo fácil que es crear un monitor temperatura ,humedad y humos  usando Arduino   y la plataforma Cayenne , sin tener conocimientos  de programación consiguiendo controlar o monitorizar  un Arduino o Raspberry Pi    en tan solo unos minutos.

 

En efecto   gracias  a un  framework  genérico desarrollado por  myDevices IO Project Builder llamado Cayenne , los desarrolladores , fabricantes y  también aficionados  pueden  construir rápidamente prototipos y proyectos que requieran controlar o monitorizar   cualquier cosa conectada a una  Raspberry  o un ARduino  , permitiendo con una sóla cuenta gratuita de Cayenne, crear un número ilimitado de proyectos  mediante una solución  muy sencilla  basada en arrastrar y solta.
Obviamente el punto fuerte de Cayenne  son las  capacidades de  IO  para que pueda controlar de forma remota sensores, motores, actuadores, incluidas los puertos  de GPIO con  almacenamiento ilimitado de datos recogidos por los componentes de hardware,   triggers y alertas,  pues  proporcionan las herramientas necesarias para la automatización y la capacidad de configurar alertas. 
Ademas desde el interfaz se puede crear cuadros de mando personalizados para mostrar su proyecto con arrastrar y soltar widgets que también son totalmente personalizables.

Resumidamente algunas  características clave de esta novedosa  plataforma son las siguientes:

  •  Ofrecen una aplicación móvil para configurar, el monitor y los dispositivos de control y sensores desde cualquier lugar.
  • Fácil instalación que conecta rápidamente los dispositivos, sensores, actuadores, y las extensiones en cuestión de minutos.
  • Motor de reglas para desencadenar acciones a través de dispositivos.
  • Panel personalizable con widgets de visualización de arrastrar y soltar.
  • Programación de las luces, motores y actuadores
  •  Control de GPIO que se pueden configurar desde una aplicación móvil o  desde un navegador
  • Acceso remoto instantáneo desde su smartphone o con un ordenador
  • Para construir un proyecto de la IO a partir de cero se ha logrado el objetivo de proporcionar  un Proyecto Generador de IO que reduce el tiempo de desarrollo de horas en lugar de meses.

Sabemos la gravedad que puede suponer un incendio, por lo que es sumamente importante disponer de medidas en los edificios de detección eficaces para protegerlos contra la acción del fuego.

En este post  vamos a intentar abordar el grave problema de los incendios desde una perspectiva completamente diferente usando para ello un Arduino   y  un hardware especifico consistente en un DHT22 , un detector de  gas   junto con  la plataforma  Cayenne.

Tradicionalmente los detectores de incendios difieren en función de los principio de activación siendo los mas habituales los de Tipo Óptico basado en células fotoeléctricas ,las cuales, al oscurecerse por el humo o iluminarse por reflexión de luz en las partículas del humo, disparando una sirena o alarma.Asimismo existen detectores de calor

La solución que se propone se basa en detectores termicos al ser los mas precisos ,al que se ha añadido para aumentar la fiabilidad y mejorar la flexibilidad un doble sensor permitiendo de esta manera poder modificar los parámetros de disparo con un enorme facilidad como vamos a ver aparte de poder transmitir la información en múltiples formatos y formas hasta nunca vistas.

 

Monitorización de gases con Arduino

En esta  ocasión vamos  a ver  cómo monitorizar  temperatura, humedad así como ofrecer a alertas en tiempo real  si suben  las concentraciones de gas o humo respecto al nivel normal usando la plataforma a Arduino (si no dispone de un Arduino , un    proyecto  muy similar  lo  abordamos en este blog  con una Raspberry Pi 2)

Como vamos  a ver es realmente sencillo  construir un proyecto de este tipo  usando la plataforma  Cayenne  y desde luego  muy útil , pues podemos prevenir fuego o incluso  fugas de gas  en cualquier lugar   monitorizando  ademas en tiempo real desde Internet.

El hardware  necesario para este proyecto es el  que describimos  a continuación:

 

Sensor de Co2

Como sensor de humo se ha usado un detector de gases basado en el circuito MQ4 .Este detector se puede montar un circuito con el sensor , o bien se puede adquirir con el sensor y el modulo de disparo con un led ya soldado, lo cual por su bajo coste  (menos de 2€ en Amazon  )es la opción más recomendada. Estos módulos permiten Dual-modo de señal de salida, es decir cuentan con dos salidas diferenciadas:
  • Salida analógica : 0.1 – 0 .3 V (relativa a polución , La máxima concentración se muestra con un  voltaje de 4 V
  • Salida con sensibilidad de nivel TTL (la salida es a nivel alto si se detecta GLP, el gas, el alcohol, el hidrógeno y mas)

Estos módulos son de rápida a respuesta y recuperación ,cuentan con una buena estabilidad y larga vida siendo ideales para la detección de fugas de gas en casa o fabrica .Son ademas muy versátiles , pudiendo usarse para múltiples fines ,detectando con facilidad lo siguientes gases:

  • Gas combustible como el GLP
  • Butano
  • Metano
  • Alcohol
  • Propano
  • Hidrogeno
  • Humo
  • etc.

Algunas de las características del módulo:

  • Voltaje de funcionamiento: 5V DC
  • Rango de Detección: 300 a 10000 ppm
  • Salida TTL señal valida es baja
  • Tamaño: 32X22X27mm

 

Para conectar el  detector de gases a nuestra  placa Arduino, es esta ocasión optaremos por usar el puerto  analógico A0,  que conectaremos a la salida analógica  2 del sensor ( marcado como OUT).

La alimentación del sensor la tomaremos desde cualquiera de las dos conexiones de +5V de nuestra Arduino conectándo al pin 4 del sensor (marcado como +5v) y la conexión de masa pal pin1 del detector ( marcado como GND)

Sensor DHTXX

DHT11 y  DHT22 son dos modelos de una misma familia de sensores, que permiten realizar la medición simultánea de temperatura y humedad usando ademas un único  hilo para comunicar los datos vía serie, para lo cual  ambos  disponen de un procesador interno que realiza el proceso de medición, proporcionando la medición mediante una señal digital, por lo que resulta muy sencillo obtener la medición desde un microprocesador como Arduino o ESP8266.

Ambos son similares ( DHT11 presenta una carcasa azul  , mientras que el sensor DHT22  es blanco)  compartiendo además los mismos pines  disponiendo de  4 patillas, de las cuales usaremos sólo 3: Vcc, Output y GND.  Como peculiaridad ,la  salida la conectaremos a una entrada digital  , pero necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output.

El  DHT11  puede medir temperaturas entre 0 a 50, con una precisión de 2ºC, humedad entre 20 a 80%, con precisión del 5% y con una a frecuencia de muestreo de 1 muestras por segundo (1 Hz)

En clara superioridad  con el dHT11 , el modelo DHT22 tiene unas características mucho más profesionales.
  • Medición de temperatura entre -40 a 125, con una precisión de 0.5ºC
  • Medición de humedad entre 0 a 100%, con precisión del 2-5%.
  • Frecuencia de muestreo de 2 muestras por segundo (2 Hz)

Destacar que este tipo de  sensores de temperatura  ( y, aún más, los sensores de humedad) , son sensores con elevada inercia y tiempos de respuesta elevados. Es decir, al “lentos” para reflejar los cambios en la medición.

Conectar el DHT11   o el DHT22  a  un Arduino o ESP82366  es sencillo, simplemente alimentamos desde Arduino al sensor a través de los pines GND y Vcc del mismo. Por otro lado, conectamos la salida Output a una entrada digital de Arduino como por ejemplo el pin 22  (No necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output al llevarla ya  integrada la placa ).

El esquema eléctrico queda como la siguiente imagen:

 

Los sensores DHT11 y DHT22 usan su propio sistema de comunicación bidireccional mediante un único hilo , empleando señales temporizadas por lo que en general, lo normal es que empleemos una librería existente para simplificar el proceso.Por ejemplo podemos usar la librería de Adafruit disponible en este enlace.

En este ejemplo como podemos  en el esquema final ver, el pin  digital usado es el el pin 22

Como realmente  lo que buscamos es controlar los puertos del GPIO  a distancia y mediante un interfaz gráfico remoto, para comenzar la configuración de su Arduno   ,lo primero es crear una cuenta gratuita en cayenne-mydevices.com que servirá tanto para entrar en la consola web como en la aplicación móvil.

Para ello, vaya a la siguiente url  e introduzca simplemente su nombre ,dirección de correo y una clave de acceso  que  utilizara para validarse.

paso1.png

Una vez registrado , solamente tendrá que elegir la plataforma  para avanzar en el asistente. Obviamente   seleccionamos  en nuestro caso   Arduino

paso2.png

El  siguiente pasos es obtener el Token para nuestro Arduino , el cual copiaremos en nuestro skecth

 Cargar Sketch

Necesitaremos    añadir el valor del token de Cayenne al obtenido  en el paso anterior  y cargar el  siguiente código .(fuente MQ2)

#include “CayenneEthernet.h”
#include “DHT.h”

#define DHTPIN 22
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

char token[] = “”; //fill with your token

const int MQ2 = A0;

void setup()
{
Serial.begin(115200);
Cayenne.begin(token);
dht.begin();
}

void loop()
{
Cayenne.run();
}

CAYENNE_OUT(V0)
{
float t = dht.readTemperature();
Cayenne.virtualWrite(V0, t); //virtual pin
}

CAYENNE_OUT(V1)
{
float h = dht.readHumidity();
Cayenne.virtualWrite(V1, h); //virtual pin
}

CAYENNE_OUT(V2) {
Cayenne.virtualWrite(V2, MQ2);
}

 Configuración Cayenne

Montado ya el circuito y cargado el firmware de Arduino  ( y por supuesto conectado este a Internet ) , lo siguiente es, configurar el panel de control de  Cayenne  y  añadir un widget para sensor de gas MQ2 al pin virtual 2.

 

Picture of Setup Cayenne Dashboard

Si ha seguido todos los pasos anteriores tendremos en la consola de Cayenne nuestra placa Arduino  con la información en tiempo real de la temperatura o detección de gas.Ademas, por si fuera poco gracias a la aplicación móvil  de Cayenne , también podemos ver en esta en tiempo real lo que están captando los sensores que hemos instalado

Pero aunque el resultado es espectacular todavía nos queda una característica para que el dispositivo sea inteligente : el poder interaccionar ante los eventos de una forma lógica,lo cual lo haremos a través de lo triggers , los cuales nos permitirán desencadenar acciones ante cambios en las variables medidas por los sensores.

A la hora de definir triggers en Cayenne podemos hacerlo tanto desencadenado acciones como pueden ser enviar corres de notificaciones o envio de SMS’s a los destinatarios acordados o bien actuar sobre las salidas.

Para definir un disparador en myTriggers, pulsaremos “New Trigger” y nos presentara dos partes:

  • IF ; aqui arrastraemos el desecadenante, lo cual necesariamene siempre sera la lectura de un sensor ( en uestro caso el termometro o el detector de gas)
  • THEN: aqui definiremos lo que queremos que se ejecute cuando se cumpla la condición del IF. Como comentábamos se pueden actuar por dos vías : se puede activar /desactivar nuestra actuador ( el buzzer) o también enviar correos o SMS’s

En este caso   puede establecer   el trigger para MQ2 sensor de gas  si el valor supera el valor  500,  que  entonces de  una alerta a su teléfono móvil.

 

Picture of Setup Cayenne Dashboard
Picture of Setup Cayenne Dashboard

 

Es obvio que las posibilidades son infinitas ( y las mejoras de este proyecto también), pero desde luego un circuito así es indudable la gran utilidad que puede tener.¿Se anima a replicarlo?

 

Fuente  parcial  instructables.com