Skip to content

DigitalCodesign/OrbitoModulo-Motores

Repository files navigation

OrbitoModulo-Motores

Descripción

Esta libreria esta pensada para facilitar el uso y la gestion del robot Orbito junto con el módulo de motores. Con esta se consigue que el usuario pueda ejecutar movimientos simples y complejos de una forma eficiente.

Caracteristicas

Esta libreria gestiona las comunicaciones que manda la placa principal de Orbito al microcontrolador de la placa del modulo de motores a través de varios métodos. A traves de estos es posible encender o apagar alguno de los tres indicadores luminosos que dispone la placa de motores. Tambien es posible accionar los motores para que el robot se desplace. La libreria dispone de dois métodos, tanto para rotaciones copmo pàra desp`lazamientos lineales, conm los cuales, puede indicar un desplazamiento o rotación con un vvalor determinado o sin un valor (movimiento sin fin). Por último, con esta libreria, el usuario tambien es capaz de moiver los servomotores.

Modo de empleo

  1. Instalación
    • Abre el IDE de Arduino.
    • Ve a "Herramientas" -> "Gestionar librerías..."
    • Busca "OrbitoModuloMotores" e instálala.
    • Asegurate de tener todas las dependencias:
      • OrbitoModuloMotoresen la versión 1.0.0 o superior
      • Orbito en la versión 1.0.0 o superior
      • Adafruit GFX Library en la versión 1.12.4 o superior
      • Adafruit BusIO en la versión 1.17.4 o superior
      • Adafruit ST7735 and ST7789 Library en la versión 1.10.3 o superior
  2. Ejemplo Básico
// Se incluyen las librerias necesarias
#include <OrbitoModuloMotores.h>

// Se crea el objeto OrbitoMotores
OrbitoModuloMotores OrbitoMotores;

void setup() {
  // Se inicializa el robot
  Orbito.begin();
  // Se inicializa el monitor serial
  Serial.begin(9600);
  Serial.println("Iniciando test indicadores");

}

void loop() {
  // Se encienden todos los indicadores
  Serial.print("Encendiendo todos los indicadores ... ");
  OrbitoMotores.encenderIndicador(OrbitoMotores.Indicadores.luz_izquierda);
  //pequeño retardo
  delay(1000);

  // Se apagan todos los indicadores
  Serial.println("Apagando todos los indicadores");
  OrbitoMotores.apagarIndicador(OrbitoMotores.Indicadores.luz_izquierda);
  //pequeño retardo
  delay(1000);
}

Constructor y métodos básicos

Constructor

  • OrbitoModuloMotores crea un objeto de esta clase con el nombre indicado

Métodos

  • encenderIndicador(uint8_t indicador) Enciende uno de los indicadores led presentes en la placa de motores
  • apagarIndicador(uint8_t indicador) Apaga uno de los indicadores led presentes en la placa de motores
  • leerIR(uint8_t ir_sensor) devuelve el estado lógico de uno de los dos sensores IR
  • moverRobot(uint8_t direccion, uint32_t distancia) Desplaza linealmente el robot en la dirección y distancia indicados
  • moverRobot(uint8_t direccion) Mueve el robot en la direccion indicada
  • rotarRobot(uint8_t sentido, uint32_t grados) Rota el robot en la direccion y angulo indicado
  • rotarRobot(uint8_t sentido) Rota el robot en la direccion indicada
  • moverServo(uint8_t servo, uint8_t posicion) Mueve el servomotor indicado a la posicon dada
  • robotDetenido() devuelve true si el robot se ha detenido, false si aun se esta moviemndo
  • apagarMotores() Apaga los motores del robot

Atributos

  • luz_frontal Pertenece al struct Indicadores. Selecciona el indicador frontal
  • luz_derecha Pertenece al struct Indicadores. Selecciona el indicador derecho
  • luz_izquierda Pertenece al struct Indicadores. Selecciona el indicador izquierdo
  • todas_luces Pertenece al struct Indicadores. Selecciona todos los indicadores
  • ir_derecho Pertenece al struct IR_Sensor. Selecciona el infrarrojo derecho
  • ir_izquierdo Pertenece al struct IR_Sensor. Selecciona el infrarrojo izquierdo
  • adelante Pertenece al struct Mover. Indica que el robot debe desplazarse hacia adelante
  • atras Pertenece al struct Mover. Indica que el robot debe desplazarse hacia atras
  • derecha Pertenece al struct Mover. Indica que el robot debe rotar hacia la derecha
  • izquierda Pertenece al struct Mover. Indica que el robot debe rotar hacia la izquierda
  • servo_1 Pertenece al struct Servo. Indica el servomotor 1
  • servo_2 Pertenece al struct Servo. Indica el servomotor 2
  • ambos_servos Pertenece al struct Servo. Indica ambos servomotores
  • posicion_inicial Pertenece al struct Servo. indica la posicion inicial de los servomotores

About

Repositorio de la libreria para la gestión del módulo de motores

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages