19 de octubre de 2015

ALEGORÍA DE LAS ESTANTERÍAS Sobre las relaciones interpersonales


   1.     Prólogo

Durante mucho tiempo he intentado dar sentido a muchos de los cambios más o menos drásticos, dolorosos, sorprendentes, excitantes… y podría seguir enumerando sensaciones o situaciones, que han ido ocurriendo a lo largo de mi vida en lo relativo a relaciones con mis semejantes…Intentando entender el  porqué de lo que ocurre, quizás, con el objeto de sentir que uno posee cierto control, ante un descontrol que la mayoría de las veces te supera como individuo.

Tras mucho tiempo, uno le ha ofrecido un pensamiento al problema, después dos…finalmente, tal vez cien…y a veces así, se llega a algún lugar. En mi caso, llegué a la “Alegoría de las Estanterías”.

Por definición, una alegoría es una figura literaria que pretende representar una idea valiéndose de formas humanas, animales o de objetos cotidianos…y esa va a ser mi intención a partir de ahora…darle un sentido a este tema partiendo de un objeto realmente cotidiano como puede ser un mueble con estanterías, entendiendo cómo introducimos, reordenamos, accedemos o retiramos elementos de él.

Hablar sobre relaciones interpersonales es hablar sobre algo demasiado amplio, complejo y genérico. Cuando aludo a este término o concepto, me refiero básicamente a la importancia, necesidad y nivel de compromiso, que queda reflejado en esa especie de contrato, que pactamos cuando nos topamos frente a frente con otra persona.

Tendemos a pensar que ese contrato será indefinido y, llegado el punto de romperse o tener que modificarse, generará en la mayoría de los casos, un sinfín de sensaciones personales que serán complicadas de gestionar. Desde felicidad, a tristeza, pasando por situaciones de ansiedad, incredulidad o ira…

Uno de los motivos más frecuentes por los que las relaciones interpersonales se ven alteradas, es por el hecho, de que pensamos que la forma de actuar de nuestros semejantes coincide, con la que desarrollaríamos nosotros mismos en las diferentes situaciones…Concebimos instintivamente, que ante un problema, o mejor digamos situación, si nosotros, usando la “lógica” llegamos a una determinada conclusión, ese es el único destino de todos los caminos que puedan recorrer otros…o al menos, así queremos creerlo.  

   2.     Estanterías

Un mueble de estanterías no es más que un objeto que usamos para almacenar y ordenar todo lo que vamos teniendo, necesitando o queriendo tener presente en nuestro día a día. De forma natural, cuando tenemos por primera vez esta estantería delante, vamos colocando los diferentes objetos que queremos incluir en ella, no de forma aleatoria o caótica, sino ordenada, con sentido…quizás nuestro sentido, que sólo nosotros entendemos, pero con sentido.

Y qué viene a significar dentro de todo esto, la estantería. Es fácil, desde que nacemos y vamos teniendo uso de razón, van incorporándose a nuestra vida, multitud de personajes, con diferentes roles y cualidades. A medida que van llegando nosotros, de forma automática, les vamos asignando una posición en nuestras estanterías…lo normal es que sea la intuición, en primer lugar, la que nos ofrezca la ubicación inicial. Digamos que, estas “estanterías”, son una forma sencilla de asignar importancia, accesibilidad y preferencia a las personas que nos rodean e interactúan con nosotros.

   3.     Tipología de los estantes

No todos los estantes son iguales en un mueble de estanterías. Es por esto que vamos a definir varios tipos de estantes. Esto no significa que sean los únicos tipos de estantes que podamos definir, únicamente van a ser con los que empezaríamos a comprender todo ese lío.

3.1  Estantes Tipo A: Importancia alta, protección elevada, acceso especial…
Vamos a mirar una estantería normal y corriente. Dirigiremos nuestra mirada ahora, a su parte superior, arriba del todo. En esos estantes se encuentran objetos que aun siendo importantes, no le damos uso a diario. No sería difícil ponerse un poco de puntillas o subirse a un pequeño taburete para tener acceso a ellos. A veces, incluso se encuentran encerrados entre puertas de cristal que permiten verlo pero que además les confieren una determinada protección. Digamos que es el lugar para elementos importantes en nuestra vida, a los que recurrimos en situaciones especiales, pero que siempre deseamos tenerlos presentes o a la vista.

Llegado a este punto, es evidente que cada uno puede pensar a quien incluiría en estos estantes. Es clara la idea de que las experiencias y situaciones personales van a ser determinantes…no obstante intentaré no entrar en casuísticas muy especiales.

Teniendo esto en cuenta, pienso que este estante es un lugar bastante apropiado para los padres o hijos. Suelen tener una implicación alta en nuestra vida, condicionándonos en más o menos medida y para muchos de las situaciones en las que necesitamos de alguien, y sobre todo con una determinada edad, preferimos acudir a amigos o parejas, ahí el hecho de que se hayan ubicado en un lugar accesible pero no instantáneo y con cierto grado de protección.

3.2  Estantes Tipo B: Importancia alta, protección elevada, acceso alto…
Justo por debajo de los estantes tipo A, encontramos los estantes tipo B. Al igual que los anteriores, estos estantes gozan de una altura superior a la normal pero aumentando el nivel de accesibilidad. Digamos que es fácil tomar algo de estos estantes, pero siguen siendo pocos los elementos que encontramos en estos estantes.
Podríamos situar en estos estantes figuras como hermanos, familiares muy cercanos o parejas, por ejemplo. Vuelvo a repetir que cada uno decide la ubicación personal…

