GTC mk2

Solution avec un UNO R4 + Ethernet shield. le port UART sur D0/D1 est distinct de celui raccordé à USB, donc pour le morph c'est OK (et uno4 en 5V donc compatible avec le GTC existant) il faudrait juste prévoir un satellite I2C pour récupérer les positions du sélecteur. Solution plus encombrante ne nécessitant pas d'adaptation de et vers le 5V/3.3V les 6 entrées analogiques disponibles (A0 à A5) peuvent être réglées à 14bits
https://docs.arduino.cc/resources/datasheets/ABX00087-datasheet.pdf
remplacement de la bibliothèque ArdOSC par OSC, compatibilité avec les bundles.
- led multicolores (neopixel RGBW) sur les boutons de l'abalone et le voyant rouge
- capteur(s) TOF
- lecteur RFID, lecture plus rapide lorsque plusieurs carte, limiter à 4 au lieu de 2, s'inspirer du code récent fait pour la molette wifi ?
- ajouter piecettes ?
- ...
réseau
utilisation avec un câble croisé : donner une adresse fixe à l'ordinateur en 192,168,0,xxx en allant dans « centre réseau et partage » et modifier dans propriétés/TCP/IP V4
utilisation avec un routeur : 192.168.0.253 serveur DHCP du switch dlink dans le Morph Sensel (SSID : travel_lab/olivarpremier)(admin/olivarpremier)
optimiser l'ordinateur : enlever les programmes qui démarrent tout seul au démarrage : menu programme/démarrage et regedit/run système/options avancées : « laisser windows pour de meilleurs performances » tous les composants fonctionnent en 5V les modules envoie les messages sur le port 6666 en broadcast et reçoit sur le port 1510
Schémas :
L'interface est conçu autour d'un UNO R4 qui reçoit les informations des périphériques via I²C puis les transmet en OSC sur le réseau Ethernet.










OSC messages
Giant Travelling Clam: 192, 168, 0, 79 /GTC
Outward messages :
Morph datas
morph datas are received by the mainboard and send via OSC after treatment. 4 different modes are available :
Mode 0 : basic mode - up to 16 fingers are detected
/GTC/MD0 [finger ID] [xPos] [yPos] [total force] [area] [orientation]
/GTC/MD0/NCT [number of contacts] [bitwise state of fingers]
( ex : finger 1 =] state = 0000000000000001)
Mode 1 : gesture 1 – detect number of fingers on board, send position of first finger and distance between first and last finger.
/GTC/MD1 [finger recog] [fingers state] [xPos 1rst finger] [yPos 1rst finger]
[total force] [orientation] [distance inter fingers]
Mode 2 : gesture 2 – 10 x 7 grid detection on first finger, angle detection between first and second finger
/GTC/MD2 [cell number] [finger state] [fingerMoveX] [fingerMoveY] [velocity] [total force] [total area] [inter finger angle] [ distance inter fingers]
Mode 3 : cell split - TODO /GTC/MD3
Mode 4 : 8 vertical faders
/GTC/MD4/FD(0 to 7) [xPos] [yPos] [contactID] [total force] [area] [orientation]
/GTC/MD4/NCT [number of contacts] [bitwise state of fingers]
2 pedal buttons + 20 external box buttons + main’s 6 buttons:
/GTC/BP/00 [logic state] to /GTC/BP/27 [logic state]

displacement sensor:
modifier avec VLX0
/GTC/Dist [ valeur de 0 à 511]
LDR’s and pedal position:
/GTC/ANA [LDR0] [LDR1] [LDR2] [PEDAL val] (0 - 511)
Manual Pulse Generator:
/GTC/MPG [angular speed] [totalisation warp] [totalisation stop] [angular acceleration]
RFID TAG
/GTC/TAG [val] [val] [val] [val] [val] [val] [val] (5 or 7 val according to Tag)
MODE selector:
de 0 à 11
GTC/MODE [int 0 to 7]
active sensing
/GTC/sens [secondes écoulées depuis la dernière mise en marche]
Setup control:
send states of the I2C slaves :
GTC/SETUP [string]
exemples : "Pedal connected", "WARNING Pedal not connected",
Inward messages
Morph MODE select:
GTC/MODE [int 0 to 4]
17 LED's on button box + 6 LED’s around MPG:
modification ici : les LED's de la button box sont inchangées, mais les LED du MPG sont des RGBW neopixel.
LED 6 à 22 : /GTC/SLD [LED# from 6 to 22] [0 or 1]
LED 0 à 5 : /GTC/CLD [LED# from 0 to 5] [R 0 to 255] [G 0 to 255] [B 0 to 255] [W 0 to 255]
/GTC/SLD [LED# from 0 to 22] [0 or 1]
if LED# is set to 255, all LEDs are switched altogether.

1 multicolor indicator light:
/GTC/VOZ [RED 0 to 16] [GREEN 0 to 16] [BLUE 0 to 16]
1 red indicator light:
devient RGBW /GTC/VOY [R 0 to 255] [G 0 to 255] [B 0 to 255] [W 0 to 255]
/GTC/VOY [0 to 255]
analog sensor sending frequency (3LDRs, displacement sensor):
/GTC/AnaCde [0 à 65 515 ms]
reset of minimum and maximum for 3 LDRs :
le microcontrôleur détecte automatiquement le niveau min et max d'éclairement pour réaliser la mise à l'échelle des données envoyées par GTC/ANA .
En cas de changement des conditions d'éclairement ambiant, il convient d'envoyer un message de reset des min/max.
/GTC/reset [dummy]
MPG setup :
- max value of totalisation 0-65535 (warp)
/GTC/MPG/S2 [set valeur 0 à 65535]
- max value of totalisation 0-65535 (stop)
/GTC/MPG/S3 [set valeur 0 à 65535]
si la valeur est inférieure à la valeur de la butée basse, val = min, si la valeur est supérieure à la butée haute, val = max.
- min and max stops setup :
/GTC/MPG/M3 [min 0 à 65535] [max 0 à 65535]