Type something to search...
Carreras de carritos 1° A

Carreras de carritos 1° A

Índice

Explicación del Proyecto

Materiales necesarios

#ComponenteImagenLink
1Arduino NANOlink
1Shield Compatible con Arduino UNOlink
1Servomotor MG90S Servomotor 180° con Engranes Metálicoslink
4Llanta para Motorreductor TT de 66x27mmlink
1L298N Módulo Driver Motor A pasoslink
1Bluetooth HC-05 Maestro Esclavo 6 pineslink
1Motorreductor Amarillo Para Carrito 48:1link

Herramientas

  • 1 Destornillador
  • 1 Pinza
  • 1 Tijera
  • 1 Cautín
  • 1 Soldadura
  • 1 Cableado

Desarrollo

imagen

Electrónica

Realiza el siguiente diagrama de conexión

Diagrama de conexión El siguiente diagrama es opcional en caso de tener un arduino uno Diagrama de conexión

Tabla de Conexiones

ComponentePin Arduino NanoPin Componente
L298N IN1D7IN1 del controlador L298N
L298N IN2D8IN2 del controlador L298N
L298N EnableD9ENA del controlador L298N
ServoD6Señal del servo
HC-05 VCC5VVCC del módulo HC-05
HC-05 GNDGNDGND del módulo HC-05
HC-05 TXD10RX del Arduino Nano (usar divisor de voltaje si necesario)
HC-05 RXD11TX del Arduino Nano
L298N VCC12V (fuente externa)VCC del controlador L298N
L298N GNDGNDGND del controlador L298N
L298N OUT1 y OUT2MotoresCables del motoreductor trasero

Programación


#include <Servo.h>
#include <SoftwareSerial.h>


// Pines del L298N
const int motorIn1 = 7;
const int motorIn2 = 8;
const int motorEnable = 9;

// Servo
Servo steeringServo;
const int servoPin = 6;

// Comunicación Bluetooth con SoftwareSerial (pines 10: RX y 11: TX)
SoftwareSerial BTSerial(10, 11);

char command = 'S';          // Comando actual (S: Stop)
unsigned long lastCommandTime = 0; 
const unsigned long timeout = 200;  // Tiempo en ms sin recibir comando para detener el carrito

void setup() {
  pinMode(motorIn1, OUTPUT);
  pinMode(motorIn2, OUTPUT);
  pinMode(motorEnable, OUTPUT);
  
  steeringServo.attach(servoPin);
  steeringServo.write(90); // Centra el servo
  
  Serial.begin(9600);       // Monitor serial para depuración
  BTSerial.begin(9600);     // Comunicación con HC-05
  
  Serial.println("Carrito listo para recibir comandos:");
  stopCar();                // Inicializa con el carrito detenido
}

void loop() {
  // Procesa todos los comandos disponibles y actualiza el comando actual
  while (BTSerial.available()) {
    char inChar = BTSerial.read();
    // Ignora caracteres de nueva línea o retorno de carro
    if (inChar == '\n' || inChar == '\r') {
      continue;
    }
    command = inChar;
    lastCommandTime = millis(); // Actualiza el tiempo del último comando recibido
    Serial.print("Comando recibido: ");
    Serial.println(command);
  }
  
  // Ejecuta el comando actual
  controlCar(command);
  
  // Si no se recibe comando en 'timeout' ms, detiene el carrito
  if (millis() - lastCommandTime > timeout) {
    if (command != 'S') { // Solo actúa si no está ya detenido
      command = 'S';
      stopCar();
      Serial.println("Timeout: Deteniendo carrito");
    }
  }
  
  // Retardo breve para evitar saturación del loop
  delay(10);
}

void controlCar(char cmd) {
  switch (cmd) {
    case 'F': // Avanzar
      digitalWrite(motorIn1, HIGH);
      digitalWrite(motorIn2, LOW);
      analogWrite(motorEnable, 255);
      // Retardo breve para dar estabilidad a la acción
      delay(20);
      break;
      
    case 'B': // Retroceder
      digitalWrite(motorIn1, LOW);
      digitalWrite(motorIn2, HIGH);
      analogWrite(motorEnable, 255);
      delay(20);
      break;
      
    case 'L': // Girar a la izquierda
      steeringServo.write(45);
      break;
      
    case 'R': // Girar a la derecha
      steeringServo.write(135);
      break;
      
    case 'S': // Detenerse
      stopCar();
      break;
      
    default:
      Serial.println("Comando no reconocido");
      break;
  }
}

void stopCar() {
  digitalWrite(motorIn1, LOW);
  digitalWrite(motorIn2, LOW);
  analogWrite(motorEnable, 0);
  steeringServo.write(90); // Centra el servo
}

Comandos Bluetooth

  • F: Avanzar.
  • B: Retroceder.
  • L: Girar a la izquierda.
  • R: Girar a la derecha.
  • S: Detener.

Diagrama de flujo de la programacion del carrito

diagrama

Recursos

ejemplo

ejemplo 1

Videos

Video de ensamble de brazo robotico

Código

aqui el codigo 

Enlaces

Enlaces a web Chareditor.

Enlaces a blog Instalacion de arduino.

Publicaciones relacionadas

ATR 1° - 2° [Primaria]

ATR 1° - 2° [Primaria]

ÍndiceExplicación del Proyecto Materiales necesarios Herramientas [1](#inicialización-de

read more
Brazo Robótico 2° A

Brazo Robótico 2° A

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios [H

read more
Robot Programable 2° B

Robot Programable 2° B

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; Explicación del Proyecto Este proyecto se centra en el desarrollo de un robot programable utilizando Arduino, cuyo objetivo

read more
Elevador 5° [Primaria]

Elevador 5° [Primaria]

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios

read more
Figuras con luz 1° - 2° [Primaria]

Figuras con luz 1° - 2° [Primaria]

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios

read more
Control de motor eléctrico para automoviles

Control de motor eléctrico para automoviles

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios [H

read more
Programacion en Scratch 1° - 2° [Primaria]

Programacion en Scratch 1° - 2° [Primaria]

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios

read more
Semáforo con pluma de crucero 4° [Primaria]

Semáforo con pluma de crucero 4° [Primaria]

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios

read more
Visión artificial 3° A

Visión artificial 3° A

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; Link de la sesion de meet:Link para la reunion de domingo 16 febrero 2025 actualizada https://meet.google.com/aox-anan-t

read more