Skip to main content

Sensores

Sensores básico para Echidna

Para trabajar con Echidna sólo tienes que saber:

  • Los sensores son las entradas de información a tus programas
  • Echidna trabaja de dos modos
    • En modo sensor entonces tienes a tu disposición :
      • SENSORES ANALÓGICOS valores de 0 a 1024
        • Sensor de luz 
        • Joystick
        • Temperatura
        • Acelerómetro
        • Volumen
        • Micrófono (sólo EdhidnaBlack pues tiene A7 del Arduino Nano)
      • SENSORES DIGITALES
        • Pulsadores D2 y D3
        • Pulsador del Joystick D2
    • En modo MAKEY MAKEY 
      • 8 entradas
        • 6 analógicas A0 al A5
        • 2 digitales D2 y D3

Además hay 3 conectores I/O que puedes poner sensores externos de otros tipos.

Recuerda que al programar EN VIVO tienes también las entradas del ordenador, por ejemplo el ratón, teclado...

Sensores avanzados

Si quieres saber más sobre los sensores, que otros tipos hay (para conectar en I/O sensores externos), te recomendamos leer este apartado :

Esta sección es una visión rápida de las posibles entradas del Arduino y está adaptado de este enlace. José Andrés Echevarría @cantabRobots CC-BY-NC-SA

Cualquier sistema de control podríamos decir que funciona de una manera similar a un ser humano, salvando las distancias. Nosotros recibimos la información del mundo exterior gracias a nuestros sentidos (oído, olfato, gusto, vista y tacto), nuestro cerebro procesa esa información y a través de nuestros músculos o de nuestra voz realizamos diferentes acciones. Pues lo mismo sucede con los sistemas de control, reciben información del exterior gracias a los diferentes SENSORES, procesan esa información en sus PLACAS CONTROLADORAS (sus cerebros) tales como Arduino y dan una respuesta utilizando sus diferentes ACTUADORES.

2022-04-13 19_23_12-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Un sensor es un objeto capaz de detectar magnitudes físicas o químicas y transformarlas en variables eléctricas. Los sensores o periféricos de entrada nos permiten obtener información del mundo real para utilizarla desde el programa de Arduino.

En la actualidad la cantidad de sensores disponibles es tan extensa como las variables que queramos medir, desde sensores de temperatura, humedad, luminosidad,... hasta acelerómetros, giroscopios, GPS,... pasando por detectores de gases, de pulsos cardiacos, sensores de efecto HALL,...

La interfaz de conexión de un sensor con Arduino lo podemos clasificar en tres tipos: DIGITAL, ANALÓGICO o DATOS.

  • DIGITAL: un sensor digital sólo tiene dos estados: activado/desactivado, ON/OFF, 1/0, Alto/Bajo, ... En este caso  conectaremos el sensor a una de las entradas digitales de Arduino para leer el estado.

Ejemplo: un pulsador es un tipo de sensor sencillo que sólo nos da dos estados, “pulsado o no pulsado”. Conectado a la placa Arduino debe generar 0v en reposo y 5v al pulsarlo. De esta forma desde el programa de Arduino podremos leer el estado del botón.

2022-04-13 19_25_30-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

  • ANALÓGICO: el sensor nos puede dar un rango de valores, normalmente se traduce en un valor de tensión o de  corriente variable en función de la señal captada al sensor. En este caso conectaremos el sensor a una de las entradas analógicas de Arduino (A0,..., A5). El rango de entrada será una tensión entre 0v (GND) y 5v.

Ejemplo: Una fotorresistencia es un componente electrónico cuya resistencia disminuye con el aumento de intensidad de luz incidente. Su valor varía entre 0 y 5 v. la cantidad de valores que pueden leer las entradas analógicas de Ardunio son de 10 bits es decir 1024 valores. De tal modo que 0 = 0 v. y 1023 = 5V.

2022-04-13 19_26_06-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

  • DATOS: el sensor ofrece su información a través de una interfaz de comunicación. La forma de comunicación puede ser por sistemas estándar como I2C o SPI o algunos sensores usan su propio protocolo para codificar la información y debemos realizar desde el software la decodificación correcta para interpretar los datos del sensor (normalmente los desarrolladores de este tipo de sensores ofrecen una librería software para Arduino que hace todo el trabajo).

Ejemplo: el sensor DHT11 que mide temperatura y humedad.

2022-04-13 19_27_43-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensores modulares más comunes.

En  la  actualidad  existen  infinidad  de  sensores  que  los  fabricantes  presentan  en  forma modular.  Esto  hace  que  su  conexión  y  utilización  sea  mucho  más  sencilla  que  la  tradicional, olvidándonos de resistencias, polaridades, cableados,… para su correcto funcionamiento.

