martes, 9 de mayo de 2017

Sesión 5

10 de mayo - 15:45-18:45
Hola a todos:

En esta sesión vamos a seguir con estructuras de programación como el condicional, utilizar salidas y entradas analógicas.

PROYECTOS DE LA SESIÓN 3:

  1. Buzzer piezoeléctrico
  2. Sensor de ultrasonidos
  3. Sensor de ultrasonidos con luces
  4. Sensor de ultrasonidos con luces y aviso acústico

CÓDIGOS Y ESQUEMAS:

1. Buzzer piezoeléctrico
Código:

int pinzumbador = 9;    // pin del zumbador
int frecuencia = 220;      // frecuencia correspondiente a la nota La

void setup()
{
}

void loop()
{
    tone(pinzumbador,frecuencia);    // inicia el zumbido
    delay(2000);                    
    noTone(pinzumbador);               // lo detiene a los dos segundos
    delay(1000);
}




2. Sensor de ultrasonidos.

Código:


long distancia;
long tiempo;
void setup(){
  Serial.begin(9600);
  pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
  pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/
}

void loop(){
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia ");
  Serial.print(distancia);
  Serial.println(" cm");
  delay(1000);
}








3. Sensor de ultrasonidos con luces.

Debes crear una configuración en la que si se detecta una cercanía:
   -Inferior a 5 cm, se encienda la luz roja.
   -Entre 5 y 15 cm, se encienda la luz amarilla.
   -Mayor de 15 cm, se encienda la luz verde

Código:

long distancia;
long tiempo;
void setup(){
  Serial.begin(9600);
  pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
  pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/

 //Definimos los puertos que usarán los LED.
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop(){
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia: ");
  Serial.print(distancia);
  Serial.println(" cm");

  //Introducimos el condicional
  if (distancia<5)
   {   
    digitalWrite(11,HIGH);
   }
  if (distancia>=5 && distancia<15)
  {
    digitalWrite(12,HIGH);
  }
  if (distancia>=15)
  {
    digitalWrite(13,HIGH);
  }
  delay(1000);
 
  //Ahora los apagamos todos los LED y empezamos de nuevo.
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  digitalWrite(13,LOW);
}

4. Sensor de ultrasonidos con luces y aviso acústico.

Código:
 

No hay comentarios:

Publicar un comentario

Sesión 8