miércoles, 17 de marzo de 2021

 cuadrado con el coche (falta explicaciones )

int ENA=10;

int IN1=9;

int IN2=8;

int ENB=5;

int IN3=7;

int IN4=6;

void setup() {

  pinMode (ENA,OUTPUT);

  pinMode (IN1,OUTPUT);

  pinMode (IN2,OUTPUT);

  pinMode (ENB,OUTPUT);

  pinMode (IN3,OUTPUT);

  pinMode (IN4,OUTPUT);

}

  void adelante ()

  {

  digitalWrite (IN1,LOW);

  digitalWrite (IN2,HIGH);

  analogWrite (ENA,255);

  digitalWrite (IN3,LOW);

  digitalWrite (IN4,HIGH);

  analogWrite (ENB,255);

}

void derecha ()

{

  digitalWrite (IN1,LOW);

  digitalWrite (IN2,HIGH);

  analogWrite (ENA,255);

  digitalWrite (IN3,LOW);

  digitalWrite (IN4,LOW);

  analogWrite (ENB,255);

}

void loop ()

{

  adelante ();

  delay (1000);

  derecha ();

  delay (200);

  adelante ();

  delay (1000);

  derecha ();

  delay (200);

  adelante ();

  delay (1000);

  derecha ();

  delay (200);

  adelante ();

  delay (1000);

  derecha ();

  delay (200);

}

miércoles, 10 de marzo de 2021

 el radar (falta explicacion)

int rojo=9;

int sonido=8;

float ir1=10;

float ir2=11;

float tiempo1;

float tiempo2;

float tiempo;

float velocidad;


void setup() {

pinMode (rojo,OUTPUT);

pinMode (sonido,OUTPUT);

pinMode (ir1,INPUT);

pinMode (ir2,INPUT);

}


void loop() {

  

  digitalWrite(rojo,LOW);

  noTone(sonido);

  

  if ((digitalRead(ir1)==LOW))

  {

    tiempo1=millis();

  }

  if ((digitalRead(ir2)==LOW))

  {

    tiempo2=millis();

    tiempo=tiempo2-tiempo1; 

    velocidad=(1/tiempo);

  Serial.println (velocidad,5);

  }

    if(velocidad>=0.001)

    {

      digitalWrite(rojo,HIGH);

      tone(sonido,1000);

      delay(500);

      noTone(sonido);

      velocidad=(0);

       

    }

}

miércoles, 17 de febrero de 2021

ULTRASONIDOS

//declaramos todos los puertos en los que están conectados los materiales de la práctica

long distancia;

long tiempo;

int pinTrig=8;

int pinEcho=9; 

int verde=10;

int amarillo=11;

int rojo=5;

int sonido=13;


void setup(){ //declaramos si cada puerto de los anteriores son entradas o salidas

  Serial.begin(9600);

  pinMode(pinTrig, OUTPUT);  

  pinMode(pinEcho, INPUT);

  pinMode(verde, OUTPUT);

  pinMode(amarillo, OUTPUT);

  pinMode(rojo, OUTPUT);

  pinMode(sonido, OUTPUT);

}

void loop(){ // declaramos que el ultrasonidos mide cada cierto tiempo a que distancia está el objeto y lo convierta en una medida en cm

  digitalWrite(pinTrig,LOW); 

  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) { // declaramos que si la distancia es mayor que 30, solo se encienda el led verde y el zumbador no emita ningún sonido

   digitalWrite(verde,HIGH);

   digitalWrite(amarillo,LOW);

   digitalWrite(rojo,LOW);

   noTone(sonido);

  }

   else{ //declaramos que si la distancia es entre los 30 y los 15 cm, se encienda el led amarillo y el zumbador emita un sonido con una frecuencia de 400 Hz

   if(distancia<30&&distancia>15) {

    digitalWrite(verde,LOW);

    digitalWrite(amarillo,HIGH);

    digitalWrite(rojo,LOW);

    tone(sonido,400);

   }

    else{ //declaramos que si no cumple ninguna de las dos condiciones anteriores, el led rojo se encienda y el zumbador emita un sonido de 1000 Hz

      digitalWrite(verde,LOW);

      digitalWrite(amarillo,LOW);

      digitalWrite(rojo,HIGH);

      tone(sonido,1000);

    }

      }

  }

