Subido por Juan Hernandez

CarWash

Anuncio
const int EchoPin1 = 2;
const int TriggerPin1 = 3;
const int EchoPin2 = 4;
const int TriggerPin2 = 5;
const int EchoPin3 = 6;
const int TriggerPin3 = 7;
void setup() {
Serial.begin(9600);
pinMode(TriggerPin1, OUTPUT); //para las secadoras disparador del ultrasonico
pinMode(EchoPin1, INPUT); //para las secadoras eco del ultrasonico
pinMode(TriggerPin2, OUTPUT); //para apagar los motores disparador del ultrasonico
pinMode(EchoPin2, INPUT); //para apagar los motores eco del ultrasonico
pinMode(TriggerPin3, OUTPUT); //para encender los motores disparador del ultrasonico
pinMode(EchoPin3, INPUT); //para encender los motores ECO del ultrasonico
pinMode(8,OUTPUT); //pin de los motores
pinMode(9,OUTPUT); //secadoras
digitalWrite(8, LOW); // apagados
digitalWrite(9, LOW); // apagados
}
void loop() {
int cm1 = ping(TriggerPin3, EchoPin3);
if (cm1>2 && cm1<15)
digitalWrite(8, HIGH);
int cm2 = ping(TriggerPin2, EchoPin2);
if (cm2>2 && cm2<15)
{
digitalWrite(8, LOW);
}
int cm3 = ping(TriggerPin1, EchoPin1);
if (cm3>2 && cm3<15)
{
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
Serial.print("Distancia: ");
Serial.println(cm3);
}
else
{
digitalWrite(9, LOW);
}
}
int ping(int TriggerPin, int EchoPin) {
long duration, distanceCm;
digitalWrite(TriggerPin, LOW); //para generar un pulso limpio ponemos a LOW 4us
delayMicroseconds(4);
digitalWrite(TriggerPin, HIGH); //generamos Trigger (disparo) de 10us
delayMicroseconds(10);
digitalWrite(TriggerPin, LOW);
duration = pulseIn(EchoPin, HIGH); //medimos el tiempo entre pulsos, en microsegundos
distanceCm = duration * 10 / 292/ 2; //convertimos a distancia, en cm
return distanceCm;
}
Descargar