Como usar un sensor de movimiento PIR

Para utilizar un sensor PIR (Sensor de Movimiento por Infrarrojos Pasivos) con Arduino y mostrar un mensaje en el monitor serial cuando detecte movimiento, puedes seguir estos pasos:

Materiales necesarios:

  1. Arduino (cualquier modelo compatible, como Arduino Uno, Nano, etc.).
  2. Sensor PIR.
  3. Cableado (cables jumper).
  4. Una computadora con el entorno de desarrollo de Arduino instalado.

Pasos a seguir:

  1. Conecta el sensor PIR al Arduino de la siguiente manera:

  • Conecta el pin VCC del sensor PIR al pin 5V del Arduino.
  • Conecta el pin GND del sensor PIR al pin GND del Arduino.
  • Conecta el pin OUT del sensor PIR al pin digital 2 del Arduino.

  1. Abre el entorno de desarrollo de Arduino en tu computadora.
  2. Crea un nuevo proyecto o sketch en Arduino.
  3. Escribe el siguiente código en el sketch:
int pirPin = 2;  // Pin digital al que está conectado el sensor PIR

void setup() {
  Serial.begin(9600);  // Inicializar la comunicación serial
  pinMode(pirPin, INPUT);  // Configurar el pin del sensor PIR como entrada
}

void loop() {
  int movimiento = digitalRead(pirPin);  // Leer el valor del sensor PIR

  if (movimiento == HIGH) {  // Si se detecta movimiento
    Serial.println("Objeto detectado");  // Imprimir el mensaje en el monitor serial
    delay(1000);  // Esperar 1 segundo para evitar múltiples detecciones rápidas
  }
}

  1. Verifica y carga el código en tu Arduino.
  2. Abre el Monitor Serial en el entorno de Arduino para ver los resultados. Asegúrate de que la velocidad de baudios en el Monitor Serial coincida con la velocidad especificada en el código (9600 en este caso).
  3. Cuando el sensor PIR detecte movimiento, verás el mensaje «Objeto detectado» en el Monitor Serial.

Este código simple leerá el estado del sensor PIR en el pin 2 y mostrará el mensaje en el Monitor Serial cada vez que detecte movimiento. Asegúrate de que el sensor esté configurado y conectado correctamente para que funcione de manera efectiva.




Control de servos con IF

Este código permite mover el servo a 45 grados si se elige la opción 1 y a 90 grados si se elige la opción 2 a través del Monitor Serie. Cualquier otra opción mostrará un mensaje de error.

#include <Servo.h>

Servo miServo;   // Crear un objeto Servo
int angulo = 0;  // Variable para almacenar el ángulo del servo

void setup() {
  miServo.attach(9);  // Conectar el servo al pin 9
  Serial.begin(9600); // Iniciar comunicación serial a 9600 bps
}

