Práctica Dirigida 2



Vídeo

Lectura del sensor









Vídeo





Vídeo






Vídeo




Vídeo




Código de programa
#include <LiquidCrystal.h>
#include <Servo.h>
Servo servo1;
LiquidCrystal led(8,9,4,5,6,7); //Se definen los pines en la tarjeta Arduino
int puertoservo = 3;
int trig =13;
int echo =12;
int grados;
int tmp=0;
int pulsominimo =650;
int pulsomaximo =2550;
const int ledPin =10;
int disCalculada;
const int pinBuzzer = 2; // variable del piezo
const int tonos []={264, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494};
const int counrTonos = 12;
void setup() 
{
  led.setCursor(4,1); //permite ubicar en la posicion 4 de la fila 1 de la pantalla
  led.print("PRONIE"); //MUESTRA LA PALABRA 
  led.noBlink(); //indica que no parpadee
  delay(2000);
  servo1.attach (puertoservo, pulsominimo, pulsomaximo);
  pinMode (trig, OUTPUT);
  pinMode (echo, INPUT);
  //pinMode (piezo, OUTPUT); // establece la salida del piezo
  pinMode (ledPin, OUTPUT); 
  Serial.begin (9600);
}
void loop()

 disCalculada = calcularDistancia ();
}
  grados =servo1.read();
  Serial.print ("Grados :");
  delay (200);
  Serial.println ("---------------");
  Serial.print("cm :");
  Serial.println (disCalculada);
  delay(200);
  int valor=analogRead(A0);
  int frecuencia =map(valor,1,2000,10,4000);
    long duracion;
  delay (600);

    if (disCalculada <100) // esta es la condicional
  {
     tmp=360;
     melodia ();
  }
  
     digitalWrite (ledPin, HIGH); //activa el sonido si se cumple la condición
     //digitalWrite (piezo,HIGH);  
     delay (10);
     //digitalWrite (piezo,LOW);
    
     
  }
  else
  {
    tmp=0;
    digitalWrite (ledPin, LOW); //activa el sonido si se cumple la condición
    digitalWrite (piezo,LOW);
    
  }
  delay(10); // espera 10 milisegundos
  servo1.write (tmp);
  led.setCursor(1,1);//posiciona el cursor en la posicion fila1, posicion 1
  led.print("Distancia "); // muestra distancia
  led.println (disCalculada);
}
int calcularDistancia ()
int melodia ()
{
 for (int iTono < countTonos; iTono++)
 {
 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

Entradas populares de este blog