Thymio II, l'illuminé

Projet

Voici un exemple que j'ai fais dans le cadre de mon travail de maturité au GYB (Gymnase Intercantonal de la Broye). On devait trouver une utilisation pratique du Thymio II dans la vie courante.
Mon idée c'est qu'on pose le robot n'importe où dans une pièce, on frappe dans nos mains et le robot se déplace tout seul en évitant les obstacles jusqu'à ce qu'il trouve une ligne au sol et la suive jusqu'à un tour placée devant l'interrupteur.


Vidéo

Voici la vidéo que j'ai réalisée après avoir fait la construction en Lego et la tour en bois:


Le code

Voici le code

var a=0
onevent mic
onevent buttons
onevent prox
#pour arreter le programme
if button.backward==1 then 
        a=0
    end
    if a==0  then
        motor.left.target=0
        motor.right.target=0
    call leds.circle(50,50,50,50,50,50,50,50)
    call leds.top(0,0,0)

end

#démarre le robot au moindre bruit ou si on appuye sur le bouton devant
    if  button.forward==1 or mic.intensity> 50 and mic.intensity<100 then 
        a=1
        call leds.circle(0,0,0,0,0,0,0,0)
    end
    if  a==1 then 
         #va droit si il y rien devant lui
        if  prox.horizontal[0]==0 or prox.horizontal[4] ==0 then
            motor.right.target=250
            motor.left.target=250
            call leds.top(0,0,0)
        end
        #si il y quelque chose à gauche, tourne à droite
        if prox.horizontal[0]>0 or prox.horizontal[1]>0  then 
            motor.left.target=500
            motor.right.target=-500
            call leds.top(0,50,0)
        end
        #si il y a quelque chose à droite, tourne à gauche
        if prox.horizontal[4]>0 or  prox.horizontal[3]>0 then 
            motor.left.target=-500
            motor.right.target=500
            call leds.top(50,0,0)
        end
        #si il a quelque chose droit devant, recule et tourne à gauche
        if prox.horizontal[2]>0  then 
            if  prox.horizontal[2]>2000 then
                motor.left.target=-500
                motor.right.target=-500
            else
                motor.left.target=-500
                motor.right.target=500
            end
        end
        #pour pas que le robot tombe d'une marche d'escalier
        if prox.ground.delta[0]<90 or prox.ground.delta[1]<90 then 
                a=0
        end    
         #si trouve la ligne à gauche, tourne vers droite
        if prox.ground.delta[0]>prox.ground.delta[1]+180 then
            motor.left.target =250
            motor.right.target=-250
            call leds.top(250,0,250)

        end
        #si trouve la ligne à droite, tourne vers la gauche
        if prox.ground.delta[1]> prox.ground.delta[0]+80 then 
            motor.left.target =-250
            motor.right.target=250
            call leds.top(0,250,250)
        end

end

Construction

Les plans pour les pièces de la tour

La forme de la plate-forme est un carré (à la base) de 30 cm de côté dont j'ai enlevé des carrés de 4 cm de côté à chaque coin

tumblr_naz3kspxEK1tkzwjuo10_1280.jpg

Dans chaque coin, j'ai mis une pièce en métal

tumblr_naz3kspxEK1tkzwjuo9_1280.jpg tumblr_naz3kspxEK1tkzwjuo4_1280.jpg

Au milieu, j'ai cloué deux pièces en bois, avec le trou vers le bas. C'est pour mettre une barre de métal afin de tenir la massette. Le diamètre du trou dépend du diamètre de la barre

tumblr_naz3kspxEK1tkzwjuo8_1280.jpg tumblr_naz3kspxEK1tkzwjuo7_1280.jpgwidth="330"

J'ai scié la massette et percé un trou à travers pour passer la petite barre.

tumblr_naz3n6C4Do1tkzwjuo3_1280.jpg

Les pieds sont simplement des barres de bois, de préférence rectangulaires car si ils sont ronds, c'est plus difficile à crocher la plate-forme

tumblr_naz3kspxEK1tkzwjuo6_1280.jpg

Voici la pièce de bois que le robot attrape pour tirer la ficelle. Au niveau du point, j'ai fixé un petit anneau de métal du même genre que celui sur la massette pour pouvoir attacher la ficelle.

tumblr_naz3kspxEK1tkzwjuo3_1280.jpg

La plate-forme est fixée aux pieds avec des clous, mais ne il ne faut pas trop les enfoncer, comme ça, on peut changer la hauteur de la plate-forme selon la hauteur des interrupteurs.

J'ai aussi cloué des planches entre les pieds afin de stabiliser l'ensemble. Elles font 30 cm de long (même largeur que la plate-forme). Il faut toutefois faire attention de ne pas les clouer trop haut, sinon la massette ne peux plus atteindre l'interrupteur.

Les image de la structure en Lego

J'ai utilisé des Legos Techniques pour faire la structure qui permet d'attraper le petit morceau de bois qui pend par la ficelle

Cette structure se fixe sur les deux places où on peut fixer une brique de Lego normal à l'arrière du Thymio et sur les côtés.

tumblr_naz3kspxEK1tkzwjuo2_1280.jpg tumblr_naz3kspxEK1tkzwjuo5_1280.jpgtumblr_naz3kspxEK1tkzwjuo1_1280.jpg

La structure avec les petits bonshommes Lego ne sert à rien, à part pour faire rigolo. Elle se fixe sur les deux emplacements où on peut fixer une brique de Lego à l'avant du Thymio.

tumblr_naz3n6C4Do1tkzwjuo2_1280.jpg

Et pour finir, voici les deux structures placées sur le Thymio.

tumblr_naz3n6C4Do1tkzwjuo1_1280.jpg
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License