miércoles, 24 de febrero de 2021

 PRÁCTICA 8: Radar de tramo utilizando 2 sensores infrarrojos.

En esta práctica mediante Arduino realizaremos el funcionamiento de un radar, utilizando 2 sensores infrarrojos, en el cual si pasa un objeto que supera una velocidad x, sonará un zumbador y se encenderá un led verde.

float tiempo1;//Se introducen como entradas y salidas el zumbador, el led verde, los sensores infrarrojos, y como variables la velocidad y los tiempos.

float tiempo2;

float tiempo;

float velocidad;

int zumbador=5;

int ledG=7;

int sensorPin1=11;

int sensorPin2=9;


void setup() {

  Serial.begin(9600);//Declaro los pines como salidas y entradas.

  pinMode(sensorPin1,INPUT);

  pinMode(sensorPin2,INPUT);

  pinMode(zumbador,OUTPUT);

  pinMode(ledG,OUTPUT);


}


void loop() {

  int IR1=0;//Introduzco 2 nuevas variables y las declaro.

  IR1 =digitalRead(sensorPin1);

  int IR2=0;

  IR2=digitalRead(sensorPin2);

  if (IR1==LOW)//Declaro una condicionante, mediante la cual indico que si detecta un objeto el cual se esté moviendo, que empiece a contar un tiempo a partir de su aparición.

  {

    tiempo1=millis();

  }

  if (IR2==LOW)//Declaro esta condicionante para explicar que en el momento en el que pase el objeto por el segundo sensor, termine de contar el tiempo y calcule la velocidad utilizando el tiempo y la distancia que ha recorrido. 

  {

     tiempo2=millis();

     tiempo=tiempo2-tiempo1;

     velocidad=4/tiempo;

    Serial.println(velocidad,4);


  if (velocidad>=0.004)//En esta condicionante declaro qué sucederá si un objeto supera la velocidad determinada. Si la supera, el zumbador sonará y el led verde se encenderá, si no se cumple, no funcionará nada.

  {

    tone(zumbador,6000);

    digitalWrite(ledG,HIGH);

  }

  else{

    noTone(zumbador);

    digitalWrite(ledG,LOW);

  }




}

}

jueves, 11 de febrero de 2021

 PRÁCTICA 7: Sensor de una línea negra por medio de un sensor infrarrojos.

En esta práctica mediante Arduino realizaremos la detección mediante un sensor infrarrojos de una línea negra, haciendo que un servomotor de 180º se mueva y un zumbador suene si se ve dicha línea negra.

#include <Servo.h>//Se le da a Arduino cómo debe funcionar el servomotor.

Servo myservo;//Se introducen como entradas y salidas el zumbador, el servomotor y el sensor infrarrojos.

int sensorPin=9;

int zumbador=5;

void setup() {

  Serial.begin(9600);//Declaro los pines como salidas y entradas. 

  pinMode(sensorPin,INPUT);

  myservo.attach(7);

  pinMode(zumbador,OUTPUT);


}


void loop() {

  int value=0;//Introduzco una nueva variable

  value=digitalRead(sensorPin);//Declaro dicha variable

  if (value==LOW)//Declaro una condicionante, si esta se cumple significará que el sensor infrarrojos ha detectado la línea negra, haciendo que el zumbador suene y que el servomotor se mueva. Si no se cumple, el servomotor y el zumbador no funcionarán

  {

    Serial.println("Aparece negro");

    for (int i=0;i<=180;i++)//En esta condicionante declaro cómo se va a mover el servomotor.

    {

      myservo.write(i);

      delay(10);

    }

    tone(zumbador,4000);

  }

  else

  {

    Serial.println("No aparece negro");

    myservo.write(0);

    noTone(zumbador);

  }

  delay(1000);


}

martes, 2 de febrero de 2021

 PRÁCTICA 6: Diseño de un parktronic con Arduino utilizando un ultrasonido

Esta práctica consiste en un parktronic, utilizando leds de color rojo, amarillo y verde, un zumbador, y un sensor de ultrasonido.

long distancia;//Se introducen como entradas y salidas los pines y el sensor de ultrasonido y como variables la distancia y el tiempo.

long tiempo;

int pinTrig=9;

int pinEcho=8;

int pinG=7;

int pinY=6;

int pinR=5;

int zumbador=3;

void setup() {

  Serial.begin(9600);//Declaro los pines como salidas y entradas.

  pinMode(pinTrig,OUTPUT);

  pinMode(pinEcho,INPUT);

  pinMode(pinG,OUTPUT);

  pinMode(pinY,OUTPUT);

  pinMode(pinR,OUTPUT);

  pinMode(zumbador,OUTPUT);


}


void loop() {

  digitalWrite(pinTrig,LOW);//Declaro el funcionamiento del ultrasonido, así como las variables tiempo y distancia.

  delayMicroseconds(5);

  digitalWrite(pinTrig,HIGH);

  delayMicroseconds(10);

  tiempo=pulseIn(pinEcho,HIGH);

  distancia= int(0.017*tiempo);

  Serial.println("Distancia");

  Serial.println(distancia);

  Serial.println("cm");

  delay(1000);

  if (distancia>30)//Declaro una condicionante, si se cumple, se realizará lo introducido, pero si no se cumple, se buscará otra de las condiciones que se sitúan dentro de esta condicionante, con el fin de observar si alguna de ellas se cumple.

  {

    digitalWrite(pinG,HIGH);

    digitalWrite(pinY,LOW);

    digitalWrite(pinR,LOW);

    noTone(zumbador);

  }

  else

  {

    if ((distancia<30) && (distancia>20))

  {

    digitalWrite(pinY,HIGH);

    digitalWrite(pinG,LOW);

    digitalWrite(pinR,LOW);

    tone(zumbador,1500);

  }

   else{

      if ((distancia<20) && (distancia>10))

  {

    digitalWrite(pinR,HIGH);

    digitalWrite(pinG,LOW);

    digitalWrite(pinY,LOW);

    tone(zumbador,4000);

  }

  else{

        

  

    for(int i=0;i<=5;i++){//Con esta condicionante, el led rojo realizará un parpadeo si se cumple lo anterior

      digitalWrite(pinR,HIGH);

      delay(100);

      digitalWrite(pinR,LOW);

    }

    digitalWrite(pinG,LOW);

    digitalWrite(pinY,LOW);

    tone(zumbador,7000);

  }

  }

  

  }

 


  }

 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...