Gesture Raspberry Pi e Arduino – in kit

58,00 IVA inclusa

Disponibilitร  immediata.

Basata sul chip MGC3130 della Microchip e abbinata ad Arduino Uno Rev3 (oppure la Arduino Leonardo Rev3) o Raspberry Pi (B+ / 2 / 3B / 3B+), questa scheda (elettrodo) consente di realizzare un sistema per il riconoscimento dei gesti

oppure
Puoi anche pagare in 3 rate senza interessi da 19,33 scegliendo come pagamento. Scopri di piรน

SKU: 7100-FT1214M Categorie: , , Tag:

 

Basata sul chip MGC3130 della Microchip e abbinata ad Arduino Uno Rev3 (oppure la Arduino Leonardo Rev3) o Raspberry Pi (B+ / 2 / 3B / 3B+), questa scheda (elettrodo) consente di realizzare un sistema per il riconoscimento dei gesti. Dispone di tre pulsanti (P1, P2 e P3) e un jumper, che servono per riprodurre le funzioni implementate nella scheda; un LED di segnalazione per Arduino (LD7) e per Raspberry Pi (LD8), utile durante il riconoscimento delle Gesture o durante la gestione della pressione dei pulsanti P1, P2 e P3; I/O estesi EIO2, EIO3, EIO6 e EIO7 ai quali sono collegati dei LED per segnalare le gesture riconosciute. Ad ogni gesture riconosciuta lโ€™integrato MGC3130 genera un impulso sulla rispettiva uscita. Tuttavia รจ possibile scegliere e configurare diversamente il comportamento delle uscite rispetto alla gesture riconosciuta. Infatti oltre allโ€™impulso รจ possibile scegliere: uscita permanentemente alta; uscita permanentemente bassa; toggle. Per studiare meglio la piattaforma Gestic รจ stato realizzato un software (GesticTester) con cui interfacciarsi, grazie al quale possiamo vedere in tempo reale le gesture riconosciute dallโ€™integrato MGC3130. Il software รจ suddiviso in due TAB distinti: il primo (Gesture) monitorizza e visualizza tutte le gesture intercettate dallโ€™integrato, mentre il secondo (Firmware) serve per visualizzare la revisione firmware caricata nellโ€™integrato. La comunicazione tra PC e scheda demo avviene tramite interfaccia USB. Dimensioni (mm): 156×108.

Attenzione!ย i componenti in SMD sono giร  saldati mentre gli altriย componenti devono essere saldati.

Libreria Arduino MGC3130
Per le schede Arduino Uno Rev.3 e Arduino Leonardo Rev.3 sono disponibili due demo che si appoggiano sulla nostra libreria di gestione dellโ€™integrato MGC3130.

La demo scritta per la scheda Arduino Uno Rev.3 viene completata dalla scheda di espansione FT1079K, la quale mette a disposizione 8 ingressi digitali e altrettante uscite a relรฉ. Per la nostra demo useremo solo le otto uscite a relรฉ, tuttavia, per chi lo desiderasse, รจ possibile gestire anche gli ingressi modificando opportunamente il codice della demo. La gestione degli I/O viene fatta sfruttando lโ€™integrato Microchip MCP23017, il quale viene connesso alle schede Arduino tramite il bus I2C come lโ€™integrato MGC3130. Anche per lโ€™MCP23017 abbiamo scritto una libreria di supporto che andremo a descrivere in breve durante lโ€™articolo. Grazie alle uscite a relรฉ messe a disposizione, possiamo riportare le gesture riconosciute su una delle possibili uscite. Per la nostra demo abbiamo deciso di riportare fino a un massimo di sedici gesture, per un totale di due schede FT1079K. Ovviamente รจ possibile aggiungere altre FT1079K per riportare piรน gesture possibili sulle uscite a relรฉ (lโ€™aggiunta di piรน di due schede FT1079K necessita di apportare modifiche allo sketch da noi scritto e puรฒ essere visto come un esercizio didattico interessante).

