"Desarrollando el Futuro: Proyectos en CISCO"

 En este apartado se mostraran los proyectos realizados físicamente y hemos llevado de la teoría a la practica realizando los siguientes circuitos con representaciones:



Estacionamiento


En esta ocasiona realizamos un estacionamiento con la gran función de activación de la pluma automática con apoyo de sensores que detectaran el automóvil y se abriría la pluma y se encendería el led en verde y el auto entraría al estacionamiento y cuando salga pasa el mismo proceso.


Materiales:


Sensores ultrasonico (2)

Servomotores (2)

Led RGB

Arduino UNO

Pila de 9V

Protoboard

Cables para conexión


circuito:







Resultados:



Código empleado:
:#include <Servo.h>

Servo ioe;
Servo ioe2;

int trig = 2;
int echo = 3;
int trig2 = 9;
int echo2 = 8;
int tiempo, distancia;
int tiempo2, distancia2;

// Pines del LED RGB
int ledRojo = 5;
int ledVerde = 6;
int ledAzul = 7;

void setup() {
  // Configuración de sensores y servos
  pinMode(trig, OUTPUT); 
  pinMode(echo, INPUT); 
  ioe.attach(4); 

  pinMode(trig2, OUTPUT);
  pinMode(echo2, INPUT); 
  ioe2.attach(10);

  // Configuración de pines para el LED RGB
  pinMode(ledRojo, OUTPUT);
  pinMode(ledVerde, OUTPUT);
  pinMode(ledAzul, OUTPUT);

  // Apagar todos los colores del LED al inicio
  digitalWrite(ledRojo, LOW);
  digitalWrite(ledVerde, LOW);
  digitalWrite(ledAzul, LOW);
}

void loop() {
  bool sensorActivo = false;  // Variable para verificar si algún sensor detecta una señal válida

  // --- LECTURA DEL PRIMER SENSOR ---
  digitalWrite(trig, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);
  
  tiempo = pulseIn(echo, HIGH);
  distancia = tiempo / 58.2;

  // Control del servo 1 y verificación del sensor
  if (distancia <= 10 && tiempo > 0) { // Comprobamos que el tiempo no sea 0
    ioe.write(90);  // Posición elevada
    sensorActivo = true;  // El sensor 1 detecta una señal válida
  } else {
    ioe.write(0);
  }

  delay(100);  // Pequeña pausa para evitar interferencia

  // --- LECTURA DEL SEGUNDO SENSOR ---
  digitalWrite(trig2, LOW);
  delayMicroseconds(2);
  digitalWrite(trig2, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig2, LOW);
  
  tiempo2 = pulseIn(echo2, HIGH);
  distancia2 = tiempo2 / 58.2;

  // Control del servo 2 y verificación del sensor
  if (distancia2 <= 10 && tiempo2 > 0) {  // Comprobamos que el tiempo no sea 0
    ioe2.write(90);  // Posición elevada
    sensorActivo = true;  // El sensor 2 detecta una señal válida
  } else {
    ioe2.write(0);
  }

  // Control del LED RGB
  if (sensorActivo) {
    // Si algún sensor detecta una señal válida, encender en verde
    digitalWrite(ledVerde, HIGH);
    digitalWrite(ledRojo, LOW);
  } else {
    // Si ningún sensor detecta señal, encender en rojo
    digitalWrite(ledRojo, HIGH);
    digitalWrite(ledVerde, LOW);
  }

  // Aquí es donde realizas el movimiento del servo después de controlar el LED
  if (sensorActivo) {
    delay(2000);     // Espera 2 segundos
    ioe.write(0);    // Baja el servo 1 a la posición original
    ioe2.write(0);   // Baja el servo 2 a la posición original (si aplica)
  }

  delay(100);  // Pequeña pausa para la siguiente lectura
}



SKATE GAME

El proyecto realizado fue realizar un juego en una pantalla lcd, el funcionamiento y los objetivos con este mini juego son muy sencillos. El juego consiste en esquivar los obstáculos que van apareciendo en la pantalla, cada vez a mayor velocidad. Para ello debemos pulsar un botón, el cual hará que nuestro personaje en skate salte y esquive el obstáculos, pero claro, no todo es tan fácil, porque habrá que calcular cuanto y cuando pulsamos el botón, ya que después de cada obstáculo, SIEMPRE VIENEN MÁS.

Materiales empleados:

Arduino Uno
Potenciómetro (10000 holmios)
Cables (macho hembra)
Boton
Protoboard
Cables






Grúa Robótica 

