Archivo por meses: julio 2016

Display LCD

Como ejemplo de periférico para Arduino, uno muy utilizado es el display LCD que permite mostrar información al exterior sin tener que estar conectado a Arduino por USB.

Ejercicio: La bola de cristal. Hacer que cada vez que mueva Arduino, detecte el movimiento con el tilt sensor y devuelva por la pantalla LCD una respuesta aleatoria.

Hacer que también funcione la bola de cristal al usar el puerto serie. Hacer una pregunta por el puerto serie, que se muestre la pregunta en la pantalla LCD y luego a los 5 segundos responda por la pantalla LCD y por el puerto serie.

Librería LCD: https://www.arduino.cc/en/Reference/LiquidCrystal

Tilt Sensor: https://www.arduino.cc/documents/datasheets/TiltSensor.PDF

LCD display: https://www.arduino.cc/documents/datasheets/LCDscreen.PDF

Conexiones:

 

Esquema eléctrico:

Los LCD tienen un interfaz paralelo, lo que significa que debe manipular varios pines del interfaz simultáneamente: RS, RW, Enable pin y data pins.

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio23-LCD

Ejercicio: Controlar en qué dirección se mueve el display.

Solución: http://arduino.cc/en/Tutorial/LiquidCrystalTextDirection

Actuadores y periféricos de salida

Un actuador es un dispositivo capaz de transformar energía hidráulica, neumática o eléctrica en la activación de un proceso con la finalidad de generar un efecto sobre elemento externo. Este recibe la orden de un regulador, controlador o en nuestro caso un Arduino y en función a ella genera la orden para activar un elemento final de control como, por ejemplo, una válvula.

Existen varios tipos de actuadores como son:

  • Electrónicos
  • Hidráulicos
  • Neumáticos
  • Eléctricos
  • Motores
  • Bombas

Periférico es la denominación genérica para designar al aparato o dispositivo auxiliar e independiente conectado a la unidad central de procesamiento o en este caso a Arduino. Se consideran periféricos a las unidades o dispositivos de hardware a través de los cuales Arduino se comunica con el exterior, y también a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal.

Ejemplos de periféricos:

  • Pantallas LCD
  • Teclados
  • Memorias externas
  • Cámaras
  • Micrófonos
  • Impresoras
  • Pantalla táctil
  • Displays numéricos
  • Zumbadores
  • Indicadores luminosos, etc…

Conexiones básicas de Arduino a periféricos: ABC Basic Connections

Para cada actuador o periférico, necesitamos un “driver” o manejador para poder mandar órdenes desde Arduino.

  • Recordad que los pines de Arduino solo pueden manejar un máximo de 40mA y recomendable usar 20mA de forma continua.
  • Recordar que Arduino solo puede manejar un total de 200 mA de salida. Es decir que la corriente máxima que admite Vcc y GND son 200 mA.
  • Recordar que los pines Arduino solo pueden tener los valores de 5V (3.3V en algunos modelos) y 0V. No es posible cualquier otro valor de tensión.

Este enlace explica mucho mejor los las limitaciones de corriente en los pines de Arduino: http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations

A la hora de seleccionar un actuador o periférico para usar con arduino habrá que ver sus características y cómo hacer el interface con arduino. En el playground de Arduino existe una gran base de datos de conocimiento para conectar Arduino con casi cualquier HW: http://playground.arduino.cc/Main/InterfacingWithHardware

Tutoriales para conectar Arduino con diversos dispositivos: http://playground.arduino.cc/Learning/Tutorials

Un periférico podría ser una televisión. Sacar por TV datos de Arduino, librería TV OUT: http://real2electronics.blogspot.com.es/2010/11/libreria-tvout.html

Relés

Un tipo de actuadores son los relés. Para manejar un relé necesitamos un driver, puesto que con los 40mA posiblemente no sea suficiente para activar la bobina del relé, además que hay relés de 5V pero también de otros muchos voltajes.

El relé es un dispositivo electromagnético. Funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y un electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes.

Definición de relé: https://es.wikipedia.org/wiki/Rel%C3%A9

Relés comerciales http://www.trossenrobotics.com/c/data-i-o-Relay-switching-boards.aspx

Un relay driver es un circuito electrónico que usa un transistor para activar la bobina del relé de forma que con una pequeña corriente activamos el circuito que alimenta al relé desde una fuente externa.

