Cómo usar múltiples sensores con Arduino y LCD

«Descubre cómo aprovechar todo el potencial de Arduino y una pantalla LCD al utilizar múltiples sensores simultáneamente. En este artículo, te enseñaremos paso a paso cómo combinar diferentes sensores con Arduino y visualizar los resultados en tiempo real en una pantalla LCD. ¡No te pierdas esta oportunidad de explorar nuevas posibilidades con la electrónica!»

Mire primero este tutorial detallado sobre «Cómo usar múltiples sensores con Arduino»:



Sensores utilizados en este proyecto

SENSOR PIR

Un sensor infrarrojo latente (sensor PIR) es un sensor electrónico que mide la luz infrarroja (IR) que se transmite desde los objetos en su campo de visión. Son ampliamente utilizados en localizadores de movimiento basados ​​en PIR. Los sensores PIR se utilizan normalmente en advertencias de seguridad y aplicaciones de iluminación programada.

Cómo usar múltiples sensores con Arduino y LCD
SENSOR>

SENSOR DE GAS Y LDR

Los sensores de gas (también conocidos como detectores de gas) son dispositivos electrónicos que distinguen y reconocen varios tipos de gases. Pueden identificar gases venenosos o inestables y medir gases. Por lo tanto, los sensores de gas se utilizan en instalaciones industriales y oficinas de ensamblaje para reconocer derrames de gas e identificar humo y monóxido de carbono en los hogares.

Las resistencias fotográficas, también conocidas como resistencias de protección de la luz (LDR), son sensibles a la luz. Estos sensores delicados de luz detectan con frecuencia la presencia o ausencia de luz y miden la intensidad de la luz.

Cómo usar múltiples sensores con Arduino y LCD
>

SENSOR ULTRASÓNICO

Un sensor ultrasónico es un dispositivo electrónico que mide la distancia de un objeto emitiendo ondas de sonido ultrasónicas y convierte el sonido reflejado en una señal eléctrica. Las ondas ultrasónicas viajan más rápido que la velocidad del sonido audible (por ejemplo, el sonido que los humanos pueden escuchar). Por lo tanto, el rendimiento de este dispositivo es realmente rápido.

SENSOR DE IR

Un sensor infrarrojo (IR) es un dispositivo electrónico que mide y reconoce la radiación infrarroja a su alrededor. Hay dos tipos de sensores infrarrojos: activos y pasivos. Los sensores infrarrojos activos generan y detectan radiación infrarroja. Por otro lado, los sensores infrarrojos pasivos (PIR) solo detectan la radiación infrarroja y no la emiten desde un LED.

SENSOR DE TEMPERATURA Y HUMEDAD DHT11

Un sensor de humedad (o higrómetro) detecta, mide e informa tanto la humedad como la temperatura del aire.

Cómo usar múltiples sensores con Arduino y LCD
SENSOR>

Componentes adicionales

PANTALLA LCD 16X2

Una pantalla LCD de 16×2 es un módulo básico que generalmente encuentra su aplicación en diferentes dispositivos y circuitos. Una pantalla LCD de 16 × 2 implica que puede mostrar 16 caracteres para cada línea y hay 2 de esas líneas. Además, en la pantalla LCD de 16×2, cada carácter se muestra en una red de 5×7 píxeles.

Cómo usar múltiples sensores con Arduino y LCD
PANTALLA>

5 LED

Cómo usar múltiples sensores con Arduino y LCD
LED

Resistencias>

DIAGRAMA DE CIRCUITO para usar sensores múltiples con Arduino:

Cómo usar múltiples sensores con Arduino y LCD
Diagrama>

PROGRAMA para usar Múltiples sensores con Arduino:

/*
 *  multiple_Sensors_With_Arduino
 *  
 *  Created on: May 27, 2020
 *      Author:youtube.com/theelectronicguy      
 */


#include <SimpleDHT.h>//DHT11 library(Search : simpledht in Library Manager)
#include <LiquidCrystal.h>//LCD library
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);//lcd(RS,En,D4,D5,D6,D7)