Las grúas son maquinaria esencial en diversas industrias, desempeñando un papel crucial en la manipulación y transporte de cargas pesadas, especialmente en sectores como la construcción, la minería y el transporte. En la construcción, permiten la elevación de materiales voluminosos, como vigas y paneles, facilitando la edificación de estructuras complejas y reduciendo el tiempo necesario para completar proyectos. Además, contribuyen a incrementar la seguridad al realizar tareas que serían peligrosas o físicamente imposibles para los trabajadores. En el ámbito industrial, las grúas viajeras y hidráulicas son fundamentales para elevar y transportar materiales en fábricas y almacenes, optimizando los procesos de producción.Asimismo, las grúas son vitales en el transporte y en situaciones de emergencia; permiten mover vehículos pesados tras accidentes y ayudan a rescatar personas atrapadas bajo escombros. Su versatilidad se refleja en los diferentes tipos disponibles, que se adaptan a diversas necesidades operativas. Al permitir realizar tareas con mayor rapidez y eficiencia, las grúas no solo mejoran la productividad, sino que también contribuyen a reducir costos operativos en proyectos a gran escala. 

En este proyecto donde cumplimos nuestro objetivo de crear una grúa atreves de nuestro kits de circuito y hacerla funcionar adecuadamente como una grúa con menor capacidad pero mismo objetivo de cargar objetos.

Materiales:
Arduino Uno r3
Protoboard
3 servomotores
Motor paso a paso
Tarjeta controlador motor paso a paso
2 joysticks
Palillos de madera
Cables 
Cables macho hembra

Código:
#include <Servo.h>
#include <Stepper.h>

// Declaración de los servomotores
Servo servomotor3; // Servomotor pinza
Servo servomotor2; // Servomotor en medio
Servo servomotor1; // Servomotor abajo

// Declaración del motor de pasos
Stepper motor(2048, 4, 6, 5, 7);

// Pines de entrada del joystick 1
const int joyX1 = A0; //  motor de pasos
const int joyY1 = A1; // servo 1

// Pines de entrada del joystick 2
const int joyX2 = A3; //  servo 2
const int joyY2 = A4; //  servo 3

// Variables de estado
int posServo1 = 90; // Posición inicial del servomotor 1S
int posServo2 = 45; // Posición inicial del servomotor 2
int posServo3 = 0;  // Posición inicial del servomotor 3


void setup() {
    // Configuración de servomotores
    servomotor1.attach(8);
    servomotor2.attach(9);
    servomotor3.attach(10);

    // Configuración del motor de pasos
    motor.setSpeed(10); // Velocidad del motor en RPM

    // Inicialización de servos
    servomotor1.write(posServo1);
    servomotor2.write(posServo2);
    servomotor3.write(posServo3);

}

  void loop() {
    bool moved = false;

    // Leer joystick 1
    int xValue1 = analogRead(joyX1); // Lectura del eje X para joystick 1
    int yValue1 = analogRead(joyY1); // Lectura del eje Y para joystick 1

    // Mover motor paso a paso  (eje X)
    if (xValue1 < 400) {
        motor.step(-10); // Gira hacia la izquierda
       moved = true;
    } else if (xValue1 > 600) {
        motor.step(10); // Gira hacia la derecha
       moved = true;
    }
   
    // Mover servo 1  (eje Y)
    if (yValue1 < 400) {
        posServo1 = constrain(posServo1 -1, 90, 170);
        servomotor1.write(posServo1);
        moved = true;
        delay(35);
    } else if (yValue1 > 600) {
        posServo1 = constrain(posServo1 + 1, 90, 170);
        servomotor1.write(posServo1);
        moved = true;
        delay(35);
    }
   
    // Joystick 2
    int xValue2 = analogRead(joyX2); // Eje del eje X para joystick 2
    int yValue2 = analogRead(joyY2); // Eje Y para joystick 2

    // Mover servo 2  (eje X)
    if (xValue2 < 400) {
        posServo2 = constrain(posServo2 - 1, 0, 90);
        servomotor2.write(posServo2);
        moved = true;
    } else if (xValue2 > 600) {
        posServo2 = constrain(posServo2 + 1, 0, 90);
        servomotor2.write(posServo2);
        moved = true;
    }
    delay(25);
    // Mover servo 3  (eje Y)
    if (yValue2 < 400) {
        posServo3 = constrain(posServo3 - 1, 0, 45);
        servomotor3.write(posServo3);
        moved = true;
    } else if (yValue2 > 600) {
        posServo3 = constrain(posServo3 + 1, 0, 45);
        servomotor3.write(posServo3);
        moved = true;
    }
    delay(5);
}

Circuito físico:

Resultado:


Video de resultado:


Presentación PowerPoint del proyecto:

No hay comentarios:

Publicar un comentario