Passer au contenu principal

Interface d'extension

Des dispositifs personnalisés peuvent être construits et utilisés avec CanSat. Ceux-ci peuvent être utilisés pour réaliser des projets intéressants, pour lesquels vous pouvez trouver des idées sur notre Blog.

L'interface d'extension de CanSat dispose d'une ligne UART libre, de deux broches ADC et de 5 broches d'E/S numériques libres. De plus, les lignes SPI et I2C sont disponibles pour l'interface d'extension, bien qu'elles soient partagées avec la carte SD et l'ensemble de capteurs, respectivement.

L'utilisateur peut également choisir d'utiliser les broches UART2 et ADC comme E/S numériques, au cas où la communication série ou la conversion analogique-numérique ne serait pas nécessaire dans leur solution.

Numéro de brocheNom de la brocheUtilisation commeRemarques
12GPIO12E/S numériqueLibre
15GPIO15E/S numériqueLibre
16GPIO16UART2 RXLibre
17GPIO17UART2 TXLibre
18SPI_CLKSPI CLKCo-utilisation avec carte SD
19SPI_MISOSPI MISOCo-utilisation avec carte SD
21I2C_SDAI2C SDACo-utilisation avec ensemble de capteurs
22I2C_SCLI2C SCLCo-utilisation avec ensemble de capteurs
23SPI_MOSISPI MOSICo-utilisation avec carte SD
25GPIO25E/S numériqueLibre
26GPIO26E/S numériqueLibre
27GPIO27E/S numériqueLibre
32GPIO32ADCLibre
33GPIO33ADCLibre

Tableau : Tableau de recherche des broches de l'interface d'extension. Le nom de la broche se réfère au nom de la broche de la bibliothèque.

Options de communication

La bibliothèque CanSat n'inclut pas de wrappers de communication pour les dispositifs personnalisés. Pour la communication UART, I2C et SPI entre CanSat NeXT et votre dispositif de charge utile personnalisé, référez-vous aux bibliothèques par défaut d'Arduino UART, Wire, et SPI, respectivement.

UART

La ligne UART2 est une bonne alternative car elle sert d'interface de communication non allouée pour les charges utiles étendues.

Pour envoyer des données via la ligne UART, veuillez vous référer à l'Arduino

       CanSat NeXT
ESP32 Dispositif de l'utilisateur
+----------------+ +----------------+
| | TX (Transmit) | |
| TX o----|---------------->| RX (Receive) |
| | | |
| RX o<---|<----------------| TX |
| | GND (Ground) | |
| GND o---|-----------------| GND |
+----------------+ +----------------+

Image : Protocole UART en ASCII

I2C

L'utilisation de l'I2C est prise en charge, mais l'utilisateur doit garder à l'esprit qu'un autre sous-système existe sur la ligne.

Avec plusieurs esclaves I2C, le code utilisateur doit spécifier quel esclave I2C le CanSat utilise à un moment donné. Cela se distingue par une adresse esclave, qui est un code hexadécimal unique pour chaque dispositif et peut être trouvé dans la fiche technique du dispositif du sous-système.

SPI

L'utilisation du SPI est également prise en charge, mais l'utilisateur doit garder à l'esprit qu'un autre sous-système existe sur la ligne.

Avec le SPI, la distinction des esclaves est faite en spécifiant une broche de sélection de puce. L'utilisateur doit dédier l'une des broches GPIO libres pour être une sélection de puce pour leur dispositif de charge utile étendu personnalisé. La broche de sélection de puce de la carte SD est définie dans le fichier de bibliothèque CanSatPins.h comme SD_CS.

Bus I2C CanSat NeXT.

Image : le bus I2C CanSat NeXT avec plusieurs sous-systèmes secondaires, ou "esclaves". Dans ce contexte, l'ensemble de capteurs est l'un des sous-systèmes esclaves.

Bus SPI CanSat NeXT.

Image : la configuration du bus SPI CanSat NeXT lorsque deux sous-systèmes secondaires, ou "esclaves", sont présents. Dans ce contexte, la carte SD est l'un des sous-systèmes esclaves.