3.3  Estantes Tipo C1…: Importancia media-alta, protección media-alta, acceso medio-alto…
Estos están justo al nivel de la mano, poseen una importancia media-alta y el acceso es muy frecuente. Podríamos ubicar aquí, a los “mejores amigos”, esos que pensamos que siempre van a estar ahí…

3.4  Estantes Tipo C2, C3, C4…: Importancia media, protección media, acceso medio…
Por debajo de los estantes C1…podríamos definir subniveles inferiores que irían decreciendo en importancia, accesibilidad y protección. Hay podrían estar aquellas amistades que sin ser parte imprescindible de nuestras vidas, forman parte de ella e interactúan con nosotros en mayor o menor medida.

3.5  Estantes Tipo D: Importancia baja, protección baja, acceso bajo…
Es muy probable que en la parte más baja de nuestro mueble de estanterías nos encontremos unos cajones. Estos espacios suelen ser lugar idóneo para un batiburrillo de cosas que no sabemos dónde ubicar con claridad pero que deben “estar” en nuestra vida…Por ejemplo, gente con la que coincidimos cuando salimos por cierto lugares y que ni esperamos que estén, ni que no estén, pero con la que uno llega a tener relación.

3.6  Caja de bultos.
Como definirla…cuando tenemos un montón de bultos que no queremos tener presente y no sabemos qué hacer con ellos…los metemos en una caja y de forma instantánea se pierden de vista debajo de la cama…en este punto, seguro que cada uno sabe ya lo que quiere meter en esta caja…



  4.     Reposicionamiento en las estanterías


En este punto, la situación es la siguiente: hemos analizado cada una de las personas que integran nuestro círculo vital y las hemos posicionado dentro de las mencionadas estanterías. Miramos la estantería y nos transmite tranquilidad, todo está en su sitio, todo es como “debe” ser. Todos los “contratos” están cerrados y todo funciona…Es entonces cuando un hecho, circunstancia o situación obliga a modificar dicha situación. Pondremos un ejemplo bastante frecuente. Llevamos años conviviendo con nuestra pareja, nos conoce, nos ayuda, está ahí…en el estante tipo B…y de un día para otro, esta relación se rompe…Ahora toca decidir donde reubicar este elemento dentro de las estanterías… 

El hecho de tener que mover algo se sitio puede crear un conflicto o no. A veces es muy sencillo recolocar dicha figura de la estantería B a una de las estanterías C…el transito es tranquilo y llevadero. Pero otras veces la situación te obliga al cambio, sin que tú quieras realizarlo y, es más…el único sitio disponible y válido es la caja de los bultos… 

¿Qué quiero decir con esto? Sería una posición inteligente asumir que los cambios dentro de las estanterías no sólo podrían producirse, sino que, de hecho, lo van a hacer…algunas veces por iniciativa propia y a veces sin ella. No todo es negativo, tengamos en cuenta que muchas veces elementos de estanterías C3…pasan a C2…C1…inclusive a B. Debe ser percibido tanto lo negativo como lo positivo, aunque para lo único que estamos dispuestos a preocuparnos, evidentemente es para lo negativo.

   5.     Velocidad de reposición o necesidad de ver  llenas las estanterías.

Pienso que es condición humana es ser impaciente cuando esperamos que algo ocurra. No es normal decir, “esto ocurrirá cuando tenga que ocurrir” o,  al menos es difícil sentirlo así.

Coloquémonos frente a las estanterías, y miremos ahí, sí…ahí…un hueco…Tenemos un par de opciones…pensar que debemos buscar algo para que ocupe ese hueco o decir, bueno, tengo un hueco que seguro me vendrá de lujo para algo que en algún momento tendré que poner en mis estanterías…La diferencia entre las dos situaciones es clara…una proporciona estabilidad y calma y la otra todo lo contrario. Supongo que uno puede modificar su pensamiento de una a otra posibilidad según el día…es lo que llamo la montaña rusa de sensaciones…que uno no sabe cuándo sube o cuando baja…Si alguna vez has estado en esa situación, seguro que sabes de lo que hablo.

El llenar las estanterías con precipitación puede tener éxito, aunque también puede ser uno de los errores más grandes que se puede cometer...ya que estaríamos ubicando en nuestras estanterías un elemento que en el caso más seguro, va a necesitar una reubicación…

   6.     Dos objetos…un solo lugar…


¡Que terrible situación no tener espacio para todo lo que se quiere! ¿Y ahora qué? Volvemos a la situación de calma…y de repente aparece algo en nuestras manos que tenemos que “almacenar”…pero, en el lugar ideal para él, está ya ocupado…lo cambias…te alejas de la estantería…la miras…pero no, no es la solución…vuelves a cambiar…vuelves a alejarte…el resultado no te convence…intentas que los dos compartan hueco…pero imposible…siempre uno de los dos queda tan al borde del estante que corre el riesgo de caer…
Decidir…una de las grandes batallas que, en la mayoría de los caso no queremos librar…

