Bienvenidos al tutorial sobre el uso del módulo de detección de estado de presencia humana LD2410C. Este dispositivo, desarrollado por Hi-link, es una herramienta versátil y de alta sensibilidad que utiliza ondas continuas moduladas en frecuencia (FMCW) para detectar la presencia de seres humanos en un área designada.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
Componentes electrónicos
Arduino micro
Especificaciones técnicas
MICROCONTROLADOR | ATmega32U4 |
TENSIÓN DE FUNCIONAMIENTO | 5V |
VOLTAJE DE ENTRADA (RECOMENDADO) | 7-12V |
PINES DE E/S DIGITALES | 20 |
CANALES PWM | 7 |
CANALES DE ENTRADA ANALÓGICA | 12 |
CORRIENTE CC POR PIN DE E/S | 20mA |
CORRIENTE CC PARA CLAVIJA DE 3,3 V | 50mA |
MEMORIA FLASH | 32 KB (ATmega32U4) de los cuales 4 KB utilizados por el gestor de arranque |
SRAM | 2,5 KB (ATmega32U4) |
EEPROM | 1 KB (ATmega32U4) |
VELOCIDAD DE RELOJ | 16 MHz |
LED_CONSTRUIDO | 13 |
LONGITUD | 48mm |
ANCHO | 18mm |
PESO | 13 gramos |
Cable micro usb
Cables dupont hembra hembra
Pines macho
Zócalo para arduino micro
PCB
Descargar archivo gerber –>teclado arduino micro
Circuito
Código Fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
/* * Ejemplo de boceto para informar sobre lecturas del LD2410 utilizando la configuración actualmente configurada. * * Esto ha sido probado en las siguientes plataformas... * * En ESP32, conecta el LD2410 a los pines GPIO 32 y 33 * En ESP32S2, conecta el LD2410 a los pines GPIO 8 y 9 * En ESP32C3, conecta el LD2410 a los pines GPIO 4 y 5 * En Arduino Leonardo u otras placas ATmega32u4, conecta el LD2410 a los pines GPIO TX y RX de serie de hardware * * La configuración serie para otras placas variará y deberás asignarlos tú mismo * * No hay un ejemplo para ESP8266 ya que solo tiene una UART utilizable y no arrancará si los pines UART alternativos se usan para el radar. * * Para que este boceto y otros ejemplos sean útiles, la placa debe tener dos UART utilizables. * */ int redPin = 11; // R pin rojo int greenPin = 9; // G pin verde int bluePin = 10; // B pin azul byte com = 0; #if defined(ESP32) #ifdef ESP_IDF_VERSION_MAJOR // IDF 4+ #if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 32 #define RADAR_TX_PIN 33 #elif CONFIG_IDF_TARGET_ESP32S2 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 9 #define RADAR_TX_PIN 8 #elif CONFIG_IDF_TARGET_ESP32C3 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 4 #define RADAR_TX_PIN 5 #else #error El objetivo CONFIG_IDF_TARGET no es compatible #endif #else // ESP32 antes de IDF 4.0 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 32 #define RADAR_TX_PIN 33 #endif #elif defined(__AVR_ATmega32U4__) #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 0 #define RADAR_TX_PIN 1 #endif #include <ld2410.h> ld2410 radar; uint32_t ultimaLectura = 0; bool radarConectado = false; void setup(void) { pinMode(redPin, OUTPUT); // Establece el redPin como una salida pinMode(greenPin, OUTPUT); // Establece el greenPin como una salida pinMode(bluePin, OUTPUT); // Establece el bluePin como una salida MONITOR_SERIAL.begin(115200); // Retroalimentación por el Monitor Serial // radar.debug(MONITOR_SERIAL); // Descomenta para mostrar información de depuración de la biblioteca en el Monitor Serial. Por defecto, esto no muestra lecturas de sensor ya que son muy frecuentes. #if defined(ESP32) RADAR_SERIAL.begin(256000, SERIAL_8N1, RADAR_RX_PIN, RADAR_TX_PIN); // UART para monitorear el radar #elif defined(__AVR_ATmega32U4__) RADAR_SERIAL.begin(256000); // UART para monitorear el radar #endif delay(500); MONITOR_SERIAL.print(F("\nConecta el TX del radar LD2410 al GPIO:")); MONITOR_SERIAL.println(RADAR_RX_PIN); MONITOR_SERIAL.print(F("Conecta el RX del radar LD2410 al GPIO:")); MONITOR_SERIAL.println(RADAR_TX_PIN); MONITOR_SERIAL.print(F("Inicializando el sensor de radar LD2410: ")); if(radar.begin(RADAR_SERIAL)) { MONITOR_SERIAL.println(F("OK")); MONITOR_SERIAL.print(F("Versión del firmware LD2410: ")); MONITOR_SERIAL.print(radar.firmware_major_version); MONITOR_SERIAL.print('.'); MONITOR_SERIAL.print(radar.firmware_minor_version); MONITOR_SERIAL.print('.'); MONITOR_SERIAL.println(radar.firmware_bugfix_version, HEX); } else { MONITOR_SERIAL.println(F("no conectado")); } } void loop() { radar.read(); if(radar.isConnected() && millis() - ultimaLectura > 1000) // Reportar cada 1000ms { ultimaLectura = millis(); if(radar.presenceDetected()) { if(radar.stationaryTargetDetected())//Si detecta un objetivo quieto, se pone de color azul { Serial.print(F("Objetivo quieto LUZ AZUL: ")); Serial.print(radar.stationaryTargetDistance()); Serial.print(F("cm energia:")); Serial.print(radar.stationaryTargetEnergy()); Serial.println(' '); color(0, 0, 255); //led RGB como azul } if(radar.movingTargetDetected())//Si detecta un objetivo en movimiento, se pone de color roja { Serial.print(F("SE HA DETECTADO OBJETIVO EN MOVIMIENTO LUZ ROJA!: ")); Serial.print(radar.movingTargetDistance()); Serial.print(F("cm energia:")); Serial.print(radar.movingTargetEnergy()); color(255, 0, 0);//led RGB como rojo } Serial.println(); } else { Serial.println(F("Sin objetivo LUZ VERDE"));//Sin objetivo al alcance, se pone de color verde color(0,255, 0);//led RGB como verde } } } //Función para la generación del color void color (unsigned char red, unsigned char green, unsigned char blue) { analogWrite(redPin, red*102/255); analogWrite(bluePin, blue*173/255); analogWrite(greenPin, green*173/255); } |
No olvides instalar la siguiente Librería —> ld2410-0.1.3
PROYECTO RECOMENDADO