#define PIR_SENSOR      A0//pir sensor(pins:1)
/*
   Uncomment when using GAS Sensor
*/
//#define GAS_SENSOR      A1
/*
   Uncomment when using LDR Sensor
*/
#define LDR_SENSOR      A1
//ultrasonic sensor(pins:2)
#define ULT_TRIG        A2
#define ULT_ECHO        A3
#define IR_SENSOR       A4//Ir sensor(pins:1)
#define HT_SENSOR       A5//humidity and temperature sensor(pins:1)

//leds(pins:5)
#define HT_LED          8
#define IR_LED          9
#define ULT_LED         10
#define BUZZER          11// for ultrasonic sensor
//#define GAS_LED       12
#define LDR_LED         12
#define PIR_LED         13

// create a dht11 object
SimpleDHT11 dht11(HT_SENSOR);

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.clear();
  // set sensor pins as inputs
  for (int i = PIR_SENSOR; i <= HT_SENSOR; i++)
    pinMode(i, INPUT);
  //set trigger pin as output
  pinMode(ULT_TRIG, OUTPUT);
  // set led pins as output
  for (int i = HT_LED; i <= PIR_LED; i++)
    pinMode(i, OUTPUT);

  // print sensor name on the LCD
  lcd.setCursor(0, 0);
  lcd.print("IS=  ");//IR Sensor data will be displayed at (3,0)
  lcd.print("US=   ");//Ultrasonic Sensor data will be displayed at(8,0)
  //lcd.print("GS=   ");//Gas Sensor data will be displayed at(14,0)
  lcd.print("LDR=  ");//LDR Sensor data will be displayed at(15,0)
  lcd.setCursor(0, 1);// Move cursor to the next line of LCD
  lcd.print("PS=  ");//PIR Sensor data will be displayed at(3,1)
  lcd.print("HS=   ,   ");//Humidity & temperature Sensor data will be displayed at(8,1) &(12,1) respectivel
}

void loop() {
  /*
     read continously from each sensor
  */
  //print digital values from Ir Sensor
  ir_Readings();
  //distance measurement using Ultrasonic Sensor
  us_Readings();
  //read values from gas sensor
  //gas_Readings();
  //read values from LDR sensor
  LDR_Readings();
  //read analog values from pir sensor
  pir_Readings();
  // read temp and humidity from ht sensor
  ht_Readings();
}

void ir_Readings() {
  int x = digitalRead(IR_SENSOR);
  lcd.setCursor(3, 0);
  lcd.print(!x);
  Serial.print("IR=");
  Serial.print(!x);
  Serial.print("\t");
  //IR Sensor input condition for Led to glow
  if (x == 0) {
    digitalWrite(IR_LED, HIGH);
  }
  else {
    digitalWrite(IR_LED, LOW);
  }

}

void us_Readings() {
  long  duration;
  int distance;
  duration = time_Measurement(duration);
  distance = (int)duration * (0.0343) / 2;

  if (distance > 99 || distance < 0)//If distance is negative or greater than 99, then always show distance =0
    distance = 0;

  display_distance(distance);
}

//uncomment when using GAS Sensor
/*void gas_Readings() {
  int x = analogRead(GAS_SENSOR);
  lcd.setCursor(14, 0);
  lcd.print(x);
  Serial.print("GS=");
  Serial.print(x);
  Serial.print("\t");

   //Gas Sensor input condition for Led to glow
  if (x >= 60)
    digitalWrite(9, HIGH);
  else
    digitalWrite(9, LOW);
  }*/

//uncomment when using LDR Sensor
void LDR_Readings() {
  int x = digitalRead(LDR_SENSOR);
  lcd.setCursor(15, 0);
  lcd.print(x);
  Serial.print("LDR=");
  Serial.print(x);
  Serial.print("\t");

  //LDR Sensor input condition for Led to glow
  if (x == 1) {
    digitalWrite(LDR_LED, HIGH);
  }
  else {
    digitalWrite(LDR_LED, LOW);
  }
}

void pir_Readings() {
  int x = digitalRead(PIR_SENSOR);
  lcd.setCursor(3, 1);
  lcd.print(x);
  Serial.print("PS=");
  Serial.print(x);
  Serial.print("\t");

  ////PIR Sensor input condition for Led to glow
  if (x == 1) {
    digitalWrite(PIR_LED, HIGH);
  }
  else {
    digitalWrite(PIR_LED, LOW);
  }
}