7. Ubicación temporal consciente...

 A veces, en la vida real, puede llegar a nuestras manos algo que debamos ubicar en nuestras estanterías. Por seguir poniendo trocitos a la alegoría, pensemos que nos prestan un libro, y decidimos leerlo. Ese libro debe ser ubicado en algún lugar donde no nos modifique el equilibrio obtenido, pero que a su vez, durante el tiempo que estamos disfrutando de su lectura tengamos un acceso más bien directo...quizás una estantería C2 sería apropiada...quizás sería ese libro que no pones en la estantería sino directamente delante de tus objetos ordenados...quizás, incluso pudiera tener su hueco dentro de estas, pero hasta no ser leído, no es posicionado con claridad...quizás sabes que después de leerlo, ese libro volverá a manos de su propietario...será uno de esos libros que leíste, de que tienes opinión pero que no conservas físicamente en tus estanterías. Amistades de verano, vacaciones...acompañantes en viajes organizados, relaciones puntuales, relaciones puntuales sin duración determinada, conocimiento inicial de personas del entorno cuya posición aun no has decidido...ubicación temporal consciente...



….¿FIN?...
Bueno…tan sólo es un primer boceto de una idea que he querido plasmar en algún soporte que no sea mi cabeza…seguiré leyéndola…releyéndola y quizás modificándola y escribiéndola mejor…



1 de junio de 2015

Arduino Mega 2560 + YUN Shield + AVR Atmel Studio v6.2

En primer lugar explico como instalé y configuré el Yun Shield en el Arduino Mega...

  • Como una de las finalidades será usar el módulo Yun para programar el arduino, será necesario que este permanezca en modo reset todo el tiempo, ya que así será yun quien se encargue de la tarea. Para ello deberemos poner un junper en arduino en la posición...
  • Insertar físicamente Yun Shield sobre el Arduino. (Mi versión de yun es la v1.2)
  • Alimentar el Arduino con un alimentador externo de 5V. No vale alimentarlo con los 5v del conector usb del ordenador.
  • Al tiempo, y no hablo de algunos segundos...tarda un poco...aparecerá una red wifi, generada por el yun...será un nombre...en mi caso iduino, seguido de un número, apuntad ese número, ya que es el identificador MAC, que localizará a Yun y al arduino.
  • Desde el ordenador, que debe tener posibilidad de conectarse vía wifi, nos debemos conectar a la nueva red.
  • Una vez conectados, iremos al explorador y nos direcionaremos a la ip 192.168.240.1 , que es la que toma por defecto yun. En este momento para entrar en la configuración del yun, nos pedirá una contraseña...por defecto es "iduino".
  • Una vez dentro de la configuración del Yun, entraremos en System...allí configuraremos la zona horaria (timezone). Esto es útil si en nuestro proyecto queremos acudir a una hora válida y vamos a tener el arduino conectado a internet vía yun.
  • Buscamos en el apartado de red la red a la que queramos conectar el yun y le  configuramos también la contraseña para acceder a ella. Aplicamos la configuración y reseteamos.
  • En estos momento Yun debería conectarse a la red que le hemos configurado. Hay que decir que el ruoter debería estar configurado para permitir el acceso de yun, ya sea vía mac o DCHP...
  • Si desconocemos la ip que le ha asignado el router al yun deberemos entrar y buscar en la configuración del router...recordad que la mac del yun aparecía en el nombre de la red que generó al principio.
Una vez hecho este propceso ya podremos conectarnos a nuestro arduino a través del yun y usar la aplicación nativa AVR de arduino. Pero antes de esto tenemos que configurar un poco el AVR.
  • Nos dirigiremos a la carpeta donde tengamos instalado el AVR...hasta encontrar el archivo boards.txt . En mi caso es C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt
  • AL final del archivo vamos a incluir el siguiente texto:
    ##############################################################

    mega2560Yun.name=Arduino Mega 2560 (YUNSHIELD)
    --
    Dragino Yún
    mega2560Yun.upload.via_ssh=true
    mega2560Yun.vid.0=0x2341
    mega2560Yun.pid.0=0x0044
    mega2560Yun.vid.1=0x2341
    mega2560Yun.pid.1=0x003f
    mega2560Yun.upload.tool=avrdude
    mega2560Yun.upload.protocol=arduino
    mega2560Yun.upload.maximum_size=258048
    mega2560Yun.upload.maximum_data_size=8192
    mega2560Yun.upload.speed=57600
    mega2560Yun.upload.disable_flushing=true
    mega2560Yun.upload.use_1200bps_touch=true
    mega2560Yun.upload.wait_for_upload_port=true
    mega2560Yun.bootloader.tool=avrdude
    mega2560Yun.bootloader.low_fuses=0xff
    mega2560Yun.bootloader.high_fuses=0xd8
    mega2560Yun.bootloader.extended_fuses=0xfd
    mega2560Yun.bootloader.file=stk500v2/stk500boot_v2_mega2560.hex
    mega2560Yun.bootloader.unlock_bits=0x3F
    mega2560Yun.bootloader.lock_bits=0x0F
    mega2560Yun.build.mcu=atmega2560
    mega2560Yun.build.f_cpu=16000000L
    mega2560Yun.build.board=AVR_MEGA2560
    mega2560Yun.build.core=arduino
    mega2560Yun.build.variant=mega
    ##############################################################
  • Salvaremos el archivo y cerraremos...
  • Abriremos ahora el AVR, nos desplazaremos hasta el menú Herramientas, allí volveremos a seleccionar la placa...esta vez deberíamos ver una placa llamada Arduino Mega 2560 (YUNSHIELD)...que es la que seleccionaremos...
  • Tras esto iremos al apartado puertos...allí debería de haber aparecido un nuevo puerto...
     Una vez configurado esto ya podríamos enviar nuestros sketch vía yun a nuestro arduino.

    Por último es posible que estemos usando un framework de apollo como AVR Atmel Studio, lo cual es buena idea. Yo uso la versión v6.2...hay mucho manuales para instalarla y no tiene muchos problemas así que no entraré en estos detalles. Enlace

    Lo que sí comentaré, ya que me dio mas de un quebradero de cabeza es la forma de interactuar con el arduino vía yun... ya que mucho muestran como configurar versiones anteriores pero esta es más fácil...sobre todo si se sabe como hacerlo.
     
    • En primer lugar, y como hicimos en el AVR, deberíamos elegir el arduino que estamos usando, y debería aparecer el mismo que en el AVR  Arduino Mega 2560 (YUNSHIELD). El problema es que a la hora de elegir el puerto no vemos el puerto ethernet o wifi del yun, que esta conectado al arduino.
    • Abriremos o crearemos un proyecto...
    • Si no lo tenemos visible, tendremos que abrir el explorador "Solution Explorer". Para ello nos dirigiremos al menú View y ahí pincharemos en "Solution Explorer".
    • Una vez abierto veremos un árbol con la configuración de nuestro proyecto...pincharemos con el botón derecho sobre el nombre de nuestro proyecto y en el menú desplegable abriremos las propiedades del proyecto...
    • En la sección Properties bajaremos hasta el final, subsección MISC...ahí configuraremos el parámetro UPLOAD PORT...con la ip de nuestro YUN...y en la ventanita del puerto de upload debería lucir dicha dirección....ya podemos subir nuestro código con el Atmel Studio y vía Yun.


