Categorías: Circuitos microcontroladores
Cantidad de vistas: 32016
Comentarios sobre el artículo: 0

Sensores más populares para Arduino

 

Los sensores se utilizan en una amplia variedad de circuitos y proyectos. Ninguna automatización puede prescindir de ellos. Estamos interesados ​​en ellos porque se ha creado un proyecto para simplificar el diseño y la popularización de la electrónica. Arduino. Esta es una placa terminada con un microcontrolador y todo lo que necesita para trabajar con ella y programarla. En este artículo, consideraremos sensores para Arduino, pero también se pueden usar con otros microcontroladores.

Sensores más populares para Arduino

¿Qué son los sensores?

Los sensores son los ojos, oídos y otros sentidos. microcontrolador u otro dispositivo de control. Se distinguen por la naturaleza de la señal y por el propósito.

Por la naturaleza de la señal se divide en:

  • Análogo;

  • Digital

Y para este propósito, los sensores son para medir:

  • Temperatura;

  • Presión;

  • Humedad

  • Acidez;

  • Iluminación

  • Nivel de agua u otras sustancias;

  • Vibración

  • Y otros componentes especializados.

Si hablamos de Arduino, cuando recibimos información de los sensores, procesamos una señal digital o medimos el voltaje de la salida analógica del módulo. Como ya se mencionó, los sensores son digitales y analógicos. Algunos módulos para Arduino tienen salida digital y analógica, lo que los unifica.

Por dispositivo son

  • Resistiva

  • Inductivo

  • Capacitivo;

  • Piezoeléctrico;

  • Fotocélulas y otros tipos.



Sensor de luz o luz

La forma más fácil de determinar el brillo de algo: usar un fotorresistor, fotodiodo o fototransistor. Puede conectar una de las opciones enumeradas a Arduino o comprar una placa especial: sensor de luz.

Sensor de luz

¿Cuáles son los beneficios de una solución llave en mano? En primer lugar, para determinar los cambios en la iluminación de una fotocélula no es suficiente, también necesita una resistencia de ajuste o regular, tal vez comparador, para operación gradual sí / no. En segundo lugar, una placa de circuito impreso fabricada en fábrica será más confiable que un montaje con bisagras o una placa de lote, u otras formas que utilizan los aficionados.

Sensor de luz

En aliexpress o en otras tiendas en línea se puede encontrar a pedido "SENSOR FOTOSENSIBLE" o simplemente "sensor de luz".

Este módulo tiene tres salidas:

  • Nutrición;

  • Tierra

  • Salida digital desde el comparador.

O una versión de cuatro pines:

  • Nutrición;

  • Tierra

  • Salida digital desde el comparador;

  • Análogo

Entonces, en la placa colocada la resistencia de sintonización para ajustar el tiempo del comparador puede producir una señal digital.

Ejemplos de uso:

  • Sensor de luz para relé fotográfico;

  • Alarma (emparejado con el emisor);

  • Contador de objetos que cruzan el haz de luz, etc.

Es difícil lograr valores exactos, ya que se necesitará un medidor de luz correcto para el ajuste correcto mediante iluminación. Los fotoresistores son más adecuados para determinar valores abstractos como "oscuro o claro".

Además de tal tablero a la venta, puede encontrar bastante interesante Módulo GY-302. Este es un sensor de luz basado en el circuito integrado BH-1750. Su característica es que es un módulo digital, tiene una capacidad de 16 bits, se comunica con microcontroladores a través del bus i2c. 16 bits le permiten medir la iluminación de 1 a 65356 Lux (Lx).

Sensor de luz ambiental basado en circuito integrado BH-1750

A continuación se muestra un diagrama de su conexión. Puede notar que SDA y SCL conectado a los pines analógicos del microcontrolador.

Diagrama de conexión del sensor de luz

Esto se debe al hecho de que el bus I2C se implementa en estos pines arduino, que se puede ver mirando la siguiente imagen. Por lo tanto, no se deje engañar por este hecho; el sensor es digital.

Diagrama del módulo GY-302

La ventaja de los sensores digitales es que no necesita verificar los valores de cada instancia, compilar tablas para traducir los valores medidos en escalas reales, etc.En la mayoría de los casos, para sensores digitales, es suficiente simplemente conectar una biblioteca preparada y leer los valores convertidos en unidades reales.

