miércoles, 27 de enero de 2021

 PRÁCTICA 5: FUNCIONAMIENTO DE UN PARKING DOMÓTICO

En esta práctica realizaremos el funcionamiento de un parking domótico mediante el uso de 3 leds, 2 botones y un servomotor.

#include <Servo.h>//Se le da a la placa de Arduino como debe interactuar el servomotor


Servo myservo;//Se introducen como salidas y entradas los pines y el servomotor


int pausa=1000;

int boton1=6;

int boton2=7;

int PinG=8;

int PinY=9;

int PinR=10;


void setup() {

  myservo.attach(11);//Declaro los pines como salidas y entradas.

  pinMode(boton1,INPUT);

  pinMode(boton2,INPUT);

  pinMode(PinG,OUTPUT);

  pinMode(PinY,OUTPUT);

  pinMode(PinR,OUTPUT);

  Serial.begin(9600);


}


void loop() {

  digitalWrite(PinR,HIGH);

  myservo.write(0);//Declaro los botones y cómo es el estado normal del servomotor, teniendo el led rojo encendido y el servomotor en su estado original

  int estado_boton1=digitalRead(boton1);

  int estado_boton2=digitalRead(boton2);

  Serial.println(estado_boton1);

  Serial.println(estado_boton2);

  if((estado_boton1==HIGH) || (estado_boton2==HIGH))//Introduzco una condicionante, si se cumple, se realizará el funcionamiento, encendiendo el led verde y apagando el led rojo, sino, no empezará dicho funcionamiento y permanecerá el led rojo encendido.

  {

    digitalWrite(PinR,LOW);

    digitalWrite(PinG,HIGH);

    for(int b=0;b<=90;b++)//Introduzco esta condicionante para realizar el funcionamiento de este mecanismo, de manera que el servomotor se colocará a 90º y se parará en esa posición

    {

      myservo.write(b); 

      delay(50);

    }

    delay(pausa);

    for(int i=0;i<=4;i++)//Introduzco esta condicionante para que el led verde parpadeará indicando la bajada del servomotor a su estado original

    {

      digitalWrite(PinG,HIGH);

      delay(500);

      digitalWrite(PinG,LOW);

      delay(500);

    }

    for(int pos=90;pos>=0;pos-=5)//Introduzco esta condicionante para indicar la bajada del servomotor a su estado original. Mientras se realiza esto, el led amarillo parpadeará

    {

      myservo.write(pos);

      delay(100);

      digitalWrite(PinY,HIGH);

      delay(100);

      digitalWrite(PinY,LOW);

      delay(100);

    }

    

  }

  digitalWrite(PinR,HIGH);//Una vez terminado todo el funcionamiento, volverá a su estado normal, teniendo el led rojo encendido y el servomotor en su estado original

  delay(pausa);


}

 PRÁCTICA COCHE: Realización de un movimiento en forma de cuadrado. En esta práctica vamos a realizar un movimiento cuadrangular con un coc...