Como escuchar Spotify en tu ordenador sin publicidad

Lo cierto es que lo descubrí por casualidad cuando, llevaba ya tiempo escuchando música a través de la plataforma, y alguien me dijo...¿a mi es que lo de la publicidad me corta el punto?....y respondí, ¿pues a mi no me parece haber escuchado publicidad. Así que me puse a buscar el porqué de aquello.

El combo es sencillo....

  • Se baja uno si no lo tiene ya, el explorador Mozilla FireFox. Enlace
  • Una vez instalado, nos dirigimos al menú Herramientas y allí Complementos. En la esquina superior derecha tenemos la típica sección de búsqueda...si en la instalación no le hemos dicho que lo instale, buscamos e instalamos el complemento Add Block Plus...ABP... Si está instalado debeis ver un simbolo como un stop en la parte superior derecha del navegador con las letra ABP dentro.
  • Ahora, en vez de instalarnos o usar el software que nos ofrece spotify, vamos a usar el reproductor web. Para ello nos dirigimos a Reproductor Spotify Web . Si no tenéis usuario registrado, os registráis, yo use mi perfil de facebook.
  • Con esto está todo...ABP se encargará de que no se escuchen los molestos anuncios...

14 de mayo de 2015

Control y Monitorizacion de Huerto Parte II: Arduino MEGA2560 y sensores

ESPECIFICACIONES INICIALES MEGA 2560
Este es el modelo de arduino con el que vamos a intentar ir desarrollando el proyecto. De todas las especificaciones de la placa, vamos a resaltar algunas que vamos a tener presentes desde el principio:
  • 54 DI/DO (Digital Input/Digital Output)
    • 02-13 PWM (tienen posibilidad proporcionar salidas alimentadas) I/O: 5V-40mA
      IMPORTANTE:
      Estos pines pueden ser usados como AI/AO.
      Hay que saber que aunque cada pin individual PWM está habilitado para ofrecer 40mA.Arduino agrupa la os pines tomando como restricción que ofrezcan a lo sumo 100mA(0,1,2,3,4) y 100mA(5,6,7,8,9,10,11,12,13).
    • 22-53 DIGITALES si alimentación. I/O: 5V-40mA/5V
  • 16 AI (Analog Inputs)
    • A01-A15
      Pueden recibir voltajes en el rango 0-5V. La placa solo trabaja de forma digital, por lo que incorpora a cada canal un conversor analógico-digital de 10bits.
      NOTA: los pines hembra AI pueden ser usados totalmente como DI/DO numerándose entonces como 14-28.


  •  4 TTL-UART (Puertos Serie por Hardware)
    • (TX0,RX0),(TX1,RX1),(TX2,RX2),(TX3,RX3)
  • Conexión USB,Conexión ICSP
  • Botón RESET.
ALIMENTACIÓN
La placa Arduino Mega trabaja bajo un voltaje de 5V. Dicho voltaje podemos ofrecerlo de varias formas:
  • USB: La forma más sencilla sera conectarlo al ordenador, a través de un puerto USB. El puerto controlará el voltaje a 5V y ofrecerá un consumo máximo de 500mA. En este caso la potencia máxima consumida por la placa no excederá de los 2,5W. En caso de ser sobrepasado el límite, la placa cuenta con un fusible reseteable que interrumpirá las comunicaciones hasta que desaparezca el motivo por el que se activó. Si se usa esta forma de alimentación, es clara la necesidad de calcular el consumo necesario, sobre todo en proyectos con elementos que consumen mucha potencia.
  • FUENTE EXTERNA: Hablamos en este caso de alimentar la placa con un transformador AC/DC o con una batería. La conexión puede realizarse al conector tipo jack 2,1(Exterior-,Interior+) o a los bornes Vin(+) y GND(-) de la placa. En este caso la placa esta preparada para recibir un voltaje de 6-20V aunque lo recomendable es 7-12V. La placa ya se encarga de acomodar este sobrevoltaje a 5V.
    Se debe saber que si la placa está conectada mediante el jack, el borne Vin ofrecerá 5V y 40mA, que pueden ser usados para alimentar algún elemento consumidor externo.
    Idéntica funcionalidad tenemos en el borne llamado 5V.
    El borne 3,3V ofrece este voltaje y un amperaje de 50mA.
