Librería Convey 1.0
Sistema clasificador con Arduino y C
Cargando...
Buscando...
Nada coincide
Referencia del archivo convey.h

Librería para controlar un sistema clasificador de objetos por color. Más...

Ir al código fuente de este archivo.

defines

#define COLOR_SIN_OBJETO   0
 Código para indicar que no hay objeto detectado.
 
#define COLOR_RED   1
 Código para indicar que se detectó el color rojo.
 
#define COLOR_GREEN   2
 Código para indicar que se detectó el color verde.
 
#define COLOR_YELLOW   3
 Código para indicar que se detectó el color amarillo.
 
#define COLOR_ERROR   -1
 Código para indicar error en la lectura del color.
 
#define MODO_NINGUNO   0
 Estado inicial sin conexión activa.
 
#define MODO_TCP   1
 Modo de conexión por TCP.
 
#define MODO_SERIAL   2
 Modo de conexión por puerto serial.
 

Funciones

int inicializarConexionTCP (const char *host, int puerto)
 Inicializa la conexión con el simulador mediante TCP.
 
int inicializarConexionSerial (const char *puerto, int baudrate)
 Inicializa la conexión con el sistema físico por puerto serial.
 
int cerrarConexion (void)
 Cierra la conexión activa.
 
int encenderBanda (void)
 Enciende la banda transportadora.
 
int apagarBanda (void)
 Apaga la banda transportadora.
 
int leerColor (void)
 Lee el color detectado por el sensor.
 
int abrirPuerta (int puerta)
 Abre una compuerta de clasificación.
 
int cerrarPuerta (int puerta)
 Cierra una compuerta de clasificación.
 
int cerrarPuertas (void)
 Cierra todas las compuertas del sistema.
 
int teclaDisponible (void)
 Verifica si hay una tecla disponible para lectura.
 
int leerTecla (void)
 Lee una tecla desde el teclado.
 
void restaurarTerminal (void)
 Restaura el estado normal de la terminal.
 

Descripción detallada

Librería para controlar un sistema clasificador de objetos por color.

Esta librería permite controlar una banda transportadora y compuertas de clasificación, así como leer el color detectado por el sistema.

Puede trabajar en dos modos:

  • Comunicación TCP con un simulador
  • Comunicación serial con un sistema físico basado en Arduino

También incluye funciones auxiliares para manejo portable de teclado.

Documentación de «define»

◆ COLOR_ERROR

#define COLOR_ERROR   -1

Código para indicar error en la lectura del color.

◆ COLOR_GREEN

#define COLOR_GREEN   2

Código para indicar que se detectó el color verde.

◆ COLOR_RED

#define COLOR_RED   1

Código para indicar que se detectó el color rojo.

◆ COLOR_SIN_OBJETO

#define COLOR_SIN_OBJETO   0

Código para indicar que no hay objeto detectado.

◆ COLOR_YELLOW

#define COLOR_YELLOW   3

Código para indicar que se detectó el color amarillo.

◆ MODO_NINGUNO

#define MODO_NINGUNO   0

Estado inicial sin conexión activa.

◆ MODO_SERIAL

#define MODO_SERIAL   2

Modo de conexión por puerto serial.

◆ MODO_TCP

#define MODO_TCP   1

Modo de conexión por TCP.

Documentación de funciones

◆ abrirPuerta()

int abrirPuerta ( int puerta)

Abre una compuerta de clasificación.

Parámetros
puertaNúmero de compuerta a abrir. Valores esperados: 1 o 2.
Devuelve
0 si la operación fue exitosa, -1 en caso de error.

◆ apagarBanda()

int apagarBanda ( void )

Apaga la banda transportadora.

Envía el comando correspondiente al sistema para detener la banda.

Devuelve
0 si la operación fue exitosa, -1 en caso de error.

◆ cerrarConexion()

int cerrarConexion ( void )

Cierra la conexión activa.

Cierra la conexión actual, ya sea TCP o serial.

Devuelve
0 al finalizar correctamente.

◆ cerrarPuerta()

int cerrarPuerta ( int puerta)

Cierra una compuerta de clasificación.

Parámetros
puertaNúmero de compuerta a cerrar. Valores esperados: 1 o 2.
Devuelve
0 si la operación fue exitosa, -1 en caso de error.

◆ cerrarPuertas()

int cerrarPuertas ( void )

Cierra todas las compuertas del sistema.

Devuelve
0 si la operación fue exitosa, -1 en caso de error.

◆ encenderBanda()

int encenderBanda ( void )

Enciende la banda transportadora.

Envía el comando correspondiente al sistema para iniciar el movimiento de la banda.

Devuelve
0 si la operación fue exitosa, -1 en caso de error.

◆ inicializarConexionSerial()

int inicializarConexionSerial ( const char * puerto,
int baudrate )

Inicializa la conexión con el sistema físico por puerto serial.

Abre y configura un puerto serial para comunicarse con el hardware real controlado por Arduino.

Parámetros
puertoNombre del puerto serial. Ejemplo en macOS/Linux: "/dev/cu.usbserial-1140" Ejemplo en Windows: "COM5"
baudrateVelocidad de comunicación serial.
Devuelve
0 si la conexión fue exitosa, -1 en caso de error.

◆ inicializarConexionTCP()

int inicializarConexionTCP ( const char * host,
int puerto )

Inicializa la conexión con el simulador mediante TCP.

Establece una conexión con un servidor TCP, normalmente el simulador visual del sistema clasificador.

Parámetros
hostDirección IP o nombre del host.
puertoPuerto TCP del servidor.
Devuelve
0 si la conexión fue exitosa, -1 en caso de error.

◆ leerColor()

int leerColor ( void )

Lee el color detectado por el sensor.

Solicita al sistema la lectura actual del sensor de color.

Devuelve
Uno de los siguientes códigos:
  • COLOR_RED
  • COLOR_GREEN
  • COLOR_YELLOW
  • COLOR_SIN_OBJETO
  • COLOR_ERROR

◆ leerTecla()

int leerTecla ( void )

Lee una tecla desde el teclado.

Debe usarse normalmente después de verificar con teclaDisponible().

Devuelve
Código entero de la tecla leída, o -1 si no se pudo leer.

◆ restaurarTerminal()

void restaurarTerminal ( void )

Restaura el estado normal de la terminal.

En sistemas POSIX (como macOS/Linux), algunas funciones de teclado cambian temporalmente la configuración de la terminal. Esta función la restaura.

En Windows, esta función no realiza acciones adicionales.

◆ teclaDisponible()

int teclaDisponible ( void )

Verifica si hay una tecla disponible para lectura.

Esta función permite detectar entrada de teclado sin bloquear totalmente la ejecución del programa.

Devuelve
1 si hay una tecla disponible, 0 en caso contrario.