viernes, 25 de noviembre de 2022

Pulsador extenso

 







En la clase de hoy veremos un pulsador un poco más grande, en esta ocasión no tengo el código, así que esa parte ya te tocará a ti ;).

miércoles, 23 de noviembre de 2022

Pulsador simple

 




Nuesto circuito consiste en que al pulsar el pulsador, se encienda el LED. Como podrás ver es muy sencillo, los códigos básicos de pinMode, void loop, digitalWrite y delay. Esto lo hemos aplicado en ocasiones anteriores, te invito a revisar las otras partes del blog para repasar un poco.


Código:

//PULSADOR


void setup()


{


  pinMode(LED_BUILTIN, OUTPUT);


}




void loop()


{


  digitalWrite(LED_BUILTIN, HIGH);


  delay(1000); // Wait for 1000 millisecond(s)


  digitalWrite(LED_BUILTIN, LOW);


  delay(1000); // Wait for 1000 millisecond(s)


}

Sensor ultrasónico video

 https://youtu.be/HIy_BQn6WWI

En este video explico que es y como funciona un sensor ultrasónico.

Pulsador inverso

 



Muy bien, aquí solo necesitamos la placa Arduino, un par de pulsadores, un par de LED´s, un par de resistencia y una mini protoboard o mini placa de pruebas (Tinkercad). Con el siguiente código heremos nuestro circuito


Como podrás ver en el código vienes los libreros en los cuales de manera breve nos indican que realiza cada comando. Pareciera algo muy complicado, lo es? No lo sé, solo lo sabrás intentándolo.


const int led_rojo = 3;

const int led_verde = 4; //Declarar Variables y Constantes

const int ent_pulsador = 7;

const int ent_pullDown = 8; //en este caso variables tipo entero

int lectura;

int lectura_pull;

void setup()

{

pinMode(led_rojo, OUTPUT);

pinMode(led_verde, OUTPUT); // Asignación de puertos como entrada/salida

pinMode(ent_pulsador, INPUT_PULLUP); //Se utiliza la resistencia

pinMode(ent_pullDown, INPUT); // interna de Pull_Up

}

void loop()

{

lectura = digitalRead(ent_pulsador); //Se lee el estado del pulsador

lectura_pull = digitalRead(ent_pullDown); //Se lee el estado del pulsador/resistencia

digitalWrite(led_rojo, lectura); //Se escribe en el puerto 3 el estado de la

//la lectura del pulsador

digitalWrite(led_verde, lectura_pull); ////Se escribe en el puerto 4 el estado de

//la lectura del pulsador/resistencia de

//Pull-Up

}

Servomotores (vídeo)

 https://youtu.be/C2PhabVRuaQ

Semáforo doble

 En la clase de hoy vamos a hacer un semáforo doble, es lo mismo que el semáforo común solo que cuando un semáforo esté en color verde el otro estará en rojo y así respectivamente.






El código es el siguiente:

int rojo=13;

int amarillo=12;

int verde=11;

int rojo1=A2;

int amarillo1=A1;

int verde1=A0;


void setup()

{

  pinMode(13, OUTPUT);

  pinMode(12, OUTPUT);

  pinMode(11, OUTPUT);

  pinMode(A2, OUTPUT);

  pinMode(A1, OUTPUT);

  pinMode(A0, OUTPUT);


}


void loop()

{

  digitalWrite(11, HIGH);

  digitalWrite(12, LOW);

  digitalWrite(13, LOW);

  

  digitalWrite(A2, HIGH);

  digitalWrite(A1, LOW);

  digitalWrite(A0, LOW);

  

  delay(4500);

  

  

  digitalWrite(12, HIGH);

  digitalWrite(13, LOW);

  digitalWrite(11, LOW);

  

  digitalWrite(A1, HIGH);

  digitalWrite(A2, LOW);

  digitalWrite(A0, LOW);

  

  delay(3000);

  

  

  digitalWrite(13, HIGH);

  digitalWrite(12, LOW);

  digitalWrite(11, LOW);

  

  digitalWrite(A0, HIGH);

  digitalWrite(A1, LOW);

  digitalWrite(A2, LOW);

  

  delay(1500);

  

  

}

  

Contador

 El día de hoy hicimos un contador, una actividad un tanto complicada pero satisfactorio de ver.







Compilamos el código:

int a = 2;

int b = 3;

int c = 4;

int d = 5;

int e = 6;

int f = 7;

int g = 8;

int time = 1000;


void setup()

{

  pinMode(a,OUTPUT);

  pinMode(b,OUTPUT);

  pinMode(c,OUTPUT);

  pinMode(d,OUTPUT);

  pinMode(e,OUTPUT);

  pinMode(f,OUTPUT);

  pinMode(g,OUTPUT);

}

  

void loop()

