Salta al contenuto principale

Interfaccia di estensione

Dispositivi personalizzati possono essere costruiti e utilizzati insieme a CanSat. Questi possono essere usati per realizzare progetti interessanti, per i quali puoi trovare idee nel nostro Blog.

L'interfaccia di estensione di CanSat dispone di una linea UART libera, due pin ADC e 5 pin I/O digitali liberi. Inoltre, le linee SPI e I2C sono disponibili per l'interfaccia di estensione, anche se sono condivise rispettivamente con la scheda SD e il suite di sensori.

L'utente può anche scegliere di utilizzare i pin UART2 e ADC come I/O digitali, nel caso in cui la comunicazione seriale o la conversione da analogico a digitale non siano necessarie nella loro soluzione.

Numero pinNome pinUso comeNote
12GPIO12I/O DigitaleLibero
15GPIO15I/O DigitaleLibero
16GPIO16UART2 RXLibero
17GPIO17UART2 TXLibero
18SPI_CLKSPI CLKUso condiviso con scheda SD
19SPI_MISOSPI MISOUso condiviso con scheda SD
21I2C_SDAI2C SDAUso condiviso con suite sensori
22I2C_SCLI2C SCLUso condiviso con suite sensori
23SPI_MOSISPI MOSIUso condiviso con scheda SD
25GPIO25I/O DigitaleLibero
26GPIO26I/O DigitaleLibero
27GPIO27I/O DigitaleLibero
32GPIO32ADCLibero
33GPIO33ADCLibero

Tabella: Tabella di ricerca dei pin dell'interfaccia di estensione. Il nome del pin si riferisce al nome del pin della libreria.

Opzioni di comunicazione

La libreria CanSat non include wrapper di comunicazione per i dispositivi personalizzati. Per la comunicazione UART, I2C e SPI tra CanSat NeXT e il tuo dispositivo di carico utile personalizzato, fai riferimento alle librerie predefinite di Arduino UART, Wire e SPI, rispettivamente.

UART

La linea UART2 è una buona alternativa in quanto serve come interfaccia di comunicazione non allocata per carichi utili estesi.

Per inviare dati attraverso la linea UART, fare riferimento ad Arduino

       CanSat NeXT
ESP32 Dispositivo dell'utente
+----------------+ +----------------+
| | TX (Trasmetti)| |
| TX o----|---------------->| RX (Ricevi) |
| | | |
| RX o<---|<----------------| TX |
| | GND (Terra) | |
| GND o---|-----------------| GND |
+----------------+ +----------------+

Immagine: Protocollo UART in ASCII

I2C

L'uso di I2C è supportato, ma l'utente deve tenere presente che esiste un altro sottosistema sulla linea.

Con più slave I2C, il codice dell'utente deve specificare quale slave I2C il CanSat sta utilizzando in un dato momento. Questo è distinto con un indirizzo slave, che è un codice esadecimale unico per ciascun dispositivo e può essere trovato nel datasheet del dispositivo del sottosistema.

SPI

L'uso di SPI è supportato, ma l'utente deve tenere presente che esiste un altro sottosistema sulla linea.

Con SPI, la distinzione dello slave è invece fatta specificando un pin di selezione del chip. L'utente deve dedicare uno dei pin GPIO liberi per essere un selettore del chip per il proprio dispositivo di carico utile esteso personalizzato. Il pin di selezione del chip della scheda SD è definito nel file di libreria CanSatPins.h come SD_CS.

Bus I2C di CanSat NeXT.

Immagine: il bus I2C di CanSat NeXT con diversi sottosistemi secondari, o "slave". In questo contesto, il suite di sensori è uno dei sottosistemi slave.

Bus SPI di CanSat NeXT.

Immagine: la configurazione del bus SPI di CanSat NeXT quando sono presenti due sottosistemi secondari, o "slave". In questo contesto, la scheda SD è uno dei sottosistemi slave.