Bosquejo de ejemplo para GY-302 (BH-1750):

Ejemplo de boceto para GY-302

¿Cómo funciona un boceto?

Al principio, le decimos al programa que necesitamos conectar la biblioteca Wire.h, que es responsable de la comunicación a través de la línea I2C, y el BH1750. El resto de las acciones están bien descritas en los comentarios y, como resultado, cada 100 ms leemos el valor del sensor en Lux.

Características de GY-302 BH1750:

  • Comunicación por microcontrolador I2C

  • Respuesta espectral similar a la sensibilidad ocular.

  • Los errores debidos a la radiación infrarroja se minimizan.

  • Rango de medición 0-65535 Lux

  • Tensión de alimentación: 3-5 V

  • Bajo consumo de corriente y función de reposo

  • 50/60 Hz filtrado de ruido de luz

  • El número máximo de sensores en 1 bus I2C es de 2 piezas.

  • No requiere calibración

  • Consumo de corriente - 120 μA

  • En modo de suspensión - 0.01 μA

  • Longitud de onda medida - 560 nm

  • En modo de alta resolución - 1 Lux

  • En modo de baja resolución - 4 Lux

  • ADC - 16 bit

Tiempo necesario para las mediciones:

  • En modo de alta resolución - 120 ms

  • En modo de baja resolución: 16 ms


Sensor de obstáculos

Elegí este sensor como el siguiente a considerar, porque una de sus opciones funciona sobre la base de un fotodiodo o fototransistor, que en principio son similares al fotorresistor discutido en la sección anterior.

Sensor de obstáculos

