Diferencia entre revisiones de «Papelera automatizada»
Ir a la navegación
Ir a la búsqueda
| Línea 1: | Línea 1: | ||
=Código= | =Código= | ||
< | <syntaxhighlight lang="c++" line copy> | ||
#include <Servo.h> | #include <Servo.h> | ||
const int Trigger = 2; //Pin digital 2 para el Trigger del sensor | const int Trigger = 2; //Pin digital 2 para el Trigger del sensor | ||
| Línea 59: | Línea 59: | ||
delay(1000); //Hacemos una pausa de 100ms*/ | delay(1000); //Hacemos una pausa de 100ms*/ | ||
</syntaxhighlight> | |||
Revisión del 00:55 27 ago 2026
Código
#include <Servo.h>
const int Trigger = 2; //Pin digital 2 para el Trigger del sensor
const int Echo = 3; //Pin digital 3 para el Echo del sensor
Servo servoMotor;
void setup() {
Serial.begin(9600);
servoMotor.attach(9);
//sensor ultrasonido
Serial.begin(9600);//iniciailzamos la comunicación
pinMode(Trigger, OUTPUT); //pin como salida
pinMode(Echo, INPUT); //pin como entrada
digitalWrite(Trigger, LOW);//Inicializamos el pin con 0
}
void loop() {
long t; //tiempo que demora en llegar el eco
long d; //distancia en centimetros
digitalWrite(Trigger, HIGH);
delayMicroseconds(5); //Enviamos un pulso de 10us
digitalWrite(Trigger, LOW);
t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso
d = t/59; //escalamos el tiempo a una distancia en cm
if (d<10){
for(int pos=90; pos<180; pos++){
servoMotor.write(pos);
delay(30
);
}
for(int pos=180; pos<90; pos++){
servoMotor.write(pos);
delay(30);
}
}
delay(1000);
}
/*Serial.print("Distancia: ");
Serial.print(d); //Enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(1000); //Hacemos una pausa de 100ms*/