Sensor pulsador

Es un sensor digital, que presenta dos estados; cuando se presiona el botón,  emite  una  señal  de  bajo (0V), cuando suelta el botón, emite una señal de bajo alto (5V). Datasheet

Un ejemplo de uso

 2022-04-13 21_58_38-Modulo pulsador con tapa, 6uds.pngimage-1649922433118.png

Otra manera más "barata" de sustituir este módulo pulsador es poner un pulsador normal y una resistencia (±10k), al pulsar se produce una entrada en el Arduino, hay dos configuraciones, que al pulsar se emita un 0 lógico (configuración Pull up) o que al pulsar emita un 1 lógico (configuración Pull down) ¿Por qué hay que poner una resistencia?

image-1650097141548.pngimage-1650097157889.png

Lo "normal" es que al pulsar se emita un '1' configuración Pull down, pero hay pulsadores que funcionan al revés, lógica invertida o pull up, por eso en la programación por bloques podemos encontrar esto:

logicainvertida.png

Sensor Táctil Capacitivo. 

Este  pequeño  sensor  puede  "sentir"  a  las  personas  y  el  tacto  y  la retroalimentación de metales a un nivel de voltaje alto / bajo. Incluso aislado por alguna tela y papel, todavía puede sentir el tacto. Su sensibilidad disminuye a medida que la 
capa de aislamiento se hace más gruesa. En nuestra opinión lo preferimos frente al Sensor pulsador pues es muy económico, duradero y fiable.

Un ejemplo de uso en

2022-04-13 21_59_29-Interruptor táctil TTP223B.png

Potenciómetro y joystick

Un potenciómetro es una resistencia variable, es decir, cambia de valor mecánicamente, lo tenemos en multitud de dispositivos. El joystick es internamente dos potenciómetros con un pulsador integrado en un solo mando.

potenciometro-joystick.png2023-11-24 18_45_14-Quiero una – EchidnaShield.png

Este sensor es analógico, su salida puede ser cualquier valor entre Vcc y GND (si está en divisor de tensión como en la placa Edubásica no llega a esos valores extremos), por lo tanto hay que conectarlo a una entrada analógica de Arduino y como cualquier entrada analógica, proporcionará valores entre 0 y 1023.

Ejemplos de uso:

 Sensor Fotocélula LDR. 

El  uso  de  fotocélulas  es  muy  común  en  nuestras  vidas,  las  encontramos  en  el  encendido automático de  farolas, apertura de  puertas,…  La  fotocélula  es un  semiconductor. Es  ampliamente utilizado  en  campos  de  interruptores  de  control  automático  como cámaras,  luces  solares  de  jardín,  lámparas  de césped,  detectores  de  dinero,  relojes  de cuarzo, tazas de música, cajas de regalo, mini luces  nocturnas,  interruptores  de  control  de luz y sonido, etc.  
Es un sensor analógico dando valores entre 0 y 5V y como entrada analógica de un Arduino se traduce en un rango de 0 a 1023 valores. 
Un ejemplo de uso :

Una manera más económica de montar este sensor es utilizar una resistencia y un LDR:

  • El LDR cuando más oscuridad, más resistencia
  • En una configuración PULL DOWN, cuanto más luz, la resistencia del LDR baja, por lo tanto más tensión en A6

embedded-image-YfsLGvOe.jpeg2022-04-14 08_04_14-3.5 Cableado sensores _ Librería CATEDU.png

Los módulos LDR que se venden suelen esta configuración Pull down, es decir, cuanto más luz,  más tensión:

image-1650370178627.png

La instrucción con Arduinoblocks ya cuenta con esta configuración Pull downUp de que cuando más luz, más valor tiene la entrada analógica.

2022-04-19 14_05_05-ArduinoBlocks.png

Hay módulos LDR ya montados,  que tienen componentes activos es decir, llevan circuitos electrónicos, transistores que amplifican etc... y dan la salida digital con un potenciómetro para definir el rango de luz que cambia de estado lógico. Puedes ver en la figura que tiene una salida digital D0.

sensorluzarduinodigital.jpg

O hay algunos que tienen 4 pines como en la figura que ofrecen las dos cosas: salida analógica A0 y digital D0.

sensorluzarduino.jpg

Nosotros aconsejamos el divisor de tensión por tres razones: más barato, no implica gran circuitería y es visible su funcionamiento frente a estos encapsulados.

Sensor llama

Este sensor de llama se puede utilizar para detectar fuego u otras luces cuya longitud de onda se encuentra entre 760 nm ~ 1100nm.

Un ejemplo de su uso:

2022-04-14 08_06_56-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png2022-04-14 08_07_38-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensor de Ultrasonidos.

