Come utilizzare il sensore di movimento PIR HC-SR501 con Arduino

How to Use the HC-SR501 PIR Motion Sensor with Arduino

L'HC-SR501 è un popolare modulo del sensore di movimento a infrarossi passivi (PIR) che rileva il movimento misurando i cambiamenti di radiazione a infrarossi nei suoi dintorni. È comunemente usato nell'illuminazione attivata dal movimento, nei sistemi di sicurezza e nei progetti IoT. Questo tutorial ti guiderà attraverso l'impostazione e l'utilizzo di HC-SR501 con Arduino.


Cosa avrai bisogno

  1. Modulo sensore di movimento PIR HC-SR501
  2. Arduino Board (ad es. Uno, Mega, Nano)
  3. Breadboard e fili jumper
  4. Un computer con l'IDE Arduino installato

Passaggio 1: Comprensione del sensore HC-SR501

Il modulo HC-SR501 ha impostazioni di sensibilità e tempo di ritardo regolabili, rendendolo versatile per varie applicazioni di rilevamento del movimento. Funziona su potenza 5 V e subita un segnale elevato quando viene rilevato il movimento.

Pinout HC-SR501

Spillo Funzione
VCC Alimentazione (5V)
FUORI Segnale di uscita digitale
GND Terra

Impostazioni regolabili

  1. Sensibilità: Regolare l'intervallo di rilevamento (fino a ~ 7 metri).
  2. Tempo di ritardo: Regolare la durata del segnale alto dopo il rilevamento del movimento (circa 5 secondi a 5 minuti).

Passaggio 2: cablaggio da HC-SR501 ad Arduino

Ecco come collegare HC-SR501 a un Arduino Uno:

Pin HC-SR501 Arduino Pin
VCC 5v
FUORI Pin 2
GND GND

Passaggio 3: caricare il codice

Ecco uno schizzo di esempio per monitorare il rilevamento del movimento e visualizzare lo stato sul monitor seriale:

const int pirPin = 2; // Connect HC-SR501 OUT to pin 2

void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    Serial.println("Motion detected!");
  } else {
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Passaggio 4: testare l'installazione

  1. Collega l'Arduino al tuo computer tramite USB.
  2. Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
  3. Carica il codice facendo clic Caricamento.
  4. Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su 9600.
  5. Spostati all'interno della gamma del sensore e osservare lo stato di movimento stampato sul monitor seriale.

Opzionale: controllo di un LED con movimento

È possibile modificare il codice per attivare un LED quando viene rilevato il movimento:

Cablaggio del LED

Pin a LED Arduino Pin
Anodo (+) Pin 13
Catodo (-) GND

Codice modificato

const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on LED
    Serial.println("Motion detected!");
  } else {
    digitalWrite(ledPin, LOW); // Turn off LED
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Applicazioni dell'HC-SR501

  1. Illuminazione attivata dal movimento
  2. Allarmi intrusi
  3. Automazione della casa intelligente
  4. Dispositivi IoT attivati ​​dalla prossimità

Risoluzione dei problemi

  • Nessun movimento rilevato: Assicurarsi che il sensore sia alimentato correttamente e che la sensibilità sia regolata in modo appropriato.
  • False trigger: Ridurre il rumore ambientale (ad es. Fonti di calore) ed evitare l'esposizione diretta alla luce solare.
  • Letture instabili: Verificare la messa a terra adeguata e l'alimentazione stabile.

Conclusione

Hai interfacciato con successo il sensore di movimento PIR HC-SR501 con Arduino. Questo sensore versatile è perfetto per il rilevamento del movimento in vari progetti. Sperimenta caratteristiche aggiuntive, come la regolazione della sensibilità o l'integrazione con altri componenti, per creare sistemi basati sul movimento avanzati!

Lascia un commento

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.