Puerta y llave del agua automatizado
Puerta y llave del agua automatizado
Como prototipos de nuestro segundo parcial elaboramos dos prototipos que utilizaran servos y sensores, uno que fue una puerta automática y el otro que fue una llave de agua automática.
Puerta automática
MATERIALES:
- 2 servos
- arduino
- 2 sensores ultrasónicos
- cables
- papel cascarón
- silicón
- palitos de madera
CÓDIGO:
#include <Servo.h>
#define TRIGGER_PIN_1 2
#define ECHO_PIN_1 3
#define TRIGGER_PIN_2 4
#define ECHO_PIN_2 5
#define DISTANCE_THRESHOLD 9 // Distancia en centímetros
#define MOVEMENT_DELAY 5000 // Tiempo de movimiento en milisegundos
Servo servo1;
Servo servo2;
void setup() {
Serial.begin(9600);
pinMode(TRIGGER_PIN_1, OUTPUT);
pinMode(ECHO_PIN_1, INPUT);
pinMode(TRIGGER_PIN_2, OUTPUT);
pinMode(ECHO_PIN_2, INPUT);
servo1.attach(9);
servo2.attach(10);
}
void loop() {
long duration, distance1, distance2;
// Sensor 1
digitalWrite(TRIGGER_PIN_1, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN_1, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_1, LOW);
duration = pulseIn(ECHO_PIN_1, HIGH);
distance1 = duration * 0.034 / 2;
// Sensor 2
digitalWrite(TRIGGER_PIN_2, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN_2, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_2, LOW);
duration = pulseIn(ECHO_PIN_2, HIGH);
distance2 = duration * 0.034 / 2;
Serial.print("Distancia Sensor 1: ");
Serial.print(distance1);
Serial.print(" cm\t");
Serial.print("Distancia Sensor 2: ");
Serial.print(distance2);
Serial.println(" cm");
if (distance1 <= DISTANCE_THRESHOLD) {
servo1.write(0); // Angulo para el servo 1
servo2.write(180); // Angulo para el servo 2
delay(MOVEMENT_DELAY);
servo1.write(90); // Volver a la posición original del servo 1
servo2.write(90); // Volver a la posición original del servo 2
}
if (distance2 <= DISTANCE_THRESHOLD) {
servo1.write(0); // Angulo para el servo 1
servo2.write(180); // Angulo para el servo 2
delay(MOVEMENT_DELAY);
servo1.write(90); // Volver a la posición original del servo 1
servo2.write(90); // Volver a la posición original del servo 2
}
delay(100);
}
Llave del agua automática
MATERIALES:
- 1 servo
- 1 sensor ultrasónico
- cables
- arduino
- caja de cartón
- manguera
- silicón
CÓDIGO:
#include <Servo.h>
const int triggerPin = 2;
const int echoPin = 3;
const int servoPin = 9;
Servo myservo;
int pos = 0;
long duration, distance;
void setup() {
myservo.attach(servoPin);
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
myservo.write(pos);
delay(1000);
}
void loop() {
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance < 10) {
myservo.write(90);
delay(1000);
} else {
myservo.write(0);
delay(1000);
}
}
Ahora para que puedan ver como es que nos quedaron nuestro proyectos les dejo nuestro video: