![Proyecto simple de detección de movimiento Arduino: 4 pasos Proyecto simple de detección de movimiento Arduino: 4 pasos](https://img.gwsigeps.com/img/circuits/arduino-motion-detection-simple-project-4.jpg)
Tabla de contenido:
- Suministros:
- Paso 1: Paso 1: Qué necesitarás
- Paso 2: Cómo conectarlos
- Paso 3: Copie el Código
- Paso 4: Conclusión
Este es un tutorial muy básico para principiantes de Arduino. Tratamos de mantenerlo simple y directo, cómo usar los sensores de detección de movimiento PIR y cómo controlar los LED según la salida del sensor.
y en pocas palabras, la idea principal de este proyecto es encender varios LED después de detectar un movimiento con el Sensor PIR, los LED se encenderán con un color específico que aquí elegimos ser de color púrpura … de lo contrario, los LED van a estar fuera
Suministros:
Paso 1: Paso 1: Qué necesitarás
- Para este proyecto necesitaremos:
- LED
- Sensor PIR
- Tablero de circuitos
- Arduino
- Saltadores
Paso 2: Cómo conectarlos
- Conecte el sensor PIR a Arduino:
- - Cable amarillo al PIN 2 en el Arduino.
- - Negro a GND
- - Rojo a 5V
- Todos los LED a PIN 13 utilizando la placa base como se muestra en la siguiente figura
simplemente sigue el diagrama del circuito en la parte superior, no puedes equivocarte
Paso 3: Copie el Código
Simplemente copie el código a Arduino IDE, y añádalo a su Arduino, todos los comandos están comentados, para que pueda leerlos línea por línea para entender todo el asunto.
Código:
int ledPin = 13; // elige el pin para el LED
int inputPin = 2; // elegir el pin de entrada (para sensor PIR)
int pirState = LOW; // comenzamos, asumiendo que no se detectó movimiento
int val = 0; // variable para leer el estado del pin
// variables necesarias para almacenar valores
pulso largo, pulgadas, cm;
configuración vacía () {
pinMode (ledPin, SALIDA); // declarar LED como salida
pinMode (inputPin, INPUT); // declarar sensor como entrada
Serial.begin (9600);
}
bucle de vacío () {
val = digitalRead (inputPin); // leer el valor de entrada
if (val == HIGH) {// comprueba si la entrada es HIGH
setColor (250,0,255, ledPin); // elige el valor del color
digitalWrite (ledPin, HIGH); // enciende el LED
if (pirState == LOW) {
// acabamos de encender
Serial.println ("¡Movimiento detectado!");
// Solo queremos imprimir en el cambio de salida, no en el estado
pirState = ALTO;
pulse = pulseIn (inputPin, HIGH);
// 147 uS por pulgada
pulgadas = pulso / 147;
// cambiar pulgadas a centímetros
cm = pulgadas * 2.54;
Serial.print (pulgadas); // imprimir para el valor en pulgadas
Serial.print ("en");
Serial.print (cm);
Serial.print ("cm"); // imprimir para el valor de centinetres
Serial.println ();
retraso (500);
}
} else {
digitalWrite (ledPin, LOW); // apagar el LED
if (pirState == HIGH) {
// acabamos de dar vuelta
Serial.println ("¡El movimiento terminó!");
// Solo queremos imprimir en el cambio de salida, no en el estado
pirState = LOW;
}
}
}
void setColor (int rojo, int verde, int azul, int led) // función de color para configurar el color que desea para el LED
{
#ifdef COMMON_ANODE
rojo = 255 - rojo; // el valor del canal rojo
verde = 255 - verde; // el valor del canal verde
azul = 255 - azul; // el valor del canal azul
#terminara si
// dedica cada valor de canal para obtener un color
analogwrite (led, rojo);
analogwrite (led, verde);
analogwrite (led, azul);
}
Paso 4: Conclusión
no hay mucho que decir, cuando muevas tu mano cerca del sensor, verás que los LED parpadean
deja un comentario si tuviste algún problema