Práctica Dirigida 2

Practica Dirigida 2
Es un prototipo de puertas eléctricas en el cual se enciende un servo motor utilizando un sensor ultrasonico y reproducir una melodía.

Programación de la Practica 2

#include <LiquidCrystal.h>
#include <Servo.h>
Servo servo1; 
LiquidCrystal lcd(8,9,4,5,6,7);
int v=-1;
int puertoservo = 3;
int trig = 13; 
int echo = 12; 
int piezo = 2; 
int grados;
int tmp=0;
int pulsominimo=650;
int pulsomaximo=2550;
float disCalculada; 

void setup() 
{
  lcd.setCursor(4,1);
  lcd.print("PRONIE");
  lcd.noBlink(); 
  delay(2000);
  //-------------------------//

servo1.attach (puertoservo,pulsominimo,pulsomaximo);
//-------------------------//
pinMode (trig, OUTPUT); 
pinMode (echo, INPUT);
pinMode (piezo, OUTPUT); 
//-----------------//
Serial.begin (9600); 
}

void loop()

 disCalculada = calcularDistancia ();
 grados=servo1.read();
  Serial.print ("Grados :");
  Serial.println (grados);
  delay(200);
  Serial.println("--------");
  Serial.print("cm :");
  Serial.println (disCalculada);
  delay(200);
if (disCalculada < 100); 

  tmp=90+10;
 tone (piezo, 600,100); 
}
else
{
  tmp=0-10;
}
delay (10); 
servo1.write (tmp); 
lcd.setCursor(1,1);
lcd.print("Distancia ");
lcd.println(disCalculada);
}
int calcularDistancia ();
{
  long distancia;
  long duracion;
  digitalWrite (trig, LOW);
  delayMicroseconds (4); 
  digitalWrite (trig, HIGH);
  delayMicroseconds (10);
  digitalWrite (trig, LOW);
  duracion = pulseIn (echo, HIGH);
  duracion = duracion/2;
  distancia = duracion/29;
  return distancia;

  }


Reto 2

Programación 

#include <Servo.h>
Servo servo1; 
int puertoservo = 3;
int trig = 13; 
int echo = 12; 
int piezo = 2; 
int grados;
int tmp=0;
int pulsominimo=650;
int pulsomaximo=2550;
float disCalculada; 
int pinVerde = 10;

void setup() {

servo1.attach (puertoservo,pulsominimo,pulsomaximo);
//-------------------------//
pinMode (trig, OUTPUT); 
pinMode (echo, INPUT);
pinMode (piezo, OUTPUT); 
pinMode(pinVerde, OUTPUT);
//-----------------//
Serial.begin (9600); 
}

void loop() { 
  
     
  disCalculada = calcularDistancia ();
 grados=servo1.read();
  Serial.print ("Grados :");
  Serial.println (grados);
  delay(200);
  Serial.println("--------");
  Serial.print("cm :");
  Serial.println (disCalculada);
  delay(200);
  
if (disCalculada < 100) 

  tmp=100;
  digitalWrite(pinVerde, HIGH);
 tone (piezo, 800,1000); 
}
else
{
  tmp=0;
  digitalWrite(pinVerde,LOW);
}
delay (10); 
servo1.write (tmp); 
}
int calcularDistancia () 
{
  long distancia;
  long duracion;
  digitalWrite (trig, LOW);
  delayMicroseconds (4); 
  digitalWrite (trig, HIGH);
  delayMicroseconds (10);
  digitalWrite (trig, LOW);
  duracion = pulseIn (echo, HIGH);
  duracion = duracion/2;
  distancia = duracion/29;
  return distancia;
  }












Comentarios