
Sur le projet de keyboard hacking, nous voulions créer un gant capable d’interagir avec processing pour générer des images en fonction des mouvements de la main.
Nous avons donc relié le bout des doigts du gant pour que des connexions se fassent lorsqu’on connecte le pouce avec un autre doigt.
Intentions
Les gants sont reliés à l’ordinateur par l’intermédiaire de la carte extraite du clavier. Sur l’ordinateur, un code processing permet de transformer les signaux du gant droit en déplacement du pinceau sur l’écran, et du gant gauche en changement de couleurs.
Code processing en Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | Ay = 1000 Ax = 150 dW = 300 dH = 1000 Bsize = 100 r = random( 255 ) g = random( 255 ) b = random( 255 ) def setup(): frameRate( 60 ) background( 255 ) size(dW,dH) noStroke() fill( 255 , 0 , 0 ) # define class for the pointers for the balls class Point: def __init__( self , x, xVec,r,g,b): self .x = x self .xVec = xVec self .r = r self .g = g self .b = b p1 = Point(dW / 4 , 0 , 0 , 0 , 0 ) p2 = Point(dW / 4 * 2 , 0 , 0 , 0 , 0 ) p3 = Point(dW / 4 * 3 , 0 , 0 , 0 , 0 ) def draw(): global r,g,b,Bsize if keyPressed = = True : if key = = """: r = r - 1 g = g - 1 b = b - 1 if key = = "c" : r = random( 255 ) g = random( 255 ) b = random( 255 ) if key = = "d" : r = r + 1 g = g + 1 b = b + 1 else : pass else : pass fill(r,g,b) if keyPressed = = True : if key = = "8" : global Ay, Ax,dW ecartement_p1 = (dW / 4 ) - p1.x #ecart entre le point d'origine et le point actuel p1.xVec = p1.xVec + (random( - 1 , 1 )) + (ecartement_p1 / 2 ) #definition du vecteur de direction p1.x = p1.x + p1.xVec #definition de la postion du curseur en fonction du vecteur Ay = Ay - 1 ellipse(p1.x,Ay,Bsize,Bsize) if key = = "5" : global Ay, Ax ecartement_p2 = (dW / 4 * 2 ) - p2.x #ecart entre le point d'origine et le point actuel p2.xVec = p2.xVec + (random( - 1 , 1 )) + (ecartement_p2 / 2 ) #definition du vecteur de direction p2.x = p2.x + p2.xVec #definition de la postion du curseur en fonction du vecteur Ay = Ay - 1 ellipse(p2.x,Ay,Bsize,Bsize) if key = = "0" : global Ay, Ax ecartement_p3 = (dW / 4 * 3 ) - p3.x #ecart entre le point d'origine et le point actuel p3.xVec = p3.xVec + (random( - 1 , 1 )) + (ecartement_p3 / 2 ) #definition du vecteur de direction p3.x = p3.x + p3.xVec #definition de la postion du curseur en fonction du vecteur Ay = Ay - 1 ellipse(p3.x,Ay,Bsize,Bsize) else : pass |
Images du dispositif


