Partage
  • Partager sur Facebook
  • Partager sur Twitter

Dynamixel AX-12w et CM530

Sujet résolu
    17 mars 2015 à 20:49:34

    Bonjour, 

    Je suis lycéen en terminale S , et dans le cadre de ma spécialité je voudrais créer un "robot mélangeur".

    En gros je veux controler 3 ouvertures de récipiants avec 3  servomoteurs Dynamixel Ax-12W relié a une CM530.

    J'ai créer un simulateur en HTML qui montre les actions de base que je voudrais que le robot effectue :

    <!DOCTYPE html>
    <html>
    <head>
    		<title>Simulateur Robot Mélangeur</title>
    		<meta charset="utf-8" />
    		<link rel="stylesheet" type="text/css" href="style.css"/>
    		<script type="text/javaScript"> 
    
        function open1() { 
            document.getElementById('Cible').innerHTML ='<input src="rondvert.jpg" type="image" id="rond" />'; 
        } 
    	 function close1() { 
            document.getElementById('Cible').innerHTML ='<input src="rondrouge.png" type="image" id="rond"/>'; 
        } 
    	  function open2() { 
            document.getElementById('Cible2').innerHTML ='<input src="rondvert.jpg" type="image" id="rond"/>'; 
        } 
    	 function close2() { 
            document.getElementById('Cible2').innerHTML ='<input src="rondrouge.png" type="image" id="rond"/>'; 
        } 
    	  function open3() { 
            document.getElementById('Cible3').innerHTML ='<input src="rondvert.jpg" type="image" id="rond"/>'; 
        } 
    	 function close3() { 
            document.getElementById('Cible3').innerHTML ='<input src="rondrouge.png" type="image" id="rond"/>'; 
        } 
    	function openall() {
    		 document.getElementById('Cible').innerHTML ='<input src="rondvert.jpg" type="image" id="rond" />'; 
    		 document.getElementById('Cible2').innerHTML ='<input src="rondvert.jpg" type="image" id="rond"/>'; 
    		 document.getElementById('Cible3').innerHTML ='<input src="rondvert.jpg" type="image" id="rond"/>'; 
        } 
    	function closeall() {
    		 document.getElementById('Cible').innerHTML ='<input src="rondrouge.png" type="image" id="rond"/>'; 
    		 document.getElementById('Cible2').innerHTML ='<input src="rondrouge.png" type="image" id="rond"/>';
    		 document.getElementById('Cible3').innerHTML ='<input src="rondrouge.png" type="image" id="rond"/>'; 		 
        }
         
    		</script> 
    		
    </head>
    	
    <body>
    	
    	<center><h1>Simulateur du Robot Mélangeur</h1></center>
    
    	<center><div class="contenu"> 
    		Ouverture 1: 
    			<input type="button" value="Ouvrir" onclick="open1()" /> 
    			<input type="button" value="Fermer" onclick="close1()" /> 
    		<div id="Cible"></div> 
    		Ouverture 2: 
    			<input type="button" value="Ouvrir" onclick="open2()" /> 
    			<input type="button" value="Fermer" onclick="close2()" /> 
    		<div id="Cible2"></div> 
    		Ouverture 3: 
    			<input type="button" value="Ouvrir" onclick="open3()" /> 
    			<input type="button" value="Fermer" onclick="close3()" /> <br>
    		<div id="Cible3"></div> 
    		Toutes les ouvertures: 
    			<input type="button" value="Ouvrir" onclick="openall()" /> 
    			<input type="button" value="Fermer" onclick="closeall()" /> 
    	</div></center>
    		
    	</body>
    </html>
    


    A partir de la tout va bien . 

    Maintenant je voudrais faire en sorte que quand j'agis sur mon simulateur , les servomoteurs réagissent . En gros que l'action se reproduit en vrai . 

    Mais je n'ai pas la moindre idée de comment faire .. Je suis débutant en informatique et encore plus en robotique... 

    Je voudrais savoir ce que je dois faire pour pouvoir finir ce projet . 

    Merci de votre aide . 

    • Partager sur Facebook
    • Partager sur Twitter
      18 mars 2015 à 8:21:03

      Tout dépend de quel micro-processeur tu utilises...

      => Rasberry pi ? Arduino (+ shield Ethernet) ? Autre ?

      Mais grossièrement, cela va se faire avec un mini serveur WEB et des requêtes HTTP.

      Coté site WEB, il faudrait que tu ajoutes un peu de Javascrip/Ajax pour faire des requêtes HTTP pour que chaque action charge une page du genre http://IpDeTonArduino/action (si tu connais jQuery, cela revient à ajouter moins d'une dizaine de ligne de code).

      Coté arduino (ou autre), il faut que tu ai un mini serveur WEB à l'écoute des connexions entrante.

      Dès qu'un client se connecte, il te faut l'accepter et lire les données qu'il t'envoie.

      Ces données (au format HTTP) contiennent entre autre l'URL en question donc il te suffit d'analyser cette URL et faire l'action en conséquence.

      Des exemples de mini serveur WEB, tu en trouveras pleins sur le net (principalement pour allumer/éteindre une LED) donc à toi de chercher et adapter un peu.

      -
      Edité par lorrio 18 mars 2015 à 8:22:11

      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2015 à 18:22:16

        J'ai déjà utilisé JQuerry mais seulement pour faire des autocomplete de champs de recherches . 

        Parcontre , je suis vraiment débutant, je connais juste les bases HTML / JAVASCRIPT ou Python ... Donc si je comprends bien, a la place de faire du Javascipt/ Ajax , je peux remplacer par du jQuery ? 

        • Partager sur Facebook
        • Partager sur Twitter
          22 mars 2015 à 18:41:53

          Jquery possède des fonctions pour faire des requêtes AJAX.

          Par exemple, tu as $.get("http//tonsite.com/tapage") qui permet de charger une page WEB, et donc d'envoyer une action à l'arduino ;)

          • Partager sur Facebook
          • Partager sur Twitter
            23 mars 2015 à 20:55:42

            D'accord , je vais regarder tout cela. Merci de ton aide !
            • Partager sur Facebook
            • Partager sur Twitter

            Dynamixel AX-12w et CM530

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown