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

  }}

  

miércoles, 2 de diciembre de 2020

 PRACTICA EL COCHE FANTASTICO

Esta práctica imita el funcionamiento de las luces del coche fantástico. Es decir, las luces se encienden y apagan de un lado a otro.

 int i=7;

 int in=11;

 void setup () //declaramos entradas y salidas

 {

 pinMode (7,OUTPUT);

 pinMode (8,OUTPUT);

 pinMode (9,OUTPUT);

 pinMode (10,OUTPUT);

 pinMode (11,OUTPUT);

 }

 void loop () //declaramos que cuando i sea 7 se encienda y se apague. Después,a la i se le sumará 1 quedandose en 8 y como este es menor que 11, se enciende y se apaga. Continúa sumando hasta que el número ya no sea menor que 11

 {

  for(i=7;i<=11;i++)  // declaramos que las luces se enciendan desde el pin 7 hasta el 11 de manera ascendente.

  {

    digitalWrite(i,HIGH); // el led se enciende 

    digitalWrite(i-1,LOW); //el led se apaga 

    delay(500);

  }

  digitalWrite (11,LOW);

  

  for (in=11;in>=7;in--) // al contrario que en el anterior "for", declaramos que las luces se enciendan desde el pin 11 hasta el 7 de manera descendente.

  {

  digitalWrite(in,HIGH);

  digitalWrite(in+1,LOW);

  delay (500);

  }

  digitalWrite(7,LOW);

 }

jueves, 12 de noviembre de 2020

PRACTICA ARDUINO 2

PRÁCTICA 2. SEMÁFORO

 Esta práctica simula el funcionamiento de un semáforo. Es decir, el led rojo se enciende durante un determinado tiempo y se apaga, después el led amarillo parpadea tres veces y al final el led verde se enciende y se apaga una vez. Para ello necesitamos tres leds de distintos colores y tres resistencias de 220 ohmnios cada una.

int ROJO=10; // definimos el nombre y el número de entrada

int AMARILLO=9; //definimos el nombre y el número de entrada

int VERDE=8; // definimos el nombre y el número de entrada

void setup () // para definir cada uno de los componentes si es entrada o salida

{

  pinMode(ROJO,OUTPUT); // definimos el led rojo como salida

  pinMode(AMARILLO,OUTPUT); // definimos el led amarillo como salida

  pinMode(VERDE,OUTPUT); // definimos el led verde como salida

}

void loop ()

{

  digitalWrite(ROJO,HIGH); // encendemos el rojo y apagamos los demás durante 3 segundos

  digitalWrite(AMARILLO,LOW);

  digitalWrite(VERDE,LOW);

  delay(3000);

  digitalWrite(ROJO,LOW); // encendemos el amarillo y apagamos los demás durante 2 segundos 

  digitalWrite(AMARILLO,HIGH);

  digitalWrite(VERDE,LOW); 

  delay(2000);

  digitalWrite(ROJO,LOW); // apagamos todos durante 2 segundos

  digitalWrite(AMARILLO,LOW);

  digitalWrite(VERDE,LOW); 

  delay(2000);  

  digitalWrite(ROJO,LOW); // encendemos el amarillo y apagamos los demás durante 2 segundos

  digitalWrite(AMARILLO,HIGH);

  digitalWrite(VERDE,LOW); 

  delay(2000);

  digitalWrite(ROJO,LOW); // apagamos todos durante 2 segundos

  digitalWrite(AMARILLO,LOW);

  digitalWrite(VERDE,LOW); 

  delay(2000);

 digitalWrite(ROJO,LOW); // encendemos el amarillo y apagamos los demás durante 2 segundos

  digitalWrite(AMARILLO,HIGH);

  digitalWrite(VERDE,LOW); 

  delay(2000);

  digitalWrite(ROJO,LOW); // apagamos todos durante 2 segundos

  digitalWrite(AMARILLO,LOW);

  digitalWrite(VERDE,LOW); 

  delay(2000);

  digitalWrite(ROJO,LOW); // encendemos el verde y apagamos los demás durante 3 segundos

  digitalWrite(AMARILLO,LOW);

  digitalWrite(VERDE,HIGH);

  delay(3000);

}