Es un sensor digital de distancias por ultrasonidos capaz de detectar objetos y calcular la distancia a la que se encuentra en un rango de 2 a 350 cm. Su uso es tan sencillo como enviar el pulso de arranque y medir la anchura del pulso de retorno.

No es un sensor preciso, con una ligera inclinación de la superficie ya da lecturas erróneas pero es muy barato

Ejemplos de uso:

Pines de conexión:

  • VCC
  • Trig (Disparo del ultrasonido)
  • Echo (Recepción del ultrasonido)
  • GND

Distancia = {(Tiempo entre Trig y el Echo) * (V.Sonido 340 m/s)}/2 por lo tanto en la programación tenemos que leer esos dos pulsos y calcular la distancia.

2022-04-14 08_10_43-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png2022-04-14 08_11_21-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensor DHT11 (Temperatura y Humedad).

Este sensor de temperatura y humedad DHT11 tiene una salida de señal digital que funciona en un rango de temperaturas entre 0 y 50ºC con un error de ± 2ºC y un rango de humedad entre 20 y 90 % ± 5% . Tiene dentro un pequeño microprocesador que lanza por el bit de datos 40 bits en serie, los 16 primeros son la humedad y los 16 restantes es la temperatura los 8 restantes son de comprobación. Por ejemplo 0100 0111 0000 0011 0001 1001 0000 0000 0001 1000  es 0100 0111 0000 0011 = 47.03% de humedad y 0001 1001 0000 0000 = 19.00ºC y la comprobación es la suma de 4+7+0+3+1+9+0+0=24=11000

Ejemplos de uso:

2022-04-13 19_27_43-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

No es un sensor con gran sensibilidad, pero para propósitos educativos cumple sus funciones. Por dentro tiene una resistencia NTC que decrementa su resistencia si aumenta la temperatura. Hay otros que van al revés, los PTC. Tanto los NTC como los PTC se llaman thermistores. Para la humedad, mide la capacidad de un condensador que es sensible a la humedad, o sea, un sensor capacitivo.

Tenemos dos opciones comerciales: Encapsulado que lo tienes preparado para conectar la alimentación y leer por el pin de datos, o sin encapsular, que hay que colocar una resistencia de aproximadamente 10k entre Vcc y Data

dht11-pines.png

Ejemplo de uso de un DHT11 sin encapsular:

dht11sinencapsular.png
Fuente Luis LLamas CC-BY-NC-SA https://www.luisllamas.es/arduino-dht11-dht22/

Si queremos mejorar la sensibilidad, podemos utilizar el DHT22 que es igual pero de color blanco y más caro. Si lo que queremos es sólo la temperatura es mejor utilizar el LM35D que tiene un rango de temperaturas desde 0ºC a 100ºC con una sensibilidad de 2mV/ºC

lm35.jpg

Es un sensor bastante mediocre, si necesitas una precisión el doble, te recomendamos el DHT22 que funciona exáctamente igual pero es de color blanco y más caro ⁓3€. Ver https://www.luisllamas.es/arduino-dht11-dht22/

Sensor de humedad de suelo.

La función de este sensor es detectar la humedad del suelo. Si el suelo no tiene agua, el valor analógico emitido por el sensor disminuirá, de lo contrario, aumentará. Se puede utilizar este sensor para hacer un dispositivo de riego automático, puede detectar si las plantas “tienen sed” y evitar que se marchiten. El sensor se configura con dos sondas insertadas en el suelo, cuando la corriente atraviesa el suelo, el sensor obtendrá valor de resistencia al leer los cambios actuales entre las dos sondas y convertir dicho valor de resistencia en contenido de humedad. Cuanto mayor sea la humedad (menos resistencia), mayor será la conductividad del suelo. La corriente de trabajo del sensor es menor de 20mA. El voltaje de salida es de 0 a 2,3V (Cuando el sensor está totalmente sumergido en agua, el voltaje será 2,3V).

2022-04-14 08_15_34-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensor de humedad.

Este sensor analógico está diseñado para identificar y detectar la presencia de agua y su cantidad. Puede servir para detectar el nivel de agua, para disparar una alarma en caso de una fuga de agua, también para hacer un limpiapalabrisas automático.... puedes ver un ejemplo de uso en el curso de Domótica con Arduino

Mide el volumen de agua caída a través de una serie de rastros de cables paralelos expuestos.

2022-04-14 08_19_22-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensor de efecto Hall.

Este es un sensor de inducción magnética. Detecta los materiales magnéticos dentro de un rango de detección de hasta 3 cm. El  rango de detección y la fuerza del campo magnético son proporcionales. La salida es digital.