void loop() {
  Serial.println("Elige una opción:");
  Serial.println("1 - Mover a 45 grados);
  Serial.println("2 - Mover a 90 grados");

  while (!Serial.available()) {
    // Esperar hasta que haya datos disponibles en el puerto serial
  }

  int opcion = Serial.parseInt0();

  if (opcion == 1) {
    angulo = 45;
  } else if (opcion == 2) {
    angulo = 90
  } else {
    Serial.println("Opción inválida. Intenta de nuevo.");
    return;
  }

  miServo.write(angulo);  // Mover el servo al ángulo seleccionado
  delay(1000);            // Esperar para que el servo termine de moverse
}



Tutorial: Controlando LEDs con Arduino y el Monitor Serie (con funciones)

Introducción: En este tutorial, aprenderemos cómo controlar dos LEDs utilizando un Arduino y el Monitor Serie. El Monitor Serie nos permite interactuar con nuestro Arduino desde la computadora enviando datos a través del puerto serie. Veremos cómo crear un programa sencillo que nos permitirá encender y apagar dos LEDs con solo ingresar un número por el monitor serie.

Materiales:

  • Arduino (cualquier modelo compatible)
  • Dos LEDs
  • Dos resistencias de 220 ohmios (o las necesarias para los LEDs)
  • Protoboard (placa de pruebas) y cables para conexiones
  • Computadora con el IDE de Arduino instalado

Circuito: Conecta los LEDs al Arduino utilizando las resistencias para limitar la corriente. El LED 1 estará conectado al pin 13 y el LED 2 al pin 12. Asegúrate de conectar el ánodo (lado más largo del LED) a la resistencia y el cátodo (lado más corto) al GND (tierra) del Arduino.

// Definir los pines a utilizar
const int ledPin1 = 13; // Conecta el primer LED al pin 13
const int ledPin2 = 12; // Conecta el segundo LED al pin 12

void setup() {
  Serial.begin(9600);      // Inicializar el monitor serie
  pinMode(ledPin1, OUTPUT); // Configurar el pin del primer LED como salida
  pinMode(ledPin2, OUTPUT); // Configurar el pin del segundo LED como salida
}

void loop() {
  if (Serial.available() > 0) {
    int option = Serial.parseInt(); // Leer el número ingresado por el monitor serie

    if (option == 1) {
      encenderLed1();
    } else if (option == 2) {
      encenderLed2();
    } else {
      Serial.println("Opción inválida. Intenta nuevamente.");
    }
  }

  delay(1000); // Pequeño retardo para evitar lecturas rápidas del monitor serie
}

void encenderLed1() {
  digitalWrite(ledPin1, HIGH);
  digitalWrite(ledPin2, LOW);
  Serial.println("LED 1 encendido, LED 2 apagado.");
}

void encenderLed2() {
  digitalWrite(ledPin1, LOW);
  digitalWrite(ledPin2, HIGH);
  Serial.println("LED 1 apagado, LED 2 encendido.");
}

Funcionamiento: Cuando cargues el programa en tu Arduino y lo conectes a tu computadora, abre el Monitor Serie en el IDE de Arduino. El programa estará esperando que ingreses «1» o «2» por el Monitor Serie. Si ingresamos «1», se encenderá el LED 1 y se apagará el LED 2. Si ingresamos «2», se apagará el LED 1 y se encenderá el LED 2.

Conclusión: Controlar LEDs mediante el Monitor Serie es una forma sencilla de interactuar con nuestro Arduino y realizar acciones específicas con solo ingresar un número. Puedes utilizar este principio para desarrollar proyectos más complejos o para aprender más sobre el manejo de entradas y salidas en Arduino.

Espero que este tutorial te haya sido útil y que puedas aplicarlo en tus propios proyectos.




Como funciona un IF

El IF en Arduino es una estructura de control que permite tomar decisiones en base a una condición. Funciona evaluando una expresión o condición y ejecutando cierto bloque de código si esa condición es verdadera.
Si la condición es falsa, el bloque de código dentro del IF se salta y continúa con el resto del programa. Es una forma de programar al Arduino para que tome decisiones y realice acciones específicas según las condiciones que se le indiquen.

Aqui tenemos un codigo de ejemplo:

int ledPin = 13;  // Pin del LED
int A;           // Variable para almacenar el valor ingresado

void setup() {
  pinMode(ledPin, OUTPUT);  // Configurar el pin del LED como salida
  Serial.begin(9600);       // Iniciar comunicación serial a 9600 bps
}

void loop() {
  if (Serial.available() > 0) {  // Si hay datos disponibles en el puerto serial
    A = Serial.parseInt();  // Leer el valor ingresado y asignarlo a la variable "A"
    
    if (A == 1) {
      digitalWrite(ledPin, HIGH);  // Encender el LED si "A" es igual a 1
    } 
else 
{
      digitalWrite(ledPin, LOW);   // Apagar el LED en cualquier otro caso
    }
  }
}