Actividad 3: Uso del zumbador y el servomotor

Actividad 3:

 

Montaje eléctrico

Este es el último montaje eléctrico que se debe realizar. Este parte del punto que teníamos en la actividad 2. Los materiales necesarios son los siguientes:

  • 1 zumbador

  • 1 servomotor

El montaje final quedaría cómo se puede ver a continuación:


 

 

Se recomienda utilizar la siguiente asignación de pines para los últimos componentes necesarios:

  • Pin digital 5 → Servomotor

  • Pin digital 6 → Zumbador pasivo

Actividad 3

Llegado este punto solo queda añadir un zumbador y un servomotor para estar usando todos componentes electrónicos necesarios para desarrollar la actividad final. Para esta actividad cuando se pulse uno de los botones, se debe encender un indicador led y el motor debe girar en un sentido. Cuando se pulse el segundo pulsador, se debe encender otro indicador led y el motor debe de girar en el sentido contrario. Cuando se pulse el último pulsador, se debe escuchar un breve pitido, encenderse un tercer indicador y se  debe detener por completo el ascensor. También se debe mover el servo cuando se pulse este tercer botón, llevándolo a una posición especifica (puertas abiertas). Antes de moverse, el servo debe volver a otra posición definida (puertas cerradas).

El zumbador empleado es de tipo activo, por lo que solo será necesario aplicar tensión entre sus 
patas para que comience a emitir ruido. Esto se hace en el siguiente código:  

digitalWrite(Zumbador,HIGH);
delay(500);
digitalWrite(Zumbador,LOW);
A continuación se muestran las dos sentencias necesarias para poder usar un servomotor. Por
último se muestra la sentencia que modifica la posición.

Servo servoMotor;
...
servoMotor.attach(servo);
...
servoMotor.write(posición);
// Se declaran las librerias que se van a utilizar en la practica
#include <Servo.h>

// Se definen los pines que se van a utilizar
#define BA1 13
#define BA2 12
#define BA3 3
#define vel 9
#define Gir1 10
#define Gir2 11
#define Led1 4
#define Led2 7
#define Led3 8
#define Zumbador 6
#define servo 5

Servo servoMotor;

void setup() {
  // Se configuran los pines como entradas
  pinMode(BA1,INPUT);
  pinMode(BA2,INPUT);
  pinMode(BA3,INPUT);
  // Se configuran los pines como salidas  
  pinMode(vel,OUTPUT);
  pinMode(Gir1,OUTPUT);
  pinMode(Gir2,OUTPUT);
  pinMode(Led1,OUTPUT);
  pinMode(Led2,OUTPUT);
  pinMode(Led3,OUTPUT);
  pinMode(Zumbador,OUTPUT);
  // se configura el servo
  servoMotor.attach(servo);
}

void loop() {
  // Detener el movimiento
  if(digitalRead(BA3)==HIGH){
    // Detener motor
    digitalWrite(Gir1,LOW);
    digitalWrite(Gir2,LOW);
    analogWrite(vel,0);
    // Encender led 3 y apagar los otros
    digitalWrite(Led3,HIGH);
    digitalWrite(Led1,LOW);
    digitalWrite(Led2,LOW);
    // Pitar con el zumbador
    digitalWrite(Zumbador,HIGH);
    delay(500);
    digitalWrite(Zumbador,LOW);
    // Mover servo a la posición de abierto
    servoMotor.write(90);
  }
  // Mover en un sentido
  else if(digitalRead(BA1)==HIGH){
    // Mover servo a la posición de cerrado
    servoMotor.write(180);
    // Girar motor en un sentido
    digitalWrite(Gir1,HIGH);
    digitalWrite(Gir2,LOW);
    analogWrite(vel,255);
    // Encender led 1 y apagar los otros
    digitalWrite(Led1,HIGH);
    digitalWrite(Led2,LOW);
    digitalWrite(Led3,LOW);
  }
  // Mover en el otro sentido
  else if(digitalRead(BA2)==HIGH){
    // Mover servo a la posición de cerrado
    servoMotor.write(180);
    // Girar motor en el otro sentido
    digitalWrite(Gir1,LOW);
    digitalWrite(Gir2,HIGH);
    analogWrite(vel,255);
    // Encender led 2 y apagar los otros
    digitalWrite(Led2,HIGH);
    digitalWrite(Led1,LOW);
    digitalWrite(Led3,LOW);
  }
}
Vistas
2 Número de vistas
2 Vistas de miembros
0 Vistas públicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.