{

  //0

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e,HIGH);

  digitalWrite(f,HIGH);

  digitalWrite(g,LOW);

  delay(time);

  

  //1

  digitalWrite(a,LOW);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,LOW);

  digitalWrite(e,LOW);

  digitalWrite(f,LOW);

  digitalWrite(g,LOW);

  delay(time);

  

  //2

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,LOW);

  digitalWrite(d,HIGH);

  digitalWrite(e,HIGH);

  digitalWrite(f,LOW);

  digitalWrite(g,HIGH);

  delay(time);

  

  //3

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e,LOW);

  digitalWrite(f,LOW);

  digitalWrite(g,HIGH);

  delay(time);

  

  //4

  digitalWrite(a,LOW);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,LOW);

  digitalWrite(e,LOW);

  digitalWrite(f,HIGH);

  digitalWrite(g,HIGH);

  delay(time);

  

  

  //5

  digitalWrite(a,HIGH);

  digitalWrite(b,LOW);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e,LOW);

  digitalWrite(f,HIGH);

  digitalWrite(g,HIGH);

  delay(time);

  

  //6

  digitalWrite(a,HIGH);

  digitalWrite(b,LOW);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e,HIGH);

  digitalWrite(f,HIGH);

  digitalWrite(g,HIGH);

  delay(time);

  

  //7

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,LOW);

  digitalWrite(e,LOW);

  digitalWrite(f,LOW);

  digitalWrite(g,LOW);

  delay(time);

  

  //8

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e,HIGH);

  digitalWrite(f,HIGH);

  digitalWrite(g,HIGH);

  delay(time);

  

  //9

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e,LOW);

  digitalWrite(f,HIGH);

  digitalWrite(g,HIGH);

  delay(time);

  

  //0

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e,HIGH);

  digitalWrite(f,HIGH);

  digitalWrite(g,LOW);

  delay(time);

  

}

Servomotor (par)

 En la actividad de hoy haremos girar dos servos aplicando lo aprendido, unicamente neceistamos la placa Arduino, un Microservomotor profesional y un microservomotor, como es de costumbre ocuparemos el simulador de tinkercad.

Conectamos los puertos de tierra de la placa con cada servomotor, los puertos de potencia con la placa arduino a los 5V y el puerto de señal a d7 y d8.

la conexión quedaría de la siguiente manera:



Ejecutamos nuestro código:

/C++ code

//

#include <Servo.h>


Servo servo_7; 


Servo servo_8;


void setup()


{


servo_7. attach(7);

servo_8. attach(8);

}


void loop()


{

servo_7.write(90);

servo_8.write(90);

 delay(1000);

servo_7.write(180);

servo_8 .write(180);



delay(1000);

}

Servomotor rotación

El día de hoy veremos servomotores, hay un vídeo que lo explica de mejor manera, en esta actividad colocamos 3 servos que giraran 180 grados, así que procederé a enseñarles el código:

Ejecutamos el código:


bucle vacío ()




{




  para (ángulo = 0; ángulo < 180; ángulo = ángulo + 40)




  {




    servo1.write(ángulo);




    servo2.write(ángulo);




    servo3.write(ángulo);




    retraso (1000);




  }


  para (ángulo = 180; ángulo < 0; ángulo =20)




  {




    servo1.write(ángulo);




    servo2.write(ángulo);




    servo3.write(ángulo);




    retraso (1000);


 }


}

Sensor de proximidad

 Con esto buscamos encender un LED cada vez que el sensor detecta un objeto cercano o lejano, ya sea que se encienda en verde, amarillo o rojo.

Para ello necesitamos la placa Arduino, la protoboard, 3 LEDs, un sensor de proximidad, un emisor de sonido y objetos para detectar proximidad (en este caso ocupa resistencias).


El sensor detectará que hay un objeto cerca o lejos, por lo que emitirá un sonido y dependiendo de ello, si está cerca se iluminará en rojo, si está a media distancia será amarillo, si está lejos se iluminará en verde.



Ejecutamos el código:

const int led_rojo = 2;


const int led_amarillo = 3;


const int led_verde = 4;


altavoz int const = 9;


configuración vacía ()


{


pinMode(rojo_led, SALIDA);


pinMode(amarillo_led, SALIDA);


pinMode(led_verde, SALIDA); Serial.begin(9600);


}


bucle vacío ()


{


larga distancia = 0.01723 * readUltrasonicDistance(5, 6);


retraso (10);


Serial.println(distancia);


si ((distancia> 0) y (distancia <100))


{


escritura digital (led_rojo, ALTO);


escritura digital (led_amarillo, BAJO);


escritura digital (led_verde, BAJO); tono (altavoz, 200,300);


}


si ((distancia> 100) y (distancia <200))


{


escritura digital (led_rojo, BAJO);


escritura digital (led_amarillo, ALTO);


escritura digital (led_verde, BAJO);


tono (altavoz, 200,300);


retraso (400);


} si ((distancia> 200) y (distancia <300))


{


escritura digital (led_rojo, BAJO);


escritura digital (led_amarillo, BAJO);


escritura digital (led_verde, ALTO);


tono (altavoz, 200,300);


retraso (700);


}


si (distancia> 300)


{


escritura digital (led_rojo, BAJO);


escritura digital (led_amarillo, BAJO);


escritura digital (led_verde, BAJO);


}


}


long readUltrasonicDistance(int triggerPin, int echoPin)


{


// Instagram: @konredus 6


pinMode(pin disparador, SALIDA); // Limpiar el gatillo


digitalWrite(pin disparador, BAJO);


retrasoMicrosegundos(2);


// Establece el pin de activación en estado ALTO durante 10 microsegundos


escritura digital (pin disparador, ALTO);


retrasoMicrosegundos(10);


digitalWrite(pin disparador, BAJO);


pinMode(echoPin, ENTRADA);


// Lee el pin de eco y devuelve el tiempo de viaje de la onda de sonido en microsegundos


volver pulseIn(echoPin, ALTO);


}


Potenciómetro

 Un potenciómetro es un componente eléctrico similar a las resistencias pero cuyo valor de resistencia no es fijo, sino que varía, permitiéndonos variar la intensidad en el circuito.



Packet Tracer IoT

 Este video trata sobre la automatización de un área de trabajo en Cisco Packet Tracer. Con una explicación detallada sobre como funciona la...