Los Relay Shield ya tienen integrados los relés y los drives, lo que nos facilita el trabajo, incluso algunas shields incluyen su librería: http://www.seeedstudio.com/wiki/Relay_Shield

O también una placa (breakout board) con dos relés y su driver con posibilidad de alimentarlos desde Arduino o externamente: http://www.geeetech.com/wiki/index.php/2-Channel_Relay_module

Esquemático:

También existen integrados como el ULN2803A que nos permiten controlar relés, se trata de un array o conjunto de 8 pares darlington que soportan 500mA y 50V. Conecta la carga a masa.

Datasheet: http://www.ti.com/lit/ds/symlink/uln2803a.pdf

Si tuviéramos que controlar elementos con más potencia de la soportada por los relés o los drivers, deberemos usar contactores a los que atacaremos desde los relés.

Relés biestables

Los relés biestables tienen 2 posiciones estables para los contactos de salida. Dependiendo de la bobina que se alimente, los contactos pasarán de una posición a otra. El cambio de posición se efectúa con dos sistemas de bobina y con contactos de autocorte para cada juego de bobinas, lo cual posibilita que el relé no consuma energía en permanencia, tan solo en los instantes en los que cambia de estado.

Otros Actuadores

Actuadores comerciales:

Displays

Un display o visualizador un dispositivo de ciertos aparatos electrónicos que permite mostrar información al usuario de manera visual. Un visualizador de una señal de vídeo se lo llama más comúnmente pantalla.

Definición: https://es.wikipedia.org/wiki/Visualizador

Displays:

Como funciona un display LCD: http://ww1.microchip.com/downloads/cn/AppNotes/cn011075.pdf

Aprender a usar un display LCD con Arduino: http://diymakers.es/aprender-usar-un-display-lcd/

Tutorial LCD: https://www.dlabs.co/curso-de-arduino-y-robotica-pantallas-lcd/

Conceptos básicos de comunicaciones

La telemática es una disciplina científica y tecnológica, originada por la convergencia entre las tecnologías de las telecomunicaciones y de la informática.

Algunas de las aplicaciones de la telemática podrían ser cualquiera de las siguientes:

  • Cualquier tipo de comunicación a través de internet (como por ejemplo el acceso a páginas web o el envío de correos electrónicos) es posible gracias al uso de las tecnologías desarrolladas en este ámbito.
  • El uso de las mensajerías instantáneas está directamente relacionado con la telemática, ya que esta materia se encarga en parte de controlar ese intercambio de mensajes entre dos entidades distintas.
  • Los sistemas GPS (Global Positioning System).

Más información: http://es.wikipedia.org/wiki/Telem%C3%A1tica

Protocolos de comunicación

Un protocolo de comunicación es un conjunto de normas que están obligadas a cumplir todos las máquinas y programas que intervienen en una comunicación de datos entre ordenadores, o cualquier otro dispositivo sin las cuales la comunicación resultaría caótica y por tanto imposible.

En nuestro caso vamos a ver Arduino como el elemento para comunicar cualquier elemento físico con otro, una red interna o con Internet usando diversos protocolos estándar. Arduino es capaz de implementar estos protocolos y comunicar directamente o usado como una pasarela para un elemento sin posibilidad de comunicación.

Por ejemplo, podemos usar Arduino para conectar un sistema de riego y una estación meteorológica con Internet o con una plataforma de terceros mediante protocolos estándar.

