Pedido antes de las 14:00 en día laborable = enviado el mismo día 30 días de desistimiento 1 año de garantía
← Volver al resumen

Al reproducirlo, se carga el vídeo de YouTube.

Esquema de conexión y ejemplo de código

Así conectas el Sensor PIR HC-SR501 Sensor de movimiento a un Arduino UNO o ESP32, con un sketch de ejemplo que puedes subir directamente.

Detección de movimiento HC-SR501 con Arduino Uno

Este proyecto detecta el movimiento humano usando el sensor PIR HC-SR501. Cuando se detecta movimiento, el pin de salida del sensor pasa a HIGH, encendiendo el LED onboard e imprimiendo una alerta en el Serial Monitor. Abre el Serial Monitor a 115200 baud para ver el estado del movimiento en tiempo real.

Esquema de conexión: Sensor PIR HC-SR501 Sensor de movimiento en un Arduino UNO
Esquema de conexión · Haz clic para ampliar
Tabla de conexión: Sensor PIR HC-SR501 Sensor de movimiento en un Arduino UNO
Tabla de conexión · Haz clic para ampliar
HC_SR501_Motion_Detection_with_Arduino_U.ino · compilado y probado
/*
 * ==================================================================
 *  Generated by Codey.online  —  https://www.codey.online
 * ==================================================================
 *  Project   : HC-SR501 Motion Detection with Arduino Uno
 *  Board     : Arduino UNO (arduino:avr:uno)
 *  Parts     : HC-SR501 PIR Motion Sensor
 *  Libraries : none (built-in)
 *
 *  Codey Online is an AI-powered browser IDE for Arduino and ESP32.
 *  Describe your project and Codey writes the code, draws the wiring
 *  diagram and uploads it to your board, straight from the browser.
 *  This code is free to use, modify and share, without warranty.
 * ==================================================================
 */

// HC-SR501 PIR Motion Sensor Demo

const int PIR_PIN = 2;
const int LED_PIN = 13;

int lastState = LOW;

void setup() {
  pinMode(PIR_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  
  Serial.begin(115200);
  Serial.println(F("HC-SR501 PIR Motion Sensor Initialized"));
  Serial.println(F("Warming up sensor (approx. 30-60 seconds)..."));
}

void loop() {
  int motionState = digitalRead(PIR_PIN);

  if (motionState != lastState) {
    if (motionState == HIGH) {
      digitalWrite(LED_PIN, HIGH);
      Serial.println(F("Motion detected!"));
    } else {
      digitalWrite(LED_PIN, LOW);
      Serial.println(F("Motion ended."));
    }
    lastState = motionState;
  }

  delay(100);
}

Wiring diagram and example code generated by Codey.online — https://www.codey.online

Detección de movimiento con HC-SR501 y ESP32

Este proyecto detecta movimiento usando un sensor PIR HC-SR501. El sensor se alimenta desde el pin 5V VIN, y un divisor de tensión con resistencias de 1kΩ/2kΩ conecta de forma segura la salida del sensor con la entrada de 3.3V del ESP32. Cuando se detecta movimiento, el LED onboard se ilumina y se envía una notificación al Serial Monitor.

Esquema de conexión: Sensor PIR HC-SR501 Sensor de movimiento en un ESP32 DevKit V1
Esquema de conexión · Haz clic para ampliar
Tabla de conexión: Sensor PIR HC-SR501 Sensor de movimiento en un ESP32 DevKit V1
Tabla de conexión · Haz clic para ampliar
Motion_Detection_with_HC_SR501_and_ESP32.ino · compilado y probado
/*
 * ==================================================================
 *  Generated by Codey.online  —  https://www.codey.online
 * ==================================================================
 *  Project   : Motion Detection with HC-SR501 and ESP32
 *  Board     : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
 *  Parts     : HC-SR501 PIR Motion Sensor
 *  Libraries : none (built-in)
 *
 *  Codey Online is an AI-powered browser IDE for Arduino and ESP32.
 *  Describe your project and Codey writes the code, draws the wiring
 *  diagram and uploads it to your board, straight from the browser.
 *  This code is free to use, modify and share, without warranty.
 * ==================================================================
 */

// HC-SR501 PIR Motion Sensor Demo
const int PIR_PIN = 13;      // Connected to HC-SR501 OUT via divider
const int LED_PIN = 2;       // Onboard LED

int lastState = LOW;

void setup() {
  Serial.begin(115200);
  pinMode(PIR_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  
  Serial.println("HC-SR501 Sensor warming up (approx. 30-60s)...");
  delay(2000);
  Serial.println("Ready to detect motion.");
}

void loop() {
  int motion = digitalRead(PIR_PIN);

  if (motion != lastState) {
    if (motion == HIGH) {
      digitalWrite(LED_PIN, HIGH);
      Serial.println("Motion detected!");
    } else {
      digitalWrite(LED_PIN, LOW);
      Serial.println("Motion ended.");
    }
    lastState = motion;
  }

  delay(50);
}

Wiring diagram and example code generated by Codey.online — https://www.codey.online