jueves, 1 de marzo de 2018

PRACTICA 2 ARDUINO


#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:

PRACTICA 1 ARDUINO

PRACTICA DIRIGIDA UNO  programación int pinRojo = 3; int pinAzul = 5; int piezo = 6; int boton = 2; int estado = 0; voi...