SENSORES

Nuestro objetivo es controlar un huerto/invernadero. Tendremos que pensar que variables me gustaría controlar y buscar los posibles elementos que me posibiliten dicho control. Enumeremos las variables y posteriormente veremos que sensores, usaremos.
  1. Luminosidad o intensidad de luz que reciben las plantas.
  2. Temperatura del entorno.
  3. Temperatura dentro del huerto/invernadero.
  4. Humedad relativa del ambiente.
  5. Humedad del suelo.
  6. Nivel de liquido en depósitos, quizás abono, quizás agua...
La información de los sensores que escribo a continuación ha sido extraída de varias paginas web, sobre todo de venta de dichos sensores. No es complicado encontrar bastante mas información de cada uno de ellos.
SENSOR DE LUMINONSIDAD: TSL2561

El Lux Sensor TSL2561 es un sensor de luz digital avanzada, ideal para utilizarse en un amplio rango de aplicaciones. Comparado con las fotoceldas CdS de bajo costo, este sensor es más preciso, permitiendo cálculos exactos de luz y puede ser configurado sobre la marcha con diferentes rangos de ganancia para detectar rangos de luz de hasta 0.1 . 40,000+. La mejor parte de este sensor es que contiene diodos tanto en el espectro infrarrojo como en el completo. Esto significa que permite realizar mediciones separadas de luz infrarroja y de espectro completo o luz visible al ojo humano. La mayoría de los sensores pueden detectar solo una de las dos.
El sensor tiene una interfaz digital I2C. Puedes seleccionar una de las tres direcciones para que así puedas tener hasta tres sensores en el microcontrolador, cada uno con una dirección I2C diferente. El consumo de corriente es extremadamente bajo, así que es perfecto para registro de datos de baja potencia (alrededor de 0.5mA al detectar actividad y menos de 15uA en modo apagado).  
Características: 
  • Se aproxima a la respuesta del ojo humano
  • Medidas de iluminación precisas en diversas condiciones de luz 
  • Rango de temperatura: -30 to 80 *C
  • Rango dinámico (Lux): 0.1 to 40,000 Lux
  • Rango de voltaje: 2.7-3.6V
  • Interfaz: I2C
  • Esta tarjeta/chip utiliza direcciones I2C de 7-bits 0x39, 0x29, 0x49, seleccionable con jumpers.

SENSOR DE TEMPERATURA EXTERIOR TMP36
El TMP36 es el sustituto del LM335A y es un sensor de temperatura analógico muy popular y sencillo de utilizar. Funciona como un diodo Zener con un voltaje de corte proporcional a la temperatura absoluta con un rango de 10mV/ºK. Conecta una resistencia desde 5V a GND y el sensor te dará en su salida un voltaje que podrás medir con el ADC de tu microcontrolador favorito y también con Arduino. La salida del sensor es lineal por lo que no tendrás que hacer calculos de conversión. Puede operar de -40ºC a 100ºC.

Para obtener un menor margen de error (típico de 1%), debes calibrar el sensor. Consulta el datasheet.
Características:
  • Calibrado en grados Kelvin
  • Funciona desde: 400 μA a 5 mA
  • Impedancia: Menos de 1Ω
  • Fácil calibración con pin de ajuste
  • Temperatura de funcionamiento: -40 a 100 ºC

SENSOR DE HUMEDAD EN SUELO OCTOPUS


Sensor de humedad Octopus, puede leer la humedad presente en el suelo que lo rodea. Es un sensor de baja tecnología, pero ideal para monitorear un jardín urbano, o el nivel de agua de sus plantas. Esta es una herramienta indispensable para un jardín conectado!

Este sensor utiliza las dos sondas para pasar corriente a través del suelo, y luego lee la resistencia para obtener el nivel de humedad. Más agua hace que la electricidad circule por el suelo más fácilmente (menos resistencia), mientras que el suelo seco conduce la electricidad mal (mayor resistencia).
Specification
  • Power supply: 3.3v or 5v
  • Output voltage signal: 0~4.2v
  • Current: 35mA
  • Pin definition:
  • Analog output(Yellow wire)
  • GND(Black wire)
  • Power(Red wire)
NOTA: Con objeto de evitar en la medida de lo posible los efectos de la electrólisis en el sensor habilitaremos junto a este un relé que solo deje pasar la electricidad cuando vaya a ser tomada la lectura.

SENSOR DE TEMPERATURA y HUMEDAD INTERIOR DHT11
Los sensores DHT11 nos permiten medir la temperatura y la humedad. A diferencia de otros sensores, éstos los tendremos que conectar a pines digitales, ya que la señal de salida es digital. Llevan un pequeño microcontrolador interno para hacer el tratamiento de señal.

¿Cómo funcionan?

