Parcial Electiva III

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Indicador de parque carros

const int led_rojo =2;


const int led_amarillo =3;
const int led_verde =4;

const int parlante =9;

void setup()
{
pinMode(led_rojo, OUTPUT);
pinMode(led_amarillo, OUTPUT);
pinMode(led_verde, OUTPUT);

void loop()
{
long distancia = 0.01723 * readUltrasonicDistance(5, 6);
delay(10);

//Indicador de STOP
if((distancia>10)and(distancia<100))
{
digitalWrite(led_rojo, HIGH);
digitalWrite(led_amarillo, HIGH);
digitalWrite(led_verde, HIGH);
tone(parlante, 400, 200);
}
//Indicador de precaucion
if((distancia>100)and(distancia<200))
{
digitalWrite(led_rojo, LOW);
digitalWrite(led_amarillo, HIGH);
digitalWrite(led_verde, LOW);
tone(parlante, 400, 200);
delay(500);
}
//Indicaicion de continuidad
if((distancia>200)and(distancia<300))
{
digitalWrite(led_rojo, LOW);
digitalWrite(led_amarillo, LOW);
digitalWrite(led_verde, HIGH);
tone(parlante, 400, 200);
delay(1000);

//Cuando no detecte ningun objeto


if(distancia<300)
{
digitalWrite(led_rojo, LOW);
digitalWrite(led_amarillo, LOW);
digitalWrite(led_verde, LOW);
}
}
}

long readUltrasonicDistance(int triggerPin, int echoPin)


{
pinMode(triggerPin, OUTPUT); // limpiar el trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Establece el pin de disparo en estado ALTO durante 10 microsegundos
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
// Lee el pin de eco y devuelve el tiempo de viaje de la onda de sonido en
microsegundos

return pulseIn(echoPin, HIGH);


}
Bomba de agua

const int motor=3;


const int Trigger=5;
const int Echo=6;
const int led_rojo=10;
const int led_verde=11;
void setup(){
pinMode(motor, OUTPUT);
pinMode(Trigger,OUTPUT);
pinMode(Echo, INPUT);
digitalWrite(Trigger, LOW);
}
void loop(){
float t;
float d;
digitalWrite(Trigger, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger, LOW);
t=pulseIn(Echo, HIGH);
d =t/59;
digitalRead(d);

if(d>=15 && d<=55){


digitalWrite(motor, HIGH);
digitalWrite(led_rojo, HIGH);
digitalRead(d);
}
digitalWrite(led_verde, LOW);
if(d>55 && d<=185){
digitalRead(d);
digitalWrite(motor, HIGH);
}
digitalWrite(led_rojo && led_verde, LOW);
if(d>185 && d<=205){
digitalWrite(motor, LOW);
digitalWrite(led_verde, HIGH);
digitalRead(d);
}
digitalWrite(led_rojo, LOW);
}

You might also like