TECNOLÓGICO UNIVERSITARIO RUMIÑAHUI
CARRERA:
ELECTRICIDAD S2MQ-B
ASIGNATURA:
SOFTWARE APLICADO A LA ELECTRICIDAD
INTEGRANTES:
• CUICHAN ALEXIS
• MORENO CARLOS
• SIMBA IVAN
• SAMANIEGO DIEGO
• SUNTAXI JORGE
TEMA:
ENCENDIDO Y APAGADO DE UN MOTOR ACCIONADO POR UN RELE MEDIANTE
UN SENSOR DE MOVIMIENTO
ENCENDIDO Y APAGADO DE UN MOTOR ACCIONADO POR UN RELE
DOCENTE:
ING. Suarez Vinueza Rommel Eusebio
SANGOLQUÍ-ECUADOR
2024
ENCENDIDO Y APAGADO DE UN MOTOR ACCIONADO POR UN RELE Y UN
SENSOR
Este código implementa un sistema sencillo para controlar un dispositivo, como un
foco o un LED, mediante un el movimiento de un un onjeto y el sensor se activa Se
utiliza una variable booleana (x) para alternar el estado del dispositivo cada vez que el
botón se presiona. En nuestro caso se utilizo para el accionamiento de un motor 120V.
Poner el código aquí
nt TRIG = 10; // trigger en pin 10
int ECO = 9; // echo en pin 9
int LED = 3; // LED en pin 3
int DURACION;
int DISTANCIA;
void setup()
{
pinMode(TRIG, OUTPUT); // trigger como salida
pinMode(ECO, INPUT); // echo como entrada
pinMode(LED, OUTPUT); // LED como salida
Serial.begin(9600); // inicializacion de comunicacion serial a 9600 bps
void loop()
{
digitalWrite(TRIG, HIGH); // generacion del pulso a enviar delay(1);
// al pin conectado al trigger
digitalWrite(TRIG, LOW); // del sensor
DURACION = pulseIn(ECO, HIGH); // con funcion pulseIn se espera un pulso
// alto en Echo
DISTANCIA = DURACION / 58.2; // distancia medida en centimetros
Serial.println(DISTANCIA); // envio de valor de distancia por monitor serial
delay(200); // demora entre datos
if (DISTANCIA <= 10 && DISTANCIA >= 0){ // si distancia entre 0 y 20 cms.
digitalWrite(LED, HIGH); // enciende LED
delay(DISTANCIA * 10); // demora proporcional a la distancia
digitalWrite(LED, LOW); // apaga LED
}
Inicialización:
El pin 2 se configura como salida para controlar el relé o el LED.
El pin 3 se configura como entrada para leer el estado del botón pulsador.
La comunicación serial se inicializa a 9600 baudios para monitorear el estado del
botón.
Lectura del botón:
La función digitalRead(3) lee el estado del botón (0 o 1) y lo almacena en la variable
valor.
El estado del botón se imprime en el monitor serial para depuración o supervisión.
Cambio del estado:
Si el botón está presionado (valor == 1), la variable booleana x cambia de estado. Esto
significa que alterna entre true y false cada vez que se detecta una pulsación.
Control del dispositivo:
Si x es true, el pin 2 se pone en alto (HIGH), encendiendo el dispositivo conectado (por
ejemplo, un foco).
Si x es false, el pin 2 se pone en bajo (LOW), apagando el dispositivo.
Retardos:
Un pequeño retardo de 1 ms entre lecturas del botón evita lecturas extremadamente
rápidas.
Otro retardo de 200 ms al final del bucle ayuda a estabilizar el sistema, aunque podría
causar problemas en la detección rápida de pulsaciones.
Conclusiones
Función general:
Este código proporciona un control básico de encendido y apagado mediante un
pulsador. Es ideal para aplicaciones simples, como controlar luces o relés en sistemas
domésticos.
Eficiencia:
El sistema cumple su propósito, aunque el manejo del botón es básico y puede ser
susceptible a rebotes mecánicos. Esto puede hacer que una pulsación genere
múltiples cambios de estado.
Aplicaciones prácticas:
Control de luces en un entorno doméstico.
Activación/desactivación de dispositivos mediante pulsadores simples.
Sistema básico de entrada/salida para proyectos educativos o de aprendizaje.
Figura 1. Simulador wokwi y circuito con codigo.
Figura 2. codigo en simulador wokwi.
Figura 3. codigo en Arduino software.
Figura . Circuito armado en
fisico.
Enlace de simulador, se abre directo sin cuentas.
Link: VIDEO
TÍTULO PRÁCTICA:
ENCENDIDO Y APAGADO DE UN MOTOR ACCIONADO POR UNA RELE CON UNA
SEÑAL ANÁLOGA (HC-SR04)
Análisis del código
Este programa implementa un sistema básico que usa el sensor ultrasónico HC-SR04
para medir distancias y controlar un motor o dispositivo conectado a través de un relé.
Los resultados de las mediciones se muestran en un display LCD utilizando
comunicación I2C.
Materiales:
Display LCd 1602+modulo i2c
Rele 5V.
Ardunio uno.
Sensor ultrasonico HC-SR04
Cables de conexión
Simulación:
Computador y simulador wokwi
Líneas de cógigo:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define TRIG_PIN 9
#define ECHO_PIN 10
#define RELAY_PIN 7
LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección del LCD 1602A
void setup() { //
Inicializar el LCD
lcd.begin(16, 2);
lcd.print("Iniciando...");
// Configurar pines
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
// Inicializar el relé apagado
digitalWrite(RELAY_PIN, LOW);
delay(2000); // Esperar un poco para la inicialización
}
void loop() {
// Medir distancia con el HC-SR04
long duration, distance;
// Enviar el pulso al TRIG
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Leer el tiempo de regreso del ECO
duration = pulseIn(ECHO_PIN, HIGH);
// Calcular la distancia en cm
distance = duration * 0.0344 /
2;
// Mostrar la distancia en el
LCD lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distancia: ");
lcd.print(distance); lcd.print("
cm");
// Encender o apagar el motor según la distancia if
(distance < 10) { // Si la distancia es menor a 10 cm
digitalWrite(RELAY_PIN, HIGH); // Activar el relé (motor
encendido) lcd.setCursor(0, 1); lcd.print("MOTOR ENCIENDE ");
} else {
digitalWrite(RELAY_PIN, LOW); // Desactivar el relé (motor
apagado) lcd.setCursor(0, 1); lcd.print("MOTOR APAGA ");
}
delay(500); // Esperar medio segundo antes de la siguiente lectura
}
Figura 1. Codigo en software de arduino en simulador https://wokwi.com
Figura 2. simulador
Figura 2. simulador
Análisis del código
Este programa implementa un sistema básico que usa el sensor ultrasónico HC-SR04
para medir distancias y controlar un motor o dispositivo conectado a través de un relé.
Los resultados de las mediciones se muestran en un display LCD utilizando
comunicación I2C. A continuación, se describen sus componentes principales:
Bibliotecas incluidas:
Wire.h: Maneja la comunicación I2C.
LiquidCrystal_I2C.h: Simplifica el manejo de displays LCD con interfaz I2C.
Asignación de pines:
TRIG_PIN y ECHO_PIN controlan el envío y recepción del pulso ultrasónico del
sensor HC-SR04.
RELAY_PIN permite activar o desactivar el relé conectado al motor u otro dispositivo.
Configuración inicial:
El LCD se configura para mostrar mensajes y valores medidos.
Se establecen los pines necesarios como entradas o salidas, y el relé comienza
apagado (LOW).
Medición de distancia:
El programa genera un pulso ultrasónico desde el TRIG_PIN y mide el tiempo de
retorno en el ECHO_PIN con pulseIn.
La distancia calculada se muestra en el LCD.
Control del relé:
Si la distancia medida es menor a 10 cm, el relé se activa (HIGH), lo que enciende el
dispositivo conectado. Si la distancia es mayor, el relé permanece apagado.
Interacción con el usuario:
El LCD actualiza constantemente la distancia medida y el estado del motor, con
intervalos de 500 ms entre lecturas.
Conclusiones
Función general:
El sistema es una solución sencilla que combina sensores, un actuador y una pantalla
para realizar un control automatizado basado en la proximidad.
Precisión:
El cálculo de distancia es funcional, aunque sería mejor con un manejo avanzado de
errores, como ignorar valores inusuales causados por interferencias o ruido.
Eficiencia:
Es adecuado para tareas básicas de automatización. No obstante, su precisión puede
verse afectada por factores externos, como el entorno o la reflectividad de los objetos.
Limitaciones:
El umbral de 10 cm está predefinido, lo que restringe su flexibilidad. Sería útil
reemplazarlo con un valor configurable.
Su dependencia del LCD limita su utilidad en entornos donde no haya supervisión
directa. Una mejora sería añadir un indicador sonoro o comunicación inalámbrica para
alertas.
Posibles aplicaciones:
Automatización de sistemas como riego.
Control de accesos (puertas automáticas o barreras).
Supervisión de niveles en depósitos.
https://www.tinkercad.com/things/jWDvSS9mmCn-terrific-uusamjofo?
sharecode=g9usTRFelRbr0AdnyzbrynUVShCRp20i-M0EqWkrBNI
https://www.youtube.com/watch?v=kFZgnJOlh7A&ab_channel=AlexisCuichan