Se componen de un sensor capacitivo para medir la humedad y de un termistor. Están calibrados por lo que no es necesario añadir ningún circuito de tratamiento de señal. Esto sin duda es una ventaja porque nos simplifica las cosas en la protoboard. Además, como los DHTxx han sido calibrados en laboratorios, presentan una gran fiabilidad.

Funcionan con ciclos de operación de duración determinada de 1s. En este tiempo, el microcontrolador externo (Arduino por ejemplo) y el microcontrolador que lleva integrado el sensor, se hablan entre sí de la siguiente manera:
  • El microcontrolador (Arduino) inicia la comunicación.
  • El sensor responde estableciendo un nivel bajo de 80us y un nivel alto de 80us.
  • El sensor envía 5 bytes.
  • Se produce el handshaking.
A modo resumen, las características de cada uno de los sensores las resumimos en la siguiente tabla:
Parámetro DHT11
Alimentación 3Vdc ≤ Vcc ≤ 5Vdc
Señal de Salida Digital
Rango de medida Temperatura De 0 a 50 °C
Precisión Temperatura ±2 °C
Resolución Temperatura 0.1°C
Rango de medida Humedad De 20% a 90% RH
Precisión Humedad 4% RH
Resolución Humedad 1%RH
Tiempo de sensado 1s
Tamaño 12 x 15.5 x 5.5mm

SENSOR DE NIVEL HC-SR04
El sensor de ultrasonidos se enmarca dentro de los sensores para medir distancias o superar obstáculos, entre otras posibles funciones.
En este caso vamos a utilizarlo para la medición de distancias. Esto lo consigue enviando un ultrasonido (inaudible para el oído humano por su alta frecuencia) a través de uno de la pareja de cilindros que compone el sensor (un transductor) y espera a que dicho sonido rebote sobre un objeto y vuelva, retorno captado por el otro cilindro.
Este sensor en concreto tiene un rango de distancias sensible entre 3cm y 3m con una precisión de 3mm.

¿Qué recibimos en el sensor? 

El tiempo que transcurre entre el envío y la recepción del ultrasonido.

¿Cómo vamos a traducir dicho tiempo en distancia?

 Aprovechando que la velocidad de dicho ultrasonido en el aire es de valor 340 m/s, o 0,034 cm/microseg (ya que trabajaremos con centímetros y microsegundos). Para calcular la distancia, recordaremos que v=d/t (definición de velocidad: distancia recorrida en un determinado tiempo).
De la fórmula anterior despejamos d, obteniendo d=v·t, siendo v la constante anteriormente citada y t el valor devuelto por el sensor a la placa Arduino.
También habrá que dividir el resultado entre 2 dado que el tiempo recibido es el tiempo de ida y vuelta.

8 de mayo de 2015

Control y Monitorizacion de Huerto Parte I: Instalación y Comunicación entre LabView y Arduino MEGA 2560

ARDUINO MEGA 2560




OBJETIVO 

Como bien muestra el título, el objetivo es controlar un huerto, dividido en varias zonas de cultivo, que, concretaremos más adelante. Además el huerto será cerrado, por lo que también controlaremos las variables externas, internas y de seguridad, como el control de presencia.

Nuestra intención es conectar arduino, al un pc mediante USB, en principio, controlándolo y recibiendo sus señales mediante el software LabView, despues tendremos que conseguir conectar dicho software a un servidor web con una base de datos Mysql, para que quede registro de todo y accesible desde el exterior del sistema vía web...¡esperemos que no sea demasiado!

HARDWARE

El hardware que vamos a usar será:
-Ordenador PC corriendo bajo windows 7 y con recursos suficientes.
-Placa arduino MEGA 2560. Es la que posee mayor numero de posibles conexiones.
-Sensores de temperatura, humedad, volumétricos...más adelante nos plantearemos que vamos a necesitar y ajustaremos el número.

SOFTWARE

El software que vamos a usar, será libre o sujeto a licencia de prueba de varios días.
-LabView 2014, citaremos su web, www.ni.com , LabVIEW es una plataforma de programación gráfica que ayuda a ingenieros a escalar desde el diseño hasta pruebas y desde sistemas pequeños hasta grandes sistemas. Ofrece integración sin precedentes con software legado existente, IP y hardware al aprovechar las últimas tecnologías de cómputo. LabVIEW ofrece herramientas para resolver los problemas de hoy en día y la capacidad para la futura innovación, más rápido y de manera más eficiente.
-WAMP, que nos dotará de un servidor apache y una base de datos MySQL.

DESCRIPCIÓN DEL PROCESO

PASO 1:Instalación del software NI LabView 2014 en el ordenador.

PASO 2:Descargar e instalar NI-VISA.

Yo voy a instalar la versión 14.0.1, que es la ultima que se adapta a Windows 7. Son 643 Mb, es buena idea usar un software de descarga como JDownloader. Yo he tenido que registrarme en National Instruments...

Link a web de descarga oficial TODOS LabView
Link a version 14.0.1

