viernes, 25 de noviembre de 2022
Pulsador extenso
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
}
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...

-
Que tal! En la clase de hoy aprendimos a crear un programa el cual nos diga si un alumno está aprobado o reprobado, para ello se ocupará l...
-
En este proyecto hicimos el proceso de automatización de un área de trabajo en Cisco Packet Tracer.
-
El día de hoy ocuparemos la función "switch" la cual nos permite ejecutar un bloque si una variable coincide con los valores de ...