void ht_Readings() {
  byte temperature = 0;
  byte humidity = 0;

  dht11.read(&temperature, &humidity, NULL);// <simpledht> library function to read temperature and humidity

  lcd.setCursor(8, 1);
  lcd.print((int)temperature);
  lcd.print("*");//temperature in degree
  lcd.setCursor(12, 1);
  lcd.print((int)humidity);
  lcd.print("%");
  Serial.print("HT=");
  Serial.print(temperature);
  Serial.print("*C,");
  Serial.print(humidity);
  Serial.print("%");
  Serial.println();

  //Temperature and humidity conditions for Led to glow
  if (temperature > 38 || humidity > 37)
    digitalWrite(HT_LED, HIGH);
  else
    digitalWrite(HT_LED, LOW);

  delay(500);

}


int time_Measurement(int duration)
{

  digitalWrite(ULT_TRIG, LOW);
  delayMicroseconds(2);

  digitalWrite(ULT_TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(ULT_TRIG, LOW);

  duration = pulseIn(ULT_ECHO, HIGH);
  return duration;
}

void display_distance(int distance)
{
  lcd.setCursor(8, 0);
  if (distance < 10) {
    lcd.print(0);
  }
  lcd.print(distance);
  Serial.print("US=");
  Serial.print(distance);
  Serial.print("\t");

  //distance condition for Led to glow
  if (1 <= distance && distance <= 10) {
    digitalWrite(ULT_LED, HIGH);
    tone(BUZZER, 2000);
  }
  else {
    digitalWrite(ULT_LED, LOW);
    noTone(BUZZER);
  }

  delay(10);
}

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded




Preguntas frecuentes sobre cómo usar múltiples sensores con Arduino y LCD

Preguntas frecuentes sobre cómo usar múltiples sensores con Arduino y LCD

1. ¿Qué es Arduino?

Arduino es una plataforma de prototipado electrónico de código abierto que permite realizar proyectos interactivos.

Referencia: Wikipedia – Arduino

2. ¿Cómo puedo conectar múltiples sensores a Arduino?

Para conectar múltiples sensores a Arduino, necesitarás utilizar pines digitales o analógicos disponibles en la placa.

3. ¿Qué es un LCD?

Un LCD (Liquid Crystal Display) es una pantalla que utiliza cristales líquidos para permitir la visualización de información.

Referencia: Wikipedia – Pantalla de cristal líquido

4. ¿Cómo puedo utilizar un LCD con Arduino?

Para utilizar un LCD con Arduino, necesitas conectar los pines correspondientes a los pines de control y los pines de datos del LCD. Luego, puedes enviar comandos y datos desde Arduino para mostrar información en la pantalla.

5. ¿Cómo puedo combinar múltiples sensores con un LCD en Arduino?

Para combinar múltiples sensores con un LCD en Arduino, debes conectar cada sensor a los pines disponibles en la placa y realizar la lectura de cada sensor por separado. Luego, puedes enviar los datos al LCD para mostrar la información recolectada en la pantalla.

6. ¿Cuáles son algunos ejemplos de proyectos que involucran múltiples sensores y un LCD en Arduino?

Algunos ejemplos de proyectos que involucran múltiples sensores y un LCD en Arduino son:

  1. Sistema de monitoreo ambiental con sensor de temperatura, sensor de humedad y LCD para mostrar los valores medidos.
  2. Control de iluminación con sensor de luz, sensor de movimiento y LCD para mostrar el estado de la iluminación.
  3. Estación meteorológica con sensor de temperatura, sensor de humedad, sensor de presión atmosférica y LCD para mostrar los datos climáticos.

7. ¿Dónde puedo encontrar más información y tutoriales sobre el uso de múltiples sensores con Arduino y LCD?

Puedes encontrar más información y tutoriales sobre el uso de múltiples sensores con Arduino y LCD en la página de Wikipedia de Arduino y en la página oficial de Arduino.


Deja un comentario