Actividad 2: Uso de los motores con pulsadores

Actividad 2

 

Montaje eléctrico

Para hacer esta actividad es necesario haber terminado el montaje de la actividad anterior. También es recomendable haber terminado de programar la actividad anterior para verificar que el montaje esta correcto. Los materiales necesarios para el nuevo montaje son los siguientes:

  • 3 pulsadores

  • 3 diodos leds

  • 6 resistencias 220 Ω


 

 

Se recomienda utilizar la siguiente asignación de pines para evitar problemas futuros.

  • Pin digital 3 → Botón del piso 3

  • Pin digital 4 → Led del piso 1

  • Pin digital 7 → Led del piso 2

  • Pin digital 8 → Led del piso 3

  • Pin digital 12 → Botón del piso 2

  • Pin digital 13 → Botón del piso 1

Actividad 2

En esta segunda actividad también se plantea el control de los motores, pero en  este caso se plantea de una forma continua. Se disponen de tres pulsadores, cuando el primero de ellos se presiona, el motor debe girar en un sentido. Cuando se presione el segundo pulsador el motor debe girar en sentido contrario. Cuando se pulse el tercer pulsador, el motor debe detenerse.

También se disponen de tres leds. En caso de que el motor este girando en un sentido, se debe mantener un led encendido. Cuando el motor gire en otro sentido, se deberá encender otro led. Si el motor esta parado, también deberá encenderse otro led. Los leds deben encenderse de forma individual.

Para poder leer/evaluar el estado de una entrada digital es necesario hacer uso de la siguiente
sentencia:
if(digitalRead(Boton1)==HIGH){...}
En este ejercicio se plantea encender solo un led para indicar en que estado esta el motor, esto
se puede lograr haciendo uso del siguiente código, cambiando el led que se enciende para cada
caso:
digitalWrite(Led3,HIGH);
digitalWrite(Led1,LOW);
digitalWrite(Led2,LOW);
#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

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);
}

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 demas
    digitalWrite(Led3,HIGH);
    digitalWrite(Led1,LOW);
    digitalWrite(Led2,LOW);
  }
  // Mover en un sentido
  else if(digitalRead(BA1)==HIGH){
    // Girar motor en un sentido
    digitalWrite(Gir1,HIGH);
    digitalWrite(Gir2,LOW);
    analogWrite(vel,255);
    // Encender led 1 y apagar los demas
    digitalWrite(Led1,HIGH);
    digitalWrite(Led2,LOW);
    digitalWrite(Led3,LOW);
  }
  // Mover en el otro sentido
  else if(digitalRead(BA2)==HIGH){
    // Girar motor en el otro sentido
    digitalWrite(Gir1,LOW);
    digitalWrite(Gir2,HIGH);
    analogWrite(vel,255);
    // Encender led 2 y apagar los demas
    digitalWrite(Led2,HIGH);
    digitalWrite(Led1,LOW);
    digitalWrite(Led3,LOW);
  }
}
Vistas
1 Número de vistas
1 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.