Proyecto simple de detección de movimiento Arduino: 4 pasos

Proyecto simple de detección de movimiento Arduino: 4 pasos

Tabla de contenido:

Anonim

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

  1. Conecte el sensor PIR a Arduino:
    1. - Cable amarillo al PIN 2 en el Arduino.
    2. - Negro a GND
    3. - Rojo a 5V
  2. 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