Saltar al contenido principal

Interfaz de extensión

Se pueden construir y utilizar dispositivos personalizados junto con CanSat. Estos pueden usarse para realizar proyectos interesantes, para los cuales puedes encontrar ideas en nuestro Blog.

La interfaz de extensión de CanSat cuenta con una línea UART libre, dos pines ADC y 5 pines de E/S digitales libres. Además, las líneas SPI e I2C están disponibles para la interfaz de extensión, aunque se comparten con la tarjeta SD y el conjunto de sensores, respectivamente.

El usuario también puede optar por usar los pines UART2 y ADC como E/S digitales, en caso de que la comunicación serial o la conversión de analógico a digital no sean necesarias en su solución.

Número de pinNombre del pinUsar comoNotas
12GPIO12E/S DigitalLibre
15GPIO15E/S DigitalLibre
16GPIO16UART2 RXLibre
17GPIO17UART2 TXLibre
18SPI_CLKSPI CLKUso compartido con tarjeta SD
19SPI_MISOSPI MISOUso compartido con tarjeta SD
21I2C_SDAI2C SDAUso compartido con conjunto de sensores
22I2C_SCLI2C SCLUso compartido con conjunto de sensores
23SPI_MOSISPI MOSIUso compartido con tarjeta SD
25GPIO25E/S DigitalLibre
26GPIO26E/S DigitalLibre
27GPIO27E/S DigitalLibre
32GPIO32ADCLibre
33GPIO33ADCLibre

Tabla: Tabla de búsqueda de pines de la interfaz de extensión. El nombre del pin se refiere al nombre del pin de la biblioteca.

Opciones de comunicación

La biblioteca de CanSat no incluye envoltorios de comunicación para los dispositivos personalizados. Para la comunicación UART, I2C y SPI entre CanSat NeXT y tu dispositivo de carga útil personalizado, consulta las bibliotecas predeterminadas de Arduino UART, Wire y SPI, respectivamente.

UART

La línea UART2 es una buena alternativa ya que sirve como una interfaz de comunicación no asignada para cargas útiles extendidas.

Para enviar datos a través de la línea UART, consulta el Arduino

       CanSat NeXT
ESP32 Dispositivo del usuario
+----------------+ +----------------+
| | TX (Transmitir) | |
| TX o----|---------------->| RX (Recibir) |
| | | |
| RX o<---|<----------------| TX |
| | GND (Tierra) | |
| GND o---|-----------------| GND |
+----------------+ +----------------+

Imagen: Protocolo UART en ASCII

I2C

El uso de I2C está soportado, pero el usuario debe tener en cuenta que existe otro subsistema en la línea.

Con múltiples esclavos I2C, el código del usuario necesita especificar qué esclavo I2C está utilizando el CanSat en un momento dado. Esto se distingue con una dirección de esclavo, que es un código hexadecimal único para cada dispositivo y se puede encontrar en la hoja de datos del dispositivo del subsistema.

SPI

El uso de SPI también está soportado, pero el usuario debe tener en cuenta que existe otro subsistema en la línea.

Con SPI, la distinción de esclavo se realiza especificando un pin de selección de chip. El usuario debe dedicar uno de los pines GPIO libres para ser un selector de chip para su dispositivo de carga útil extendida personalizada. El pin de selección de chip de la tarjeta SD está definido en el archivo de biblioteca CanSatPins.h como SD_CS.

Bus I2C de CanSat NeXT.

Imagen: el bus I2C de CanSat NeXT con varios subsistemas secundarios o "esclavos". En este contexto, el conjunto de sensores es uno de los subsistemas esclavos.

Bus SPI de CanSat NeXT.

Imagen: la configuración del bus SPI de CanSat NeXT cuando están presentes dos subsistemas secundarios o "esclavos". En este contexto, la tarjeta SD es uno de los subsistemas esclavos.