Su nombre es "sensor óptico de obstáculos". El elemento funcional principal es el fotodiodo y el LED que emite y recibe en el espectro IR (por lo tanto, no es visible para el ojo humano, así como un conjunto de umbral montado, por ejemplo, en un comparador con un regulador de sensibilidad. Al usarlo, la distancia a la que se activa el sensor se ajusta, por cierto, es digital.

Ejemplo de diagrama de conexión:

Ejemplo de conexión

Un ejemplo de un programa de procesamiento de señal de un sensor.

Un ejemplo de un programa de procesamiento de señal de un sensor

Aquí, si la salida del sensor es "1", lo que significa que "hay un obstáculo", el LED en la placa Arduino o conectado al pin 13 (lo mismo) se encenderá. Usado con mayor frecuencia en robótica y alarmas.

Usando sensores

Sensor de distancia

La copia anterior consta de un receptor, un fotodiodo y un emisor, un LED. El sensor de distancia ultrasónico también consta de un receptor y un emisor de ondas ultrasónicas. Su nombre es HC SR04.

Sensor de distancia

Características HC SR04:

  • Tensión de alimentación de 5V

  • El parámetro operativo de la fuerza t oka - 15 mA

  • Corriente pasiva <2 mA

  • Ángulo de visión - 15 °

  • Resolución táctil - 0.3 cm

  • Ángulo de medición - 30 °

  • Ancho de pulso: 10-6 s

  • Rango de medida: 2-400 cm.

El error aparece debido a:

  • temperatura y humedad: se pueden reducir midiendo la temperatura con DHT-11 o DHT-22, por ejemplo, e ingresando coeficientes para corregir las mediciones.

  • distancia al objeto;

  • La ubicación del objeto en relación con el sensor (de acuerdo con el diagrama de radiación) se puede compensar instalando HC SR04 en el servoaccionamiento para cambiar de dirección y realizar ajustes precisos.

  • Calidad de rendimiento de los elementos del módulo sensor.

Patrón de radiación:

Patrón de radiación

La placa tiene cuatro salidas:

  • VCC - potencia;

  • Trig - señal de entrada;

  • Eco - señal de salida;

  • GND es un cable común.

Cables de sensor HC SR04

¿Cómo procesar lecturas?

1. Enviamos un pulso con una duración de 10 μs a la entrada TRIG;

2. Dentro del módulo, el pulso se convierte en un paquete de 8 pulsos que se suceden con una frecuencia de 40 kHz y se envían a través del emisor;

3. Los impulsos reflejados por el obstáculo llegan al receptor y se envían a ECHO;

4. La duración del pulso recibido de la salida de ECHO debe dividirse por 58.2 para obtener la distancia en centímetros y por 148 si necesita convertir a pulgadas.

Código de ejemplo:

Código de muestra

Medir la temperatura

La forma más fácil de medir la temperatura usando un microcontrolador es usar un termopar o termistor. Los termopares se usan para medir altas temperaturas, para medir interiores y exteriores, de los que hablaré un poco más abajo, pero por ahora, veamos un termopar.

Sensor de temperatura

Cada tipo de termopar tiene su propio enfoque para trabajar con un microcontrolador. Por ejemplo, hay un termopar tipo K, o como también se lo llama, cromel-alumel, con un rango de temperaturas medidas de -200 a +1400 grados Celsius con una sensibilidad de 41 mV / grado Celsius. Y para ella hay un convertidor especial basado en el max6675 IC, tiene una función para compensar la temperatura de la unión fría, etc.

Módulo para medir temperatura

Puede trabajar con este módulo utilizando la biblioteca del mismo nombre para Arduino. En la siguiente figura, verá un ejemplo de código de programa para este caso.

Código de muestra

Luego, se muestra lo siguiente en el monitor del puerto serie.

Monitor de puerto serie

Pero también hay un sensor de temperatura digital. DS12B20, se puede llamar clásico, ya que se ha utilizado durante muchos años en proyectos de aficionados y mucho antes de la aparición de Arduino.

Sensor de temperatura digital DS12B20

Este circuito integrado digital su dispositivo interno se muestra en la siguiente figura:

Dispositivo interno microcircuito

Diagrama de conexión de la placa:

Diagrama de conexión de la placa

Características e información clave DS18b20:

  • El error es inferior a 0,5 ° C (en el rango de temperatura de -10 ° C a + 85 ° C).

  • No requiere calibración

  • Rango de medición: de -55 С a + 125С

  • VCC, tensión de alimentación 3.3-5V.

  • resolución de hasta 0.0625С, establecida por software;

  • Resolución - 12 bits

  • A cada instancia se le asigna un código de serie único. Esto es necesario para usar fácilmente varias piezas en un proyecto

  • Interfaz de comunicación: 1 cable

  • No requiere flejes

  • El número máximo de sensores en una línea es de 127 piezas.

  • Modo de energía espuria: en este caso, el sensor se alimenta directamente desde la línea de comunicación. Al mismo tiempo, no se garantiza una medición de temperatura superior a 100C

A continuación puede ver el cuadro de conversión del código binario de DS18b20 a temperatura en grados Celsius.

Tabla de conversión para el código binario de DS18b20 a temperatura en grados Celsius

Programa de ejemplo para leer valores de temperatura.

Programa de ejemplo para leer valores de temperatura

Sensores de presión atmosférica

Los barómetros electrónicos se montan sobre la base de sensores de presión atmosférica. Las siguientes opciones fueron ampliamente utilizadas:

  • BMP180;

  • BMP280;

  • BME280.

Sensores de presión atmosférica

Si las dos instancias anteriores eran similares entre sí, entonces Sensor BME280 - Esta es una estación meteorológica en miniatura. Se incorporan 3 sensores:

  • Temperatura;

  • Presión;

  • Humedad

Sus características técnicas:

  • Dimensiones 2.5 x 2.5 x 0.93 mm;

  • Carcasa de metal LGA, equipada con 8 salidas;

  • Tensión de alimentación 1.7 - 3.6V;

  • Disponibilidad de interfaces I2C y SPI;

  • Consumo de corriente en espera 0.1 µA.

Estos ejemplos son los barómetros MEMS. MEMS significa microelectromecánico. Esta es una microestructura mecánica que utiliza fenómenos capacitivos y otros principios para su trabajo. A continuación, verá un ejemplo de dicho sensor en el contexto.

Ejemplo seccional de un sensor

Ejemplo de diagrama de conexión:

Ejemplo de conexión

Y un ejemplo de código de programa:

Código de muestra

La lógica del programa es simple:

1. Llame a la lectura de la subrutina (función) desde el sensor.

2. Solicitud de lecturas del sensor de temperatura integrado en el barómetro.

3. Estamos esperando tiempo para evaluar el sensor de temperatura;

4. Lea el resultado de las mediciones de temperatura;

5. Solicitar valores de presión;

6. Estamos esperando el tiempo de medición de presión;

7. Lea el valor de la presión;

8. Devuelva el valor de presión de la función.

Un hecho interesante es que hay cuatro opciones para leer valores, se especifican como argumento en la función startPressure, el segundo signo es de 0 a 3, donde 0 es una estimación aproximada y 3 es una estimación exacta.


Sensor de movimiento

El sensor de movimiento más común para Arduino es Módulo de sensor de infrarrojos HC SR501. Una característica de este módulo es que tiene un ajuste de la distancia de respuesta y el tiempo de retraso de la señal de salida después de la operación.

Sensor de movimiento

Características del módulo:

1. Tensión de alimentación 4.5 - 20 V.

2. Corriente de reposo ≈ 50 μA;

3. Tensión de señal de salida (nivel lógico): 3,3 V;

4. Rango de temperatura de funcionamiento: de -15 ° C a 70 ° C;

5. Dimensiones: 32 * 24 mm;

6. Campo de visión - 110 °;

7. Distancia máxima de funcionamiento: de 3 a 7 m (ajustable); Por encima de 30 ° C, esta distancia puede disminuir.

Diagrama de cableado:

Diagrama de conexión del sensor de movimiento

Cómo trabajar con él lo consideramos en un artículo publicado anteriormente: Esquemas de sensores de movimiento, el principio de su trabajo y diagramas de cableado.


Sensor de nivel de agua

Diseñado para indicar el nivel de líquido.

Sensor de nivel de agua

Caracteristicas

1. Tensión de alimentación 3-5V

2. Consumo de corriente> 20 mA

3. Analógico

4. Dimensiones de la zona de medición 40x16 mm.

5. Humedad permitida 10% - 90%

Código de ejemplo:

Código de muestra

Los valores de salida son de 0 (en estado seco) a 685 (puede diferir en realidad depende de la conductividad del agua). No se olvide de la electrólisis, al medir el nivel de sal o agua dura, se corroerá.


Sensor de fugas

El módulo consta de dos partes: el sensor en sí y el comparador, se pueden construir en el LM393, LM293 o LM193.

Sensor de fugas

Gracias al comparador, la señal analógica se convierte a digital.

Diagrama de cableado:

Diagrama de cableado del sensor de fugas

Pinout del tablero:

  • VCC - potencia, debe coincidir con la potencia de la placa Apduino, en la mayoría de los casos es de 5V;

  • GND - cable común;

  • AO - señal analógica;

  • DO es una señal digital.

Hay una resistencia de sintonización en la placa del comparador, que establece la sensibilidad del sensor. Puede actuar como una señal de lluvia o una fuga de algo, y cuando se combina con una grúa de este tipo, puede funcionar como protección contra fugas de tuberías en el apartamento:

Grifo de protección contra fugas

El video muestra cómo funciona:


Sensor de humedad

De uso común en proyectos de riego automático, para determinar la humedad del suelo, así como el anterior consiste en electrodos y una placa con un comparador.

Sensor de humedad

Puede funcionar tanto en modo analógico como digital. Ejemplo de diagrama de cableado para un sistema de riego automático con una grúa basada en un motor:

El diagrama de conexión del sensor de humedad a Arduino

Y un ejemplo de código de programa para procesar una señal digital de un sensor de humedad:

Código de ejemplo para procesar una señal digital de un sensor de humedad
Sensor digital de temperatura y humedad AM2302

Conclusión

Examinamos sensores populares, pero también hay muchos otros. Estos son una variedad de sensores de vibración, giroscopios, acelerómetros, sensores de radiación y más.

El objetivo del artículo era reunir en un lugar una variedad de elementos que pueden ser útiles para un ingeniero electrónico principiante para la implementación de sus proyectos. Si está interesado en un sensor en particular, escriba los comentarios y lo consideraremos con más detalle.

Para su comodidad, hemos compilado para usted una tabla con un costo estimado y una lista de sensores populares para Arduino, en el orden en que fueron considerados en el artículo:Sensores para Arduino

Los precios se toman de tiendas en línea en Rusia o Ucrania. En China, cuestan 2 o más veces más barato.

Ver también en bgv.electricianexp.com:

  • Medición de temperatura y humedad en Arduino: una selección de métodos
  • Conexión de sensores analógicos a Arduino, lectura de sensores
  • ¿Cuál es la diferencia entre sensores analógicos y digitales?
  • Cómo se organiza y funciona el sensor de línea
  • Esquemas de sensores de movimiento y el principio de su trabajo, diagramas de cableado

  •