Hoppa till huvudinnehåll

Förlängningsgränssnitt

Anpassade enheter kan byggas och användas tillsammans med CanSat. Dessa kan användas för att skapa intressanta projekt, som du kan hitta idéer för på vår Blogg.

CanSats förlängningsgränssnitt har en fri UART-linje, två ADC-pinnar och 5 fria digitala I/O-pinnar. Dessutom är SPI- och I2C-linjer tillgängliga för förlängningsgränssnittet, även om de delas med SD-kortet respektive sensorsviten.

Användaren kan också välja att använda UART2 och ADC-pinnarna som digitala I/O, om seriell kommunikation eller analog till digital omvandling inte behövs i deras lösning.

PinnummerPinnamnAnvänd somAnmärkningar
12GPIO12Digital I/OFri
15GPIO15Digital I/OFri
16GPIO16UART2 RXFri
17GPIO17UART2 TXFri
18SPI_CLKSPI CLKSamanvändning med SD-kort
19SPI_MISOSPI MISOSamanvändning med SD-kort
21I2C_SDAI2C SDASamanvändning med sensorsvit
22I2C_SCLI2C SCLSamanvändning med sensorsvit
23SPI_MOSISPI MOSISamanvändning med SD-kort
25GPIO25Digital I/OFri
26GPIO26Digital I/OFri
27GPIO27Digital I/OFri
32GPIO32ADCFri
33GPIO33ADCFri

Tabell: Förlängningsgränssnittets pin-uppslagstabell. Pinnamn hänvisar till bibliotekets pinnamn.

Kommunikationsalternativ

CanSat-biblioteket inkluderar inte kommunikationsomslag för de anpassade enheterna. För UART, I2C och SPI-kommunikation mellan CanSat NeXT och din anpassade nyttolastenhet, hänvisa till Arduinos standard UART, Wire, och SPI bibliotek, respektive.

UART

UART2-linjen är ett bra alternativ eftersom den fungerar som ett oallokerat kommunikationsgränssnitt för utökade nyttolaster.

För att skicka data genom UART-linjen, vänligen hänvisa till Arduino

       CanSat NeXT
ESP32 Användarens enhet
+----------------+ +----------------+
| | TX (Transmit) | |
| TX o----|---------------->| RX (Receive) |
| | | |
| RX o<---|<----------------| TX |
| | GND (Ground) | |
| GND o---|-----------------| GND |
+----------------+ +----------------+

Bild: UART-protokoll i ASCII

I2C

Användning av I2C stöds, men användaren måste ha i åtanke att ett annat delsystem finns på linjen.

Med flera I2C-slavar måste användarkoden specificera vilken I2C-slav CanSat använder vid en given tidpunkt. Detta särskiljs med en slavadress, som är en unik hexadecimal kod för varje enhet och kan hittas i delsystemenhetens datablad.

SPI

Användning av SPI stöds också, men användaren måste ha i åtanke att ett annat delsystem finns på linjen.

Med SPI görs slavdistinktionen istället genom att specificera en chip select-pin. Användaren måste dedikera en av de fria GPIO-pinnarna till att vara en chip select för deras anpassade utökade nyttolastenhet. SD-kortets chip select-pin definieras i CanSatPins.h bibliotekfilen som SD_CS.

CanSat NeXT I2C-buss.

Bild: CanSat NeXT I2C-buss med flera sekundära, eller "slav"-delsystem. I detta sammanhang är sensorsviten ett av slavdelsystemen.

CanSat NeXT I2C-buss.

Bild: CanSat NeXT SPI-busskonfiguration när två sekundära, eller "slav"-delsystem är närvarande. I detta sammanhang är SD-kortet ett av slavdelsystemen.