#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 pulsominimo=650;
int pulsomaximo=2250;
int tmp=0;
int grados;
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.print(grados);
delay (200);
Serial.println ("----");
Serial.print ("Cm: ");
Serial.println(disCalculada);
delay (200);
if (disCalculada < 100)
{
tmp=100;
tone (piezo,500,150);
}
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
#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 pinRojo = 10;
int pulsominimo=650;
int pulsomaximo=2250;
int tmp=0;
int grados;
float disCalculada;
int melody[] = {524, 588, 660, 699, 785, 881, 989, 666, 533};
int noteDurations[] = { 4, 8, 8, 4, 4, 4, 4, 4 };
void setup()
{
lcd.setCursor(4,1);
lcd.print("MELANY");
lcd.noBlink();
delay(2000);
servo1.attach(puertoservo,pulsominimo,pulsomaximo);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode (pinRojo, OUTPUT);
pinMode(piezo, OUTPUT);
Serial.begin (9600);
}
void loop()
{
disCalculada=calcularDistancia ();
grados=servo1.read();
Serial.print("Grados:");
Serial.println("--------");
Serial.print("cm : ");
Serial.println(disCalculada);
delay(200);
if(disCalculada < 20)
{
digitalWrite(pinRojo, HIGH);
for (int thisNote = 0; thisNote < 8; thisNote++) {
int noteDuration = 2000 / noteDurations[thisNote];
tone(piezo, melody[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(8);
}
tmp=100;
}
else
{
digitalWrite(pinRojo, LOW);
tmp=0;
}
delay(100);
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;
}
incl
No hay comentarios:
Publicar un comentario