2022-04-14 10_07_05-1.3 Conexiones _ Librería CATEDU.png
Sensor Hall.                              Edwin Helber Hall De Desconocido - Popular Science Monthly Volume 64, Dominio público

Edwin Helbert Hall descubrió en 1879 que en presencia de un campo magnético, un conductor que conduzca una corriente se le producía un campo eléctrico porque las cargas eléctricas se desviaban de su trayectoria principal, nuestro sensor simplemente mide ese campo eléctrico:

De Luis Llamas CC-BY-NC

El sensor tiene un led de color rojo que indica que hay una lectura de campo magnético.

Un ejemplo de uso lo puedes ver aquí: medir rocas magnéticas con el Rover con Arduino

Sensor inclinación

Este sensor funciona al hacerle vibrar, emitiendo una señal digital de todo o nada. El módulo del sensor viene provisto de un potenciómetro para poder regularlo.

2022-04-14 11_01_13-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensor de golpe

Es un sensor digital que al ser golpeado este sensor envía una señal momentánea.

2022-04-14 11_02_09-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensor de pulso cardíaco.

Este módulo utiliza un LED infrarrojo (IR) ultrabrillante y un fototransistor para detectar el pulso en el dedo. Principio de funcionamiento: Se debe colocar el dedo entre el LED infrarrojo ultrabrillante (parte superior) mientras que el fototransistor, que queda en el otro lado, recoge la cantidad de luz transmitida. La resistencia del fototransistor variará levemente a medida que la sangre pase a través de su dedo.

2022-04-14 11_03_47-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensor de Alcohol.

Este sensor de gas analógico MQ-3 es adecuado para detectar alcohol. Se puede usar en un analizador de aliento. También tiene una alta sensibilidad al alcohol y baja sensibilidad a la bencina (éter de petróleo). La sensibilidad se puede ajustar con el potenciómetro.

2022-04-14 11_04_42-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Sensor de CO2

Hay sensores que utilizan el protocolo I2C, este protocolo permite conexiones serie y pueden compartir el mismo cable pues cada elemento tiene una dirección diferente. Esto lo veremos en el Display LCD. Se identifican por los pinen SDA y SCL

CCS811-KEYSTUDUUDIO.png


Sensor de Gas (MQ2).

Este sensor analógico de gas MQ-2 se utiliza en equipos de detección de fugas de gas en electrónica de consumo y mercados industriales. Este sensor es adecuado para detectar GLP, I-butano, propano, metano, alcohol, hidrógeno y humo. Tiene alta sensibilidad y respuesta rápida. La sensibilidad se puede ajustar girando el potenciómetro.

2022-04-14 11_05_36-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png

Esta sección está adaptado de este enlace. José Andrés Echevarría @cantabRobots CC-BY-NC-SA

Resistencia Flex

Es una resistencia que cuanto más se dobla más resistencia ofrece, desde 25k hasta 125k

Datasheet Sparkfun

Para utilizar esta resistencia haremos un DIVISOR DE TENSIÓN que consistirá en poner dos resistencias en serie y repartirá la tensión total entre 0V y 5V en las dos resistencias, el punto medio será un punto que tendrá una tensión variable en función de las dos resistencias, como la es variable, esa tensión es variable y ya tenemos la entrada analógica:

Es decir:

  • La resistencia entre masa GND del ARDUINO (cable negro) y un punto en la placa protoboard
  • ese punto medio conectarlo a una entrada analógica, por ejemplo A0 (cable amarillo)
  • Una resistencia de valor parecida a la Flex de decenas de K entre ese punto y +5V (cable rojo en la foto)

Este sensor tiene posibilidades para usarlo en "ropa inteligente".

Sensor de movimiento con Microondas

Tradicionalmente se utilizan sensores PIR de infrarrojos para detectar el movimiento, pero personalmente veo que tienen falsos positivos y negativos, si quieres utilizarlos, te recomendamos esta página de Luis LLamas 

2022-04-16 10_24_22-sensor pir arduino at DuckDuckGo.png

Personalmente prefiero los sensores de microondas. Son un radar que por efecto Doppler pueden captar cualquier objeto en movimiento dentro de un alcance de 5-7 metros en cualquier dirección e independiente de su temperatura. Es un buen sensor para alarmas, activación de luz por presencia.... Curiosamente, su gran ventaja técnica es un gran inconveniente para usarlo en el aula, con cualquier movimiento se dispara. Para saber más ver la página de Luis Llamas

image-1650097316026.png

Su conexión es muy sencilla, es un detector digital que hay que alimentarlo como el resto de sensores.

image-1650097889205.png

Esta sección es una visión rápida de las posibles entradas del Arduino y está adaptado de este enlace. José Andrés Echevarría @cantabRobots CC-BY-NC-SA