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 estructura completa.
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 estructura completa.
El día de hoy veremos cómo pasar de álgebra a un circuito, espero les guste :).
E método que yo ocupé es empezar del final para el inicio, es un ejemplo sencillo pero espero que se le entienda.
Que tal, el día de hoy veremos cómo pasar de álgebra booleana a tabla de verdad.
Los pasos son:
Una vez identificada la tabla y el álgebra, debemos de tener claro que las A normales son iguales a 1, y las A\ (negada) son iguales a 0, entonces en las fiestas las y columnas ubicamos las que sean iguales a el álgebra, y si coinciden el resultado será 1.
A continuación te dejo un pequeño video en el cual lo explico un poco mejor :).
En este proyecto haremos un drone en equipo, les dejo las siguientes diapositivas para que vean en qué consiste.
Nosotros decidimos hacer este proyecto ya que es algo innovador y que tiene diversas funciones en el día a día, y nos da una perspectiva distinta de las nuevas tecnologías y su elaboración.
-1x 450 size frame with integrated power distribution board (1 marco de tamaño 450 con tablero de distribución de energia integrado)
-4x motor de 1000kV/ 10x4.5 props/ESC combo.
-1x 35/2200mAh/ 20Clipo.
-1x Arduino Uno o Funduino Uno.
-1x25/35 lipo battery charger (1 x 25/35 cargador de bateria lipo)
-1x25/35 lipo battery charger (1 x 25/35 cargador de bateria lipo)
Y algunas piezas pequeñas como tres resistencias (1.5k0 y 1k0 y 3300), un diodo 1A (1N4001 o similar), LED, algún cable, un conector para la bateria de vuelo, etc."
Estos serían todos los materiales que nosotros ocuparemos para la realización de nuestro drone.
Esta es una idea sobre como será nuestro diseño para nuestro drone, todas estas piezas las haríamos nosotros mismos ó las compraríamos para que la realización del mismo sea más sencilla.
También debemos sacar un permiso para poder volar nuestro drone y no tener ningún problema, esto con la fines educativos claro.
El día de hoy veremos cómo pasar de un circuito a álgebra booleana, espero sea de su agrado y que le entiendan :).
El día de hoy veremos cómo pasar de un circuito a tabla de verdad, espero que sea de su agrado y que le entiendan :).
Alarma de seguridad:
En este video hicimos una alarma de seguridad que se activa cuando un objeto se acerca, en este proyecto utilizamos una placa de Arduino una protoboard y un sensor ultrasónico.
Alumbrado público:
En este video hicimos un alumbrado público, este funciona con un fotosensor, una placa de Arduino y una protoboard, su función es que se prenda y apaga cuando detecta o no luz.
Grua con arduino:
En este proyecto hicimos una grua con arduino, con dos servomotores y un joystick, está grúa tiene la función de moverse 180° a la derecha, izquierda, arriba y abajo.
Materiales completos:
Placa de Arduino UNO: Es el cerebro de nuestro proyecto, encargada de controlar todos los procesos del mismo mediante el código que encontrarás más adelante.
Joystick: Mediante la variación de dos potenciómetros se logra conocer la posición exacta (X,Y) en la que nos encontramos y de esta forma usarlo como mando.
Servomotores: motores de 5v con una reductora, lo que permite un gran manejo de su posición y una gran fuerza para su reducido tamaño.
Protoboard: Tabla con orificios (pines) la cual está conectada internamente y usaremos para realizar nuestras conexiones para el proyecto.
Palos de helado: Usaremos estos palos como estructura para dar forma a nuestra grúa.
Cables con pines: Estos cables tienen unos pines (macho o hembra) los cuales nos permitirán hacer las conexiones entre los diferentes elementos ya mencionados.
Código completo:
#include <Servo.h>
//Definicion de los servos
Servo servo1;
Servo servo2;
int eje1=90;
int eje2=90;
void setup(){
servo1.attach(7);
servo2.attach(6);
servo1.write(90);
servo2.write(90);
}
void loop(){
//SERVO 1
if (analogRead(0)<200 && eje1<180){
eje1++;
servo1.write(eje1);
}
if (analogRead(0)>700 && eje1>0){
eje1--;
servo1.write(eje1);
}
//SERVO 2
if (analogRead(1)<200 && eje2<180){
eje2++;
servo2.write(eje2);
}
if (analogRead(1)>700 && eje2>0){
eje2--;
servo2.write(eje2);
}
delay(15);
}
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)
}
https://youtu.be/HIy_BQn6WWI
En este video explico que es y como funciona un sensor ultrasónico.
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
}
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);
}
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);
}
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:
/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);
}
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);
}
}
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);
}
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.
La electricidad es una forma de energía que se manifiesta con el movimiento de los electrones de la capa externa de los átomos que hay en la superficie de un material conductor. La electricidad es un fenómeno íntimamente ligado en la materia y a la vida.
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...