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
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