Ugrás a fő tartalomra

Kiterjesztési interfész

Egyedi eszközök építhetők és használhatók a CanSat-tal együtt. Ezekkel érdekes projekteket lehet készíteni, amelyekhez ötleteket találhatsz a Blogunkban.

A CanSat kiterjesztési interfésze egy szabad UART vonalat, két ADC lábat és 5 szabad digitális I/O lábat tartalmaz. Ezenkívül SPI és I2C vonalak is elérhetők a kiterjesztési interfészhez, bár ezek megosztottak az SD kártyával és az érzékelő csomaggal.

A felhasználó választhatja azt is, hogy a UART2 és az ADC lábakat digitális I/O-ként használja, ha soros kommunikációra vagy analóg-digitális átalakításra nincs szükség a megoldásában.

Pin számPin névHasználatMegjegyzések
12GPIO12Digitális I/OSzabad
15GPIO15Digitális I/OSzabad
16GPIO16UART2 RXSzabad
17GPIO17UART2 TXSzabad
18SPI_CLKSPI CLKMegosztott az SD kártyával
19SPI_MISOSPI MISOMegosztott az SD kártyával
21I2C_SDAI2C SDAMegosztott az érzékelő csomaggal
22I2C_SCLI2C SCLMegosztott az érzékelő csomaggal
23SPI_MOSISPI MOSIMegosztott az SD kártyával
25GPIO25Digitális I/OSzabad
26GPIO26Digitális I/OSzabad
27GPIO27Digitális I/OSzabad
32GPIO32ADCSzabad
33GPIO33ADCSzabad

Táblázat: Kiterjesztési interfész pin keresőtábla. A pin név a könyvtári pin nevet jelöli.

Kommunikációs lehetőségek

A CanSat könyvtár nem tartalmaz kommunikációs csomagolókat az egyedi eszközökhöz. Az UART, I2C és SPI kommunikációhoz a CanSat NeXT és az egyedi payload eszköz között, kérjük, tekintse meg az Arduino alapértelmezett UART, Wire, és SPI könyvtárait.

UART​

Az UART2 vonal jó alternatíva, mivel szabadon felhasználható kommunikációs interfészként szolgál a kiterjesztett payloadok számára.

Az adatok UART vonalon történő küldéséhez kérjük, tekintse meg az Arduino

       CanSat NeXT
ESP32 Felhasználói eszköz
+----------------+ +----------------+
| | TX (Küldés) | |
| TX o----|---------------->| RX (Fogadás) |
| | | |
| RX o<---|<----------------| TX |
| | GND (Föld) | |
| GND o---|-----------------| GND |
+----------------+ +----------------+

Kép: UART protokoll ASCII-ban

I2C​

Az I2C használata támogatott, de a felhasználónak figyelembe kell vennie, hogy egy másik alrendszer is létezik a vonalon.

Több I2C slave esetén a felhasználói kódnak meg kell határoznia, melyik I2C slave-t használja a CanSat adott időpontban. Ezt egy slave cím különbözteti meg, amely minden eszközhöz egyedi hexadecimális kód, és megtalálható az alrendszer eszköz adatlapján.

SPI​

Az SPI használata szintén támogatott, de a felhasználónak figyelembe kell vennie, hogy egy másik alrendszer is létezik a vonalon.

Az SPI esetében a slave megkülönböztetése egy chip select pin megadásával történik. A felhasználónak az egyik szabad GPIO lábat kell chip selectként dedikálnia az egyedi kiterjesztett payload eszközéhez. Az SD kártya chip select pinje a CanSatPins.h könyvtári fájlban van definiálva SD_CS-ként.

CanSat NeXT I2C busz.

Kép: a CanSat NeXT I2C busz, amely több másodlagos vagy "slave" alrendszert tartalmaz. Ebben a kontextusban az Érzékelő csomag az egyik slave alrendszer.

CanSat NeXT SPI busz.

Kép: a CanSat NeXT SPI busz konfigurációja, amikor két másodlagos vagy "slave" alrendszer van jelen. Ebben a kontextusban az SD kártya az egyik slave alrendszer.