{"id":6066,"date":"2019-01-19T04:25:40","date_gmt":"2019-01-19T04:25:40","guid":{"rendered":"http:\/\/betaweblog.education\/?p=6066"},"modified":"2019-09-19T14:10:03","modified_gmt":"2019-09-19T17:10:03","slug":"manito-robotica-controlar-4-servos-en-un-arduino-uno","status":"publish","type":"post","link":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/2019\/01\/19\/manito-robotica-controlar-4-servos-en-un-arduino-uno\/","title":{"rendered":"Manito rob\u00f3tica: controlar 4 servos en un Arduino Uno"},"content":{"rendered":"<p>Hace unos meses me compr\u00e9 cinco servomotores Tower Pro SG90 para hacer una manito. Reci\u00e9n tuve tiempo hoy de empezar a armar algo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6067\" src=\"\/betaweblog\/wp-content\/uploads\/2019\/01\/20190118_153239.jpg\" alt=\"Cinco motores servo SG90\" width=\"800\" height=\"450\" \/><\/p>\n<p>Si nunca usaste un servo, empez\u00e1 por <a href=\"http:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/2017\/06\/10\/servo-motor-9g-tower-pro\/\">aprender a manejar un solo motor<\/a>. Cada marca y modelo tiene diferentes colores de cables.<\/p>\n<p><strong>Atenci\u00f3n<\/strong>: si lo conect\u00e1s mal, el servo se quema. Yo ya quem\u00e9 dos&#8230;<\/p>\n<p>En el caso del Tower Pro SG90:<\/p>\n<ul>\n<li>el cable naranja es de datos,<\/li>\n<li>el rojo es positivo,<\/li>\n<li>el marr\u00f3n negativo.<\/li>\n<\/ul>\n<p>Tenemos que conectar los cuatro servos a positivo, negativo (GND) y despu\u00e9s el cable naranja de cada servo va a un <a href=\"https:\/\/aprendiendoarduino.wordpress.com\/category\/pwm\/\">pin PWM<\/a> diferente.<\/p>\n<p>Los pines PWM son los que tienen el s\u00edmbolo ~<\/p>\n<h2>Fuentes de energ\u00eda<\/h2>\n<p>Cuando usamos cuatro servos, es necesario agregar energ\u00eda externa, ya que exigen m\u00e1s de lo que la placa Arduino puede darles. Yo conect\u00e9 un portapilas de cada lado, y dos servos de cada lado:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6068\" src=\"\/betaweblog\/wp-content\/uploads\/2019\/01\/20190118_233937.jpg\" alt=\"Portapilas\" width=\"800\" height=\"705\" \/><\/p>\n<ul>\n<li>Cable rojo al positivo, cable marr\u00f3n al negativo.<\/li>\n<li>Cable naranja de cada servo a un pin PWM diferente.<\/li>\n<\/ul>\n<h2>El c\u00f3digo<\/h2>\n<p>Como siempre, comenc\u00e9 por abrir el archivo de ejemplo para manejar servos. Y despu\u00e9s lo modifiqu\u00e9.<\/p>\n<p>Para poder pegar los motores con cinta de papel a una cajita, empec\u00e9 con un programita que apunta los cuatro servos a la posici\u00f3n 0.<\/p>\n<p style=\"padding-left: 30px;\">#include &lt;Servo.h&gt;<\/p>\n<p style=\"padding-left: 30px;\">Servo myservo; \/\/ <em>esto est\u00e1 en el programa de ejemplo, yo agregu\u00e9 los otros\u00a0<\/em><br \/>\nServo myservo2;<br \/>\nServo myservo3;<br \/>\nServo myservo4;<\/p>\n<p style=\"padding-left: 30px;\">void setup() {<\/p>\n<p style=\"padding-left: 60px;\">myservo.attach(5); \/\/ <em>un servo en cada pin<\/em><br \/>\nmyservo2.attach(9);<br \/>\nmyservo3.attach(10);<br \/>\nmyservo4.attach(11);<br \/>\n}<\/p>\n<p style=\"padding-left: 30px;\">void loop() {<\/p>\n<p style=\"padding-left: 60px;\">myservo.write(0); \/\/ <em>todos los servos van a la posici\u00f3n 0<\/em><br \/>\nmyservo2.write(0);<br \/>\nmyservo3.write(0);<br \/>\nmyservo4.write(0);<br \/>\ndelay(5000);}<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-6069\" src=\"\/betaweblog\/wp-content\/uploads\/2019\/01\/20190118_233947-1024x576.jpg\" alt=\"apuntar los motores\" width=\"840\" height=\"473\" \/><\/p>\n<p>Reci\u00e9n cuando pude poner los cuatro servos en la posici\u00f3n cero, los pegu\u00e9 en una cajita de cart\u00f3n. Los dedos los hice con &#8220;<a href=\"https:\/\/www.google.com\/search?q=limpiapipas&amp;tbm=isch&amp;tbo=u&amp;source=univ&amp;sa=X&amp;sqi=2&amp;ved=2ahUKEwi8p9Kc__jfAhXhGbkGHV5EAjIQsAR6BAgEEAE&amp;biw=1920&amp;bih=914\">limpiapipas<\/a>&#8221; (alambre forrado, se usa en manualidades)<\/p>\n<p>Ahora s\u00f3lo queda programar el movimiento:<\/p>\n<p style=\"padding-left: 30px;\">#include &lt;Servo.h&gt;<\/p>\n<p style=\"padding-left: 30px;\">Servo myservo; \/\/ <em>crear un objeto servo para cada motor<\/em><br \/>\nServo myservo2;<br \/>\nServo myservo3;<br \/>\nServo myservo4;<\/p>\n<p style=\"padding-left: 30px;\">void setup() {<\/p>\n<p style=\"padding-left: 60px;\">myservo.attach(5); \/\/ <em>declarar el pin en que se conecta cada servo<\/em><br \/>\nmyservo2.attach(9);<br \/>\nmyservo3.attach(10);<br \/>\nmyservo4.attach(11);<br \/>\n}<\/p>\n<p style=\"padding-left: 30px;\">void loop() {<\/p>\n<p style=\"padding-left: 60px;\">myservo.write(0); \/\/<em> pongo todos los dedos en 0<\/em><br \/>\nmyservo2.write(0);<br \/>\nmyservo3.write(0);<br \/>\nmyservo4.write(0);<br \/>\ndelay(5000); \/\/ <em>espero cinco segundos<\/em><br \/>\nmyservo.write(90); \/\/ <em>pongo todos los dedos en 90\u00ba<\/em><br \/>\nmyservo2.write(90);<br \/>\nmyservo3.write(90);<br \/>\nmyservo4.write(90);<br \/>\ndelay(1500); \/\/ <em>espero un segundo y medio<\/em><br \/>\nmyservo.write(180); \/\/ <em>pongo todos los servos en 180\u00ba<\/em><br \/>\nmyservo2.write(180);<br \/>\nmyservo3.write(180);<br \/>\nmyservo4.write(180);<br \/>\ndelay(1500); \/\/ <em>espero un segundo y medio<\/em><\/p>\n<p style=\"padding-left: 30px;\">}<\/p>\n<p>Este es el primer resultado:<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/C3ANEZ8T_8M\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>En un segundo intento utilic\u00e9 palitos de helado. Y arm\u00e9 una estructura de tres dedos, dos de ellos con una articulaci\u00f3n (ahora con cinco servos).<\/p>\n<p>Como los pares de pilas anteriores parec\u00edan insuficientes, ahora puse todos los motores en la misma fila y le conect\u00e9 una bater\u00eda de 9v.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-6073\" src=\"\/betaweblog\/wp-content\/uploads\/2019\/01\/bateria-y-cinco-servos2-1-300x169.jpg\" alt=\"conexiones\" width=\"300\" height=\"169\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6075\" src=\"\/betaweblog\/wp-content\/uploads\/2019\/01\/bateria-y-cinco-servos-1.jpg\" alt=\"Bateria de 9v conectada a los servos\" width=\"800\" height=\"450\" \/><\/p>\n<p>El resultado me gusta m\u00e1s que en la prueba anterior:<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/rXYP1BLbn5I\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Ac\u00e1 con unos movimientos m\u00e1s suaves (usando bucles for para cada movimiento):<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/J4Jn0K1xYLM\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace unos meses me compr\u00e9 cinco servomotores Tower Pro SG90 para hacer una manito. Reci\u00e9n tuve tiempo hoy de empezar a armar algo. Si nunca usaste un servo, empez\u00e1 por aprender a manejar un solo motor. Cada marca y modelo tiene diferentes colores de cables. Atenci\u00f3n: si lo conect\u00e1s mal, el servo se quema. Yo &hellip; <a href=\"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/2019\/01\/19\/manito-robotica-controlar-4-servos-en-un-arduino-uno\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> &#8220;Manito rob\u00f3tica: controlar 4 servos en un Arduino Uno&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,3],"tags":[],"class_list":["post-6066","post","type-post","status-publish","format-standard","hentry","category-arduino","category-cultura-libre"],"_links":{"self":[{"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/posts\/6066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/comments?post=6066"}],"version-history":[{"count":2,"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/posts\/6066\/revisions"}],"predecessor-version":[{"id":6225,"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/posts\/6066\/revisions\/6225"}],"wp:attachment":[{"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/media?parent=6066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/categories?post=6066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/irisfernandez.com.ar\/betaweblog\/index.php\/wp-json\/wp\/v2\/tags?post=6066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}