Invece la demo che riguarda la scheda Leonardo Rev.3 ci permette di interagire con il PC e in particolare con un programma di visualizzazione delle immagini. Grazie alle gesture riconosciute dallโ€™integrato, sarร  possibile sfogliare le immagini
presenti sul PC.

Le gesture riconosciute e messe a disposizione dalla libreria sono:

โ€ข Gesture Touch South;
โ€ข Gesture Touch West;
โ€ข Gesture Touch North;
โ€ข Gesture Touch East;
โ€ข Gesture Touch Centre;
โ€ข Gesture Tap South;
โ€ข Gesture Tap West;
โ€ข Gesture Tap North;
โ€ข Gesture Tap East;
โ€ข Gesture Tap Centre;
โ€ข Gesture Double Tap South;
โ€ข Gesture Double Tap West;
โ€ข Gesture Double Tap North;
โ€ข Gesture Double Tap East;
โ€ข Gesture Double Tap Centre;
โ€ข Flick West to East;
โ€ข Flick East to West;
โ€ข Flick South to North;
โ€ข Flick North to South;
โ€ข Edge Flick West to East;
โ€ข Edge Flick East to West;
โ€ข Edge Flick South to North;
โ€ข Edge Flick North to South;
โ€ข Clock Wise;
โ€ข Counter Clock Wise.

MGC3130 e la Libreria per Raspberry Pi
Libreria scritta in Python per gestire lโ€™integrato MGC3130, la quale si rifร  sulla falsa riga di quella per Arduino. Cominciamo con una puntualizzazione sulla gestione delle strutture dati in Python necessarie a gestire il flusso dati proveniente dallโ€™integrato MGC3130. In Python le strutture dati vengono costruite in modo leggermente differente rispetto al linguaggio di programmazione C, di seguito riportiamo la nuova libreria in Python per Raspberry Pi.

class GestureBit(Structure):
_fields_ = [(โ€œTouchSouthโ€, c_uint32, 1),
(โ€œTouchWestโ€, c_uint32, 1),
(โ€œTouchNorthโ€, c_uint32, 1),
(ยซTouchEastยป, c_uint32, 1),
(ยซTouchCentreยป, c_uint32, 1),
(โ€œTapSouthโ€, c_uint32, 1),
(โ€œTapWestโ€, c_uint32, 1),
(โ€œTapNorthโ€, c_uint32, 1),
(โ€œTapEastโ€, c_uint32, 1),
(โ€œTapCentreโ€, c_uint32, 1),
(โ€œDoubleTapSouthโ€, c_uint32, 1),
(โ€œDoubleTapWestโ€, c_uint32, 1),
(โ€œDoubleTapNorthโ€, c_uint32, 1),
(โ€œDoubleTapEastโ€, c_uint32, 1),
(โ€œDoubleTapCentreโ€, c_uint32, 1),
(โ€œGestWestEastโ€, c_uint32, 1),
(โ€œGestEastWestโ€, c_uint32, 1),
(โ€œGestSouthNorthโ€, c_uint32, 1),
(โ€œGestNorthSouthโ€, c_uint32, 1),
(โ€œEdgeGestWestEastโ€, c_uint32, 1),
(โ€œEdgeGestEastWestโ€, c_uint32, 1),
(โ€œEdgeGestSouthNorthโ€, c_uint32, 1),
(โ€œEdgeGestNorthSouthโ€, c_uint32, 1),
(โ€œGestClockWiseโ€, c_uint32, 1),
(โ€œGestCounterClockWiseโ€, c_uint32, 1),
(โ€œFreeโ€, c_uint32, 7)]
class GestureByte(Structure):
_fields_ = [(โ€œByte0โ€, c_uint8),
(โ€œByte1โ€, c_uint8),
(โ€œByte2โ€, c_uint8),
(โ€œByte3โ€, c_uint8)]
class Gesture(Union):
_fields_ = [(โ€œGesture32Bitโ€, GestureBit),
(โ€œGestureByteโ€, GestureByte),
(โ€œGestureLongโ€, c_uint32),
(โ€œGestArrayโ€, c_ubyte * 4)]

Documentazione e link utili

Menu