Algunos tipos de protocolos de comunicaciones:

  • Protocolos punto a punto: Son los protocolos más antiguos y elementales utilizados para la comunicación mediante una línea de datos entre dos únicos ordenadores. Un ejemplo es la comunicación serie que ya hemos visto.
  • Comunicación entre redes. Al contrario que los punto a punto, han de especificar la forma de identificar al terminal concreto de la red con el que se debe establecer la comunicación, por ejemplo asignando un número a cada uno de los terminales. En el caso de una red de ordenadores se denomina LAN (Local Area Network) donde los ordenadores se están comunicando directamente. Otro ejemplo de protocolo de comunicación de redes industriales es modbus.
  • Protocolos de transmisión de paquetes. En los protocolos de transmisión de paquetes la transmisión se apoya en la propia información contenida en los datos que transitan por las redes de comunicaciones, mientras que en los protocolos anteriores, la responsabilidad del buen funcionamiento de las comunicaciones recae sobre los equipos y las líneas de datos. Para ello los datos se «trocean» y organizan en paquetes, como cartas de correo ordinario, con sus datos de origen y destino y van de equipo en equipo como las cartas van de estafeta en estafeta, de tren correo a camión de reparto y de otra estafeta al bolso del cartero quien finalmente la hace llegar a su destinatario.
  • Modelo TCP/IP. TCP/IP son las siglas de «Transfer Control Protocol / Internet Protocol» y éste es el conjunto de normas de transporte y lenguaje definidas para la Red Internet e incorporado por otras redes. TCP/IP es un protocolo de transmisión de paquetes. Cuando un ordenador quiere mandar a otro un fichero de datos, lo primero que hace es partirlo en trozos pequeños (alrededor de unos 4 Kb) y posteriormente enviar cada trozo por separado. Cada paquete de información contiene la dirección en la Red donde ha de llegar, y también la dirección de remite, por si hay que recibir respuesta. Los paquetes viajan por la Red de forma independiente. En el destino el ordenador que recibe todos los paquetes se encarga de ordenarlos y mostrar el contenido al ordenador.
    Otra consecuencia de la estructura y forma de actuar de TCP/IP es que admite la eventualidad de que algún paquete de información se pierda por el camino por algún suceso indeseado como que un ordenador intermediario se apague o se sature cuando está pasando por él un trozo de un determinado fichero en transmisión. Si esto ocurre, siempre queda abierta la posibilidad de volver a solicitar el paquete perdido, y completar la información sin necesidad de volver a transferir todo el conjunto de datos.

Más información en: http://www.desarrolloweb.com/articulos/1617.php

Si bien los protocolos pueden variar mucho en propósito y sofisticación, la mayoría especifica una o más de las siguientes propiedades:

  • Detección de la conexión física subyacente (con cable o inalámbrica), o la existencia de otro punto final o nodo.
  • Handshaking, es un proceso automatizado de negociación que establece de forma dinámica los parámetros de un canal de comunicaciones establecido entre dos entidades antes de que comience la comunicación normal por el canal. De ello se desprende la creación física del canal y precede a la transferencia de información normal.
  • Negociación de varias características de la conexión.
  • Cómo iniciar y finalizar un mensaje.
  • Procedimientos en el formateo de un mensaje.
  • Qué hacer con mensajes corruptos o formateados incorrectamente (corrección de errores).
  • Cómo detectar una pérdida inesperada de la conexión, y qué hacer entonces.
  • Terminación de la sesión y/o conexión.
  • Estrategias para mejorar la seguridad (autenticación, cifrado).
  • Cómo se construye una red física.
  • Cómo se conectan a la red los dispositivos que se comunican.

Los protocolos de comunicación permiten el flujo información entre equipos distintos con diferentes características pero que hablan el mismo lenguaje (protocolo) que lo tienen implementado internamente o usan una pasarela intermedia, por ejemplo, dos ordenadores conectados en la misma red pero con protocolos diferentes no podrían comunicarse jamás, para ello, es necesario que ambas «hablen» el mismo idioma. El protocolo TCP/IP fue creado para las comunicaciones en Internet. Para que cualquier computador o dispositivo se conecte a Internet es necesario que tenga instalado este protocolo de comunicación, ya sea mediante una tarjeta de red o WiFi..

Más información en: http://es.wikipedia.org/wiki/Protocolo_de_comunicaciones

Capas OSI

En el campo de las redes informáticas, los protocolos se pueden dividir en varias categorías. Una de las clasificaciones más estudiadas es la OSI.

Según la clasificación OSI, la comunicación de varios dispositivos se puede estudiar dividiéndola en 7 niveles, que son expuestos desde su nivel más alto hasta el más bajo:

Nivel Nombre Categoría
Capa 7 Nivel de aplicación Aplicación
Capa 6 Nivel de presentación
Capa 5 Nivel de sesión
Capa 4 Nivel de transporte
Capa 3 Nivel de red Transporte de datos
Capa 2 Nivel de enlace de datos
Capa 1 Nivel físico