martes, 2 de febrero de 2021

BARRERA DE UN PARKING

//en este apartado definimos todos los puertos y conexiones 

#include<Servo.h>

Servo myservo;

int pausa=500;

int botona=9;

int botonn=10;

int verde=8;

int amarillo=7;

int rojo=6;


void setup() { //definimos cada uno de los objetos como entradas o salidas

 myservo.attach (2); 

 Serial.begin(9600); 

  pinMode (botona, INPUT);

  pinMode (botonn, INPUT);

  pinMode (verde, OUTPUT);

  pinMode (amarillo, OUTPUT);

  pinMode (rojo, OUTPUT);

}

void loop() { // definimos que el led rojo se encienda y el resto se apaguen y que la posición de la barrera sea 0 

 digitalWrite(rojo,HIGH);

 digitalWrite(amarillo,LOW);

 digitalWrite(verde,LOW);

 myservo.write(0);

 int estadoabre=digitalRead(botona);

 int estadocierra=digitalRead(botonn);

if((estadoabre==HIGH)||(estadocierra==HIGH)) { // declaramos que si cualquiera de los botones está pulsado, el led rojo se apaga, el led verde se enciende y la posición de la barrera suba hasta los 90 grados poco a poco

  digitalWrite(rojo,LOW);

  digitalWrite(verde,HIGH);

 for(int pos=0;pos<=90;pos++) {

  myservo.write(pos);

  }

  delay(pausa);

  for (int j=0;j<=7;j++) { // declaramos que el led verde parpadee 7 veces

   digitalWrite(verde,HIGH);

   delay(50);

   digitalWrite(verde,LOW);

   delay(50);

     } 

   for(int pos=90;pos>=0;pos-=10) { // declaramos que la posición de la barrera baje hasta la posición inicial 0 poco a poco y que a la vez el led amarillo parpadee

   myservo.write(pos);

   digitalWrite(amarillo,HIGH);

   delay(50);

   digitalWrite(amarillo,LOW);

   delay(50);

    

  } 

   

 }}

miércoles, 20 de enero de 2021

PRACTICA DEL SEMÁFORO

int BOTON=2; //definimos los nombres y las entradas de los elementos que conforman el circuito.

int ROJO=10;

int AMARILLO=9;

int VERDE=8;

int rojo=5;

int verde=4;

void setup (){ //definimos los elementos como entradas o salidas

  Serial.begin(9600); 

  pinMode (BOTON, INPUT);

  pinMode ( ROJO, OUTPUT);

  pinMode (AMARILLO, OUTPUT);

  pinMode (VERDE, OUTPUT);

  pinMode (rojo, OUTPUT);

  pinMode (verde, OUTPUT);

}

void loop () { // definimos todo lo que el circuito ha de hacer

  digitalWrite(rojo, HIGH); // encendemos el led rojo

   digitalWrite(VERDE, HIGH); //encendemos el led verde

   delay (2000);

  int estado_BOTON= digitalRead(BOTON); // creamos una variable para que cuando el botón esté pulsado, el verde de los coches se encenderá

  Serial.println(estado_BOTON);

  while(digitalRead(BOTON)==HIGH){  

    digitalWrite (VERDE,LOW);

       {

    for(int i=0;i<=5;i++) // declaramos que el led amarillo parpadee cinco veces

    digitalWrite (AMARILLO,HIGH);

    delay (500);

    digitalWrite (AMARILLO,LOW);

    delay (500);

  }

  

    digitalWrite (ROJO,HIGH); // declaramos que el rojo de los coches se encienda

    digitalWrite (rojo,LOW); // declaramos que el rojo de los peatones se apague

    digitalWrite (verde,HIGH); // declaramos que el verde de los peatones se encienda

    delay(1000);

    {

    for(int i=0;i<=5;i++) // declaramos que el verde de los peatones parpadee cinco veces 

    digitalWrite (verde,HIGH);

    delay (500);

    digitalWrite (verde,LOW);

    delay (500);

  }


  digitalWrite(ROJO,LOW); // declaramos que el rojo de los coches se apague

  digitalWrite(verde,LOW); // declaramos que el verde de los peatones se apague

  }}