Virtual Instrument Software Architecture (VISA) es un estándar para la configuración, programación y resolución de problemas en sistemas de instrumentación, que comprende las interfaces GPIB, VXI, PXI, Serial, Ethernet, y / o USB. VISA proporciona la interfaz de programación entre los entornos de hardware y de desarrollo, como LabVIEW, LabWindows / CVI y Measurement Studio para Microsoft Visual Studio. NI-VISA es la implementación de National Instruments de la norma VISA E / S. NI-VISA incluye bibliotecas de software, servicios interactivos, como NI de E / S de seguimiento y el Control Interactivo VISA y programas de configuración a través de Measurement & Automation Explorer para todas sus necesidades de desarrollo. NI-VISA se envuentra de serie en toda la línea de productos de National Instruments. Con NI-VISA, usted puede estar seguro de que su desarrollo de software no se convertirá en obsoleto cuando sus necesidades de hardware de interfaz de instrumentación evolucionan hacia el futuro.

Una vez instalado el controlador debemos verlo en LabView...

PASO 3: Instale JKI VI Package Manager (VIPM) Community Edition
LINK de Descarga

PASO 4: Instalar la interfaz para Arduino usando el kit JKI VI.
1. Asegurarse de tener la ultima versión del paquete JKI VI.
2. Abrir el software del paquete VIPM o VI Package Manager. Si al ejecutarlo, falla, lo más probable es que tengamos algún problema de configuración en LabView. De ser así, ver ARTÍCULO. Si no, al abrirlo se descargaran los archivos necesarios del ftp de NI LabView, de forma automática.
3. Buscar en el explorador del JKI VIPM el paquete llamado LabView Interface for Arduino, en mi caso, la versión que aparece es la 2.2.0.79



4. Teniéndolo seleccionado, hacer click en el botón Install Packages.Dejar que se descargue e instale, aceptando los comentarios que van saliendo.

5. Click Finish. Verificamos que todo ha salido de forma correcta. Reiniciar si estaba abierto el LabView.

La interfaz de LabVIEW para Arduino ya está instalada en su sistema. Una vez instalado el kit de herramientas puede utilizar VIPM para comprobar las actualizaciones de la misma. Cuando haya una actualización del kit de herramientas el icono en VIPM cambiará. Al hacer clic en el botón Actualizar paquetes actualizará el conjunto de herramientas para la última versión.

 PASO 5: Conectar ARDUINO al PC.
1. Descargar la última versión del IDE de Arduino para nuestro sistema operativo, Windows 7. En mi caso es la versión 1.6.4 , con 77'3 Mb.
2. Realizar la instalación del paquete...todo por defecto....esperar a que termine.
3. Conectar el Arduino mediante el cable USB al PC
4. Windows intentará instalar los controladores para el Arduino, pero no será capaz de encontrar los controladores correctos. Para confirmar si se ha instalado el controlador o no, abra el Administrador de dispositivos de Windows. En Windows 7, esto se puede hacer en clic en Inicio, seleccione Panel de control y seleccionar Administrador de dispositivos. Debe de aparecer en Otras Fuentes.
 5. Hacemos click  en el botón derecho y sobre el arduino, seleccionando propiedades. Pinchamos en actualizar driver...Seleccionar que lo vas a buscar dentro de tu PC...y seleccionar la ruta de los drivers anteriormente instalados...C:\Program Files (x86)\Arduino\drivers....en mi caso.

Una vez finalizado estos pasos Arduino debe aparecer como en la imagen, en los puertos COM y LTP.

PASO 6: Cargar la interfaz del LabView para el firmware de Arduino en nuestro propio Arduino.
Al revisar la información que sobre el tema existe en la web de National Instruments vemos que el interfaz LIFA, que es del que habla todo el mundo, quedó obsoleto y ha sido reemplazado por uno que se llama LINX. El Link de descarga se encuentra en la pestaña Recursos.
 Entre las opciones nos da la posibilidad de descargarlo usando el VIPM...haya vamos.

1.Abrimos VIMP, buscamos MakerHub LINX...y lo descargamos e instalamos como antes....le damos a continuar...aceptamos licencias...esperamos a que se descargue e instale todo...y FINISH...
2.Reiniciamos LabView
3.Click Tools»MakerHub»LINX»Firmware Wizard…

4.Seleccionamos nuestra Device Family...y next

5. Nos pedirá que seleccionemos donde se encuentra conectado nuestro arduino. Si nos fijamos en la imagen del arduino en el explorador de dispositivos que vimos antes vemos junto al nombre que, en mi caso está conectado en el COM6...así que es ese el que debo seleccionar. Seleccionamos la versión de Firmware Serial/USB y next. Los leds RX y TX de arduino deben encenderse.

6. Abrir Launch Example...y seguir las instrucciones.
 Nos llevará por el típico ejemplo de verificación de comunicaciones que consiste en hacer parpadear un led.


Seleccionamos el COM6, la salida 13, colocamos un led en GND y output 13 del arduino, hacemos click el la flecha que hay arriba a la derecha...la cual hará correr el programa...pinchamos en el botón verde y EUREKA...encendemos y apagamos el led...todo correcto!!!...

7 de mayo de 2015

YIELDAPP(SCAFFOLD CASE) I: A solution for the lack of information and protocols into the production phase of a company

Example: VIDEO about SCAFFOLD FORM in YIELDAPP

GENERAL PROBLEM

It is not uncommon to find companies, whether small or large,with a deficit in the acquisition, processing and study of the information on its production phase or main activity. As often as the lack of procedures and protocols for optimizing and improving the way of working in each of the performed activities.


SUBJECT AND SPECIFIC PROBLEM

