L'MH-SR602 è un sensore di movimento PIR (infrarosso passivo) compatto utilizzato per rilevare il movimento all'interno del suo intervallo. Le sue dimensioni ridotte, il basso consumo di energia e il ritardo regolabile lo rendono ideale per l'illuminazione attivata dal movimento, gli allarmi e i progetti IoT. In questo tutorial, ti guideremo attraverso l'interfacciamento dell'MH-SR602 con Arduino.
Cosa avrai bisogno
- Sensore di movimento PIR MH-SR602
- Arduino Board (ad es. Uno, Mega, Nano)
- Breadboard e fili jumper
- Un computer con l'IDE Arduino installato
Passaggio 1: Comprensione del sensore MH-SR602
L'MH-SR602 rileva il movimento rilevando i cambiamenti di radiazioni infrarossi nei suoi dintorni. Quando viene rilevato il movimento, emette un segnale elevato; Altrimenti, rimane basso.
Pinout MH-SR602
Spillo | Funzione |
---|---|
VCC | Alimentazione (3.3V-5V) |
FUORI | Segnale di uscita digitale |
GND | Terra |
Caratteristiche regolabili
- Tempo di ritardo: Il potenziometro a bordo regola il tempo in cui l'uscita rimane elevata dopo il rilevamento del movimento (circa 2-100 secondi).
Passaggio 2: cablaggio MH-SR602 ad Arduino
Ecco come collegare il sensore all'Arduino:
PIN MH-SR602 | 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 MH-SR602 OUT to pin 2
void setup() {
pinMode(pirPin, INPUT);
Serial.begin(9600);
Serial.println("MH-SR602 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
- Collega l'Arduino al tuo computer tramite USB.
- Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
- Carica il codice su Arduino facendo clic Caricamento.
- Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su
9600
. - Spostati all'interno della gamma del sensore e osserva 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 MH-SR602 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("MH-SR602 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'MH-SR602
- Illuminazione attivata dal movimento
- Allarmi intrusi
- Automazione della casa intelligente
- Dispositivi IoT attivati dalla prossimità
Risoluzione dei problemi
- Nessun movimento rilevato: Assicurarsi che il sensore sia alimentato correttamente e che il potenziometro di ritardo non sia impostato troppo in alto.
- False trigger: Ridurre il rumore ambientale (ad es. Spostando le fonti di calore) e proteggere il sensore dalla luce solare diretta.
- Letture instabili: Garantire una potenza stabile ed evitare vibrazioni eccessive.
Conclusione
Hai interfacciato con successo il sensore di movimento PIR MH-SR602 con Arduino. Questo sensore versatile è perfetto per il rilevamento del movimento in vari progetti. Sperimenta funzionalità aggiuntive come la regolazione del tempo di ritardo o l'integrazione con altri componenti per applicazioni più avanzate!