Quand le robot appuie sur les boutons d’une télécommande à votre place
J'ai bientôt achevé mon projet domotique en mode "Professeur Foldingue", qui consiste à piloter la domotique par commandes vocales, comme dans star trek ("Computer, tea, earl grey, hot!) La chaine logicielle inclut :
- Un module de reconnaissance vocale qui envoie des ordres sur le réseau et récupère des états (Fonctionne avec un kinect et un pc windows).
- Un raspberry pi hébergeant un serveur recevant des ordres, exécutant des scripts et envoyant des retours d'état
- Un servomoteur actionné par le raspberry (le servo est actionné selon un script python dédié. Ce script peut recevoir deux ordres "ouverture" et "fermeture".)
Si vous voulez reproduire, voici le script fait à l'arrache totale, donc forcément très optimisable ;-).
[code=php]
module telco() {
cube([45.15,129,16]);
}
module servoSG50(){
union(){
cube([longueurServoBoitier,largeurServo,hauteurServo]);
translate([0,0,24]){cube([longueurServo,largeurServo,12]);}
}
}
epaisseur=2;
hauteurTelco=16;
largeurTelco=45;
longueurTelco=129;
hauteurServo=36;
longueurServo=30;
longueurServoBoitier=22;
largeurServo=12;
largeurPlatineServo=largeurServo*2;
largeurPlatineTelco=largeurTelco+2*epaisseur;
longueurPlatineTelco=longueurTelco/3;
difference(){
union(){
cube([largeurPlatineTelco,longueurPlatineTelco,8]);
translate([0,(longueurPlatineTelco-largeurPlatineServo)/2,epaisseur]){
difference(){
cube([epaisseur,largeurPlatineServo,longueurServo+hauteurTelco+epaisseur]);
translate([0,(largeurPlatineServo-largeurServo)/2,hauteurTelco+(longueurServo-longueurServoBoitier)/2]){
cube([epaisseur,largeurServo,longueurServoBoitier]);
}
}
}
translate([-epaisseur,(longueurPlatineTelco-largeurPlatineServo)/2,0]){cube([epaisseur,epaisseur,longueurServo+hauteurTelco+epaisseur]);}
translate([-epaisseur,(longueurPlatineTelco-largeurPlatineServo)/2+largeurPlatineServo-epaisseur,0]){cube([epaisseur,epaisseur,longueurServo+hauteurTelco+epaisseur]);}
}
translate([epaisseur,-longueurPlatineTelco,epaisseur]){telco();}
}
[/code]
Mise à jour : Ce stand ne fonctionne pas en ABS parce que le plastique est trop flexible. Il faudra refaire un essai en PLA (plus rigide) ou bien revoir la structure, par exemple en augmentant l'épaisseur dans le fichier paramétrique.