The object of study and improvement which we are going to use like example, will be defined as a medium-sized company with multiple locations inside and outside the country, so we would be talking about applying the solution to different languages.That company offers assembly services, removal and installation of scaffoldings and covers. This company makes most of its services in external work centers and industrial ambients, getting a high volume of activity during all seasons. The registration of the tasks and subsequent accounting of this production is made manually and, this is made using a paper format. This entails among others, several problems:
  1. Slowness in taking decisions affecting the workforce. It's impossible to know the current workload, or in the short-term, for taking actions and avoid the movement of personnel between different workplace for performing efficiently the workload.
  2. Loss of the information necessary for bringing the accounting tasks. Often, the delivery notes are lost in time and space, between the workplace and the office where the accounts are maintained. So, loosing this information for many of the works will force us to not counted them, or in the best case, will not to be done this, without causing discomfort to the client.
  3. The budget and assessment of the made tasks are not done quickly and effectively, because studies and budget should be ordered to the accounting office.
  4. The client does not have access to an account,for example, monthly tasks, done, in progress or completed, budgets or total amount.
  5. The client can not perform task requests without having to make contact with company personnel, through daily or weekly meetings. Nor can request urgent tasks when no staff present in the workplace easily and with few formalities.

OBJECTIVES AND REQUIREMENTS

Making a software tool will be the objetive.This software must to be as cheap as possible to be able to get sufficient and necessary information about the production process of the company, ie, assembly, disassembly and installation roofs and scaffolding. It should be achieved through "smart" and dynamic forms, which will not only obtain  information,they will force the tasks to follow a prescribed procedure.

It would be relatively easy to program a custom application for the company, but, to the main objetive we will add that the application should be able to be used by another company in the sector, or other sectors, so that the complexities are increasing, since it will be necessary utilities implement dynamic generation of information, forms and proceedings.

Counting objectives and requirements:

  1. Using software low cost or free insofar as possible: laravel, WAMP, PHP, MySQL, Javascript, JQuery, jtable ...
  2. Accessibility via Internet: WAMP provides a Apache web server.
  3. Multi-language: Possibility of several languages internally set to begin Spanish and English, making it possible to increase the list.
    At login, the user must choose your company and provide their registration data, and it is possible the choice of language.
    Set languages from the application

  4. Accessing using different profiles as system configuration, management of the company, customers, field staff, management company should be able to access different parts of the application depending on the user profile what you've got.
  5. Dynamic tables with filters and searches: We'll use a javascript plugin called JTable, modified so that it can be configured from a MySql database, thus avoiding having to create or modify code every time we want to insert a new table, for example.
  6. Setting different calendars and schedules according profile or attributed to the time zone used for the performance of work,obtaining different categories of hours: Being able to define different calendars and schedules on the application can be used for crossing these with time intervals, and to give each category of hours of the range, for example, normaly, nightly, holidays hours ...
    Defined schedules graphically displayed

    Calendars

    Schedules


  7. Definition of workplaces, corporate customers, subcontractors and staff within these places: Defining this we can split productions and assists and assign each person to the roll that plays within the system and in the process, for example, the when performing a mount request, always is better to have the list of employees in the client company that can perform this action.
    Definition of subdivisions of the workplaces where assign activity

      
    WorkCenters
  8. Management and management of assistance schedules: Entering information when workers are into and out of their workplaces.
    Assistance Schedules Table
  9. Administration and management tasks (requests, in progress or completed) for each workplace.
  10. Production configuration, definition of processes applied, phases of these processes, and definition of parameters to identify those options: In our case we will define a product (scaffold), defined by the required fields like product name or dimensions.This product has several processes associated (mounting and dismounting), also defined by parameters, and in turn each process consists of phases (partial assembly and disassembly). This production structure (product + process + phase) is applicable to other products such as roofs, so we can generating them as needed.
    Product Definition

    Proccess definition

    Phases definition
  11. Dynamic and programmable forms related to the products offered: products will relate configured with a programming tool that enables dynamic, intelligent forms that lead users to the extent possible through a procedure studied and reduces the possibility of introducing misinformation.
    Once the logic of form is set we can see it as flowchart

    Form for entering schedules

    Initial part of the form to insert a scaffold
  12. Configuration and management of price tables, witch crossing with tasks,hours and made products, will value all in real time: For example, registering a request for assembly a scaffold with certain qualities and crossing it with a price list that is assigned by administering to a particular client, that client can know the price of the item and act accordingly, making the request or by modifying any of the parameters.
  13. Configuration and management of printable formats for delivery notes: Once the petition or during the course of the tasks, printing invoices of work that reflect all the information entered in the system and that enables to leave physically signed the process will be necessary.
  14. Enable the connection of the system to one of the many tools on the market such as ERP, or applications which provide "Business Intelligent" analysis level an exhaustive study of all the information entered in the system by monitoring, for example, performance parameters , as in our case could be m3 of scaffolding built for hours and hours invested types of implementation, and can make decisions that increase productivity and efficiency daily.

PREZI PRESENTATIONS

 In order to provide a better understanding of what I have described, here you have some dynamic presentations which are accessibles from any computer equipped with Internet and a browser.

I think about the name more appropriate for the application and development og this project...YIELDAPP.

It is under development. You could say that points 1 to 11 are made ... ACTIVATION ENERGY ON ...



APPLICATION ONLINE 

The application can be viewed using a private server. If anyone is interested in seeing it would send the URL address and a user to access.

EMAIL SERSORGON@GMAIL.COM