Pinchando en cada capa hay una explicación detallada de cada una.

  • Capa física: Es la que se encarga de la topología de la red y de las conexiones globales de la computadora hacia la red, tanto en lo que se refiere al medio físico como a la forma en la que se transmite la información.
    Más información: http://es.wikipedia.org/wiki/Capa_f%C3%ADsica
  • Capa de enlace de datos: Esta capa se ocupa del direccionamiento físico, del acceso al medio, de la detección de errores, de la distribución ordenada de tramas y del control del flujo. Es uno de los aspectos más importantes a revisar en el momento de conectar dos ordenadores, ya que está entre la capa 1 y 3 como parte esencial para la creación de sus protocolos básicos, para regular la forma de la conexión entre ordenadores determinando el paso de tramas. (trama = unidad de medida de la información en esta capa, que no es más que la segmentación de los datos trasladándolos por medio de paquetes)
    Más información: http://es.wikipedia.org/wiki/Capa_de_enlace_de_datos
  • Capa de red: Se encarga de identificar el enrutamiento existente entre una o más redes. Las unidades de información se denominan paquetes, y se pueden clasificar en protocolos enrutables y protocolos de enrutamiento. El objetivo de la capa de red es hacer que los datos lleguen desde el origen al destino, aún cuando ambos no estén conectados directamente. Los dispositivos que facilitan tal tarea se denominan encaminadores o enrutadores, aunque es más frecuente encontrarlo con el nombre en inglés routers.
    Más información: http://es.wikipedia.org/wiki/Capa_de_red
  • Capa de transporte: Capa encargada de efectuar el transporte de los datos (que se encuentran dentro del paquete) de la máquina origen a la de destino, independizándolo del tipo de red física que esté utilizando. En el caso del protocolo TCP/IP, la PDU de la capa 4 se llama Segmento o Datagrama, dependiendo de si corresponde a TCP o UDP. Sus protocolos son TCP y UDP; el primero orientado a conexión y el otro sin conexión. Trabajan, por lo tanto, con puertos lógicos y junto con la capa red dan forma a los conocidos como Sockets IP:Puerto (191.16.200.54:80).
    Más información: http://es.wikipedia.org/wiki/Capa_de_transporte
    Listado de puertos TCP/UDP: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
  • Capa de sesión: Esta capa es la que se encarga de mantener y controlar el enlace establecido entre dos dispositivos que están transmitiendo datos de cualquier índole. Por lo tanto, el servicio provisto por esta capa es la capacidad de asegurar que, dada una sesión establecida entre dos máquinas, la misma se pueda usar para las operaciones definidas de principio a fin, reanudándose en caso de interrupción. En muchos casos, los servicios de la capa de sesión son parcial o totalmente prescindibles.
    Más información: http://es.wikipedia.org/wiki/Capa_de_sesi%C3%B3n
  • Capa de presentación: El objetivo es encargarse de la representación de la información, de manera que aunque distintos equipos puedan tener diferentes representaciones internas de caracteres los datos lleguen de manera reconocible. Esta capa cumple tres funciones principales. Estas funciones son las siguientes: Formateo de datos, Cifrado de datos y Compresión de datos.
    Más información: http://es.wikipedia.org/wiki/Capa_de_presentaci%C3%B3n
  • Capa de aplicación: Ofrece a las aplicaciones la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrónico (Post Office Protocol y SMTP), gestores de bases de datos y servidor de ficheros (FTP), por UDP pueden viajar (DNS y Routing Information Protocol). Hay tantos protocolos como aplicaciones distintas y puesto que continuamente se desarrollan nuevas aplicaciones el número de protocolos crece sin parar.
    Cabe aclarar que el usuario normalmente no interactúa directamente con el nivel de aplicación. Suele interactuar con programas que a su vez interactúan con el nivel de aplicación pero ocultando la complejidad subyacente. En el caso de Arduino se utilizan unas librerías que implementan el protocolo y ofrecen una serie de métodos que son usando de forma sencilla en el sketch para realizar la comunicación.
    Más información: http://es.wikipedia.org/wiki/Capa_de_aplicaci%C3%B3n

Pila OSI:

Estas imágenes explican claramente lo que ocurre al pasar de capa a capa antes de mandar los bits por el medio físico.

Más información en: http://es.wikipedia.org/wiki/Modelo_OSI

Por ejemplo modbus es un protocolo de capa 7 y en su parte física usa el protocolo RS-485 que engloba las capas 1 y 2 y define la características físicas de la comunicación como el voltaje de las señales enviadas.

Sensor de temperatura

Práctica:  Ejercicio15 – Temperatura. Leer sonda de temperatura y en función de unas condiciones de temperatura encender 3 LEDS, el primero al alcanzar 22 grados, el segundo a los 24 y el tercero a los 26. También que muestre por pantalla la temperatura leída por el puerto serie en Celsius si lee una C por el puerto serie o en Farenheit si les una F, en cualquier otro caso que muestre el texto: “¿En que formato quieres que muestre la temperatura?”

Datasheet sonda: https://www.arduino.cc/en/uploads/Main/TemperatureSensor.pdf

Esquema conexión:

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio15-Temperatura

Ver el efecto de parpadeo al no poner histéresis. Añadir una histéresis de 1 grado en cada salto de temperatura para iluminar el led.

Histeresis: https://es.wikipedia.org/wiki/Hist%C3%A9resis

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio15-Temperatura_con_histeresis

Sensores Arduino

Un sensor es un dispositivo capaz de detectar magnitudes físicas o químicas, llamadas variables de instrumentación, y transformarlas en variables eléctricas. Las variables de instrumentación pueden ser por ejemplo: temperatura, intensidad lumínica, distancia, aceleración, inclinación, desplazamiento, presión, fuerza, torsión, humedad, movimiento, pH, etc. Una magnitud eléctrica puede ser una resistencia eléctrica (como en una RTD), una capacidad eléctrica (como en un sensor de humedad o un sensor capacitivo), una tensión eléctrica (como en un termopar), una corriente eléctrica (como en un fototransistor), etc.

Los sensores se pueden clasificar en función de los datos de salida en:

  • Digitales
  • Analógicos

Y dentro de los sensores digitales, estos nos pueden dar una señal digital simple con dos estados como una salida de contacto libre de tensión o una salida en bus digital.

Un ejemplo de sensor analógico sería el ACS714, es un sensor de efecto hall que mide las corrientes eléctricas que pasan a través del chip y devuelve un valor en voltaje proporcional a la corriente que circula por el sensor:

Datasheet: http://www.allegromicro.com/~/Media/Files/Datasheets/ACS714-Datasheet.ashx

Como medir corriente con Arduino y un sensor ACS714: http://playground.arduino.cc/Main/CurrentSensing

Tutorial de uso del sensor ACS714: http://www.instructables.com/id/How-to-Measure-AC-Current-using-Hall-Effect-Sensor/?ALLSTEPS

Características de  los sensores

  • Rango de medida: dominio en la magnitud medida en el que puede aplicarse el sensor.
  • Precisión: es el error de medida máximo esperado.
  • Offset o desviación de cero: valor de la variable de salida cuando la variable de entrada es nula. Si el rango de medida no llega a valores nulos de la variable de entrada, habitualmente se establece otro punto de referencia para definir el offset.
  • Linealidad o correlación lineal.
  • Sensibilidad de un sensor: suponiendo que es de entrada a salida y la variación de la magnitud de entrada.
  • Resolución: mínima variación de la magnitud de entrada que puede detectarse a la salida.
  • Rapidez de respuesta: puede ser un tiempo fijo o depender de cuánto varíe la magnitud a medir. Depende de la capacidad del sistema para seguir las variaciones de la magnitud de entrada.
  • Derivas: son otras magnitudes, aparte de la medida como magnitud de entrada, que influyen en la variable de salida. Por ejemplo, pueden ser condiciones ambientales, como la humedad, la temperatura u otras como el envejecimiento (oxidación, desgaste, etc.) del sensor.
  • Repetitividad: error esperado al repetir varias veces la misma medida.

Más información: http://es.wikipedia.org/wiki/Sensor#Caracter.C3.ADsticas_de_un_sensor

Tipos de sensores: http://es.wikipedia.org/wiki/Sensor#Tipos_de_sensores

A la hora de elegir un sensor, debemos leer detenidamente las características y elegir uno que sea compatible con nuestro sistema (tensión y voltaje) y que sea sencillo de usar o nos faciliten una librería sencilla y potente.

Catálogo de sensores:

Interesante sensor 4 en 1 temperatura+presión+altitud+luz comunicación por I2C: http://elcajondeardu.blogspot.com.es/2016/04/review-4-sensores-en-1-modulo-medicion.html

Sensores con comunicación por bus.

Un bus (o canal) es un sistema digital que transfiere datos entre los componentes de una dispositivo electrónico o entre varios. Está formado por cables o pistas en un circuito impreso, dispositivos como resistencias y condensadores además de circuitos integrados.

La tendencia en los últimos años hacia el uso de buses seriales como el USB, Firewire para comunicaciones con periféricos, reemplazando los buses paralelos, a pesar de que el bus serial posee una lógica compleja (requiriendo mayor poder de cómputo que el bus paralelo) se produce a cambio de velocidades y eficacias mayores.

Arduino puede comunicarse con los buses serie I2C y SPI sin necesidad de HW adicional

Bus RS485:

Más información en: http://es.wikipedia.org/wiki/Bus_(inform%C3%A1tica)

Existen muchos tipos de buses de comunicaciones, algunos de ellos los implementa arduino mediante controladores HW integrados en la MCU (I2C) o mediante una librería (one wire) y en otros casos es necesario un hardware adicional para adaptar la señal con un transceiver y manejar el protocolo con un controlador, por ejemplo can bus o modbus.

Los sensores DHT11 o DHT22 que vimos anteriormente,  son unos pequeños dispositivos que 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 a un bus punto a punto. Llevan un pequeño microcontrolador interno para hacer el tratamiento de señal. Estos sensores han sido calibrados en laboratorios, presentan una gran fiabilidad.

Ambos sensores funcionan con ciclos de operación de duración determinada. En determinados casos de aplicaciones los tiempos de lectura de los sensores puede ser determinante a la hora de elegirlo.

Parámetro DHT11 DHT22
Alimentación 3Vdc ≤ Vcc ≤ 5Vdc 3.3Vdc ≤ Vcc ≤ 6Vdc
Señal de Salida Digital Digital
Rango de medida Temperatura De 0 a 50 °C De -40°C a 80 °C
Precisión Temperatura ±2 °C <±0.5 °C
Resolución Temperatura 0.1°C 0.1°C
Rango de medida Humedad De 20% a 90% RH De 0 a 100% RH
Precisión Humedad 4% RH 2% RH
Resolución Humedad 1%RH 0.1%RH
Tiempo de sensado 1s 2s
Tamaño 12 x 15.5 x 5.5mm 14 x 18 x 5.5mm

Más información sobre la sonda DHT22: http://www.seeedstudio.com/wiki/Grove_-_Temperature_and_Humidity_Sensor_Pro

Datasheet de sondas DHT22:

Este esquema explica como funciona este sensor y el protocolo de comunicación. La librería implementa el protocolo y facilita el uso de la sonda con Arduino.

Veamos cómo para un mismo sensor tenemos diferentes librerías con funciones y uso diferente en cada una de ellas. Cada uno de los distribuidores de estas sondas ha creado su propia librería.

Otra sonda de temperatura es la DS18B20 pero que usa un bus de comunicación multipunto one wire, lo que nos permite leer muchas sondas con una sola i/o digital.

Sonda: http://www.seeedstudio.com/depot/One-Wire-Temperature-Sensor-p-1235.html

Datasheet sensor: http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

Librería: http://playground.arduino.cc/Learning/OneWire

Última version de la librería: http://www.pjrc.com/teensy/td_libs_OneWire.html

Protocolo one-wire:

Otros sensores

Sensor ultrasonico de distancia: http://hackarobot.com/how-to-use-ultrasonic-distance-sensor-with-arduino/

Sensor de presion barometrica y altura (I2C): https://www.adafruit.com/products/1603

Sensor laser distancia: http://tienda.bricogeek.com/sensores-distancia/792-escaner-laser-360-grados-rplidar.html

Reed Switch Interruptor de láminas. es un interruptor eléctrico activado por un campo magnético. Cuando los contactos están normalmente abiertos se cierran en la presencia de un campo magnético, cuando están normalmente cerrados se abren en presencia de un campo magnético.

Ejemplos de uso con Arduino:

Comprar un reed Switch: https://www.sparkfun.com/products/8642

Sensores magneto-resistivos

Los sensores magneto-resistivos (MRS) detectan el movimiento de objetos ferromagnéticos. Están disponibles con o sin sistema de reconocimiento del sentido de giro. Estos sensores se emplean como contador de revoluciones, para la detección de ruedas dentadas y para indicador de averías.

El campo de aplicación de estos sensores abarca: maquinaria de construcción, vehículos sobre carriles, grandes equipos diesel y turbinas.

Más información: http://www.automatica-elec.es/Pulso/Pu_PDF/Pu_Magneto-resistivos_tec.pdf

Magnetoresistencia: https://es.wikipedia.org/wiki/Magnetorresistencia

Ejemplos comerciales: http://sensing.honeywell.es/products/magnetic-position-sensors?Ne=2308&N=3094