![Alarma de detección de movimiento Arduino: 5 pasos Alarma de detección de movimiento Arduino: 5 pasos](https://img.gwsigeps.com/img/img/blank.jpg)
Tabla de contenido:
- Suministros:
- Paso 1: Qué componentes necesitará
- Paso 2: Cableado del sensor PIR
- Paso 3: Conectar el zumbador piezoeléctrico
- Paso 4: Conecta el LED
- Paso 5: Sube el Sketch a tu Tablero Arduino
Este Instructivo le mostrará cómo hacer una alarma de detección de movimiento usando un microcontrolador Arduino. Este Instructivo acompaña el video "Cómo hacer una alarma de detección de movimiento", que he incorporado.
Suministros:
Paso 1: Qué componentes necesitará
Para este proyecto de Arduino necesitarás:
1x Arduino Uno
1x sensor de movimiento PIR
1x LED
1x zumbador piezoeléctrico
1x Breadboard
1x cables de puente
También necesitará una computadora (sistema operativo mínimo XP) con el IDE de Arduino instalado.
Paso 2: Cableado del sensor PIR
El sensor PIR tiene tres pines:
- El de la izquierda es GND (debe estar conectado a un pin GND)
-El que está en el medio está FUERA (necesita estar conectado a un pin digital)
- El de la derecha es VCC (necesita estar conectado a 5v)
Conéctelo al pin digital 2 de su Arduino como muestra el diagrama.
Paso 3: Conectar el zumbador piezoeléctrico
El zumbador piezo tiene 2 pines:
- Uno es GND (debe estar conectado a un pin de tierra en el Arduino)
- Uno tiene que estar conectado a un pin digital, para que podamos decidir su tono
Paso 4: Conecta el LED
El LED tiene dos pines, el ANODO y el CATODO. El ánodo es más largo y siempre está conectado a voltaje positivo. El cátodo es más corto y siempre está conectado a voltaje negativo.
Conecte el ánodo al pin 13 y el cátodo al pin de GND que se encuentra a su lado. No tiene que ponerlo en el tablero, ya que no hay necesidad de hacerlo.
Paso 5: Sube el Sketch a tu Tablero Arduino
int inputPin = 2;
int pirState = LOW;
int val = 0;
int pinSpeaker = 10;
configuración vacía () {
pinMode (ledPin, SALIDA);
pinMode (inputPin, INPUT);
pinMode (pinSpeaker, OUTPUT);
Serial.begin (9600);
}
bucle de vacío () {
val = digitalRead (inputPin);
if (val == ALTO) {
digitalWrite (ledPin, HIGH);
playTone (300, 160);
retraso (150);
if (pirState == LOW) {
Serial.println ("¡Movimiento detectado!");
pirState = ALTO;
}
} else {
digitalWrite (ledPin, LOW);
playTone (0, 0);
retraso (300);
if (pirState == HIGH);
Serial.println ("¡El movimiento terminó!");
pirState = LOW;
}
}
}
void playTone (larga duración, int freq) {
duración * = 1000;
período de int = (1.0 / frecuencia) * 1000000;
long elapsed_time = 0;
while (tiempo transcurrido <duración) {
digitalWrite (pinSpeaker, HIGH);
delayMicroseconds (period / 2);
digitalWrite (pinSpeaker, LOW);
delayMicroseconds (period / 2);
elapsed_time + = (periodo);
}
}