        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":130,"date":"2015-08-03T03:37:26","date_gmt":"2015-08-03T03:37:26","guid":{"rendered":"http:\/\/rogerbit.com\/wprb\/?p=130"},"modified":"2025-06-29T10:55:09","modified_gmt":"2025-06-29T10:55:09","slug":"controlando-3-servos-con-android-y-arduino-mediante-bluetooth","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2015\/08\/controlando-3-servos-con-android-y-arduino-mediante-bluetooth\/","title":{"rendered":"Controlando 3 servos con Android y Arduino mediante bluetooth"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"\u2705 Controlando 3 servos con Android y Arduino mediante bluetooth\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/YQvyuxLAZr0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p data-start=\"291\" data-end=\"568\">En este proyecto aprenderemos a controlar tres servomotores utilizando un m\u00f3dulo Bluetooth, un Arduino y una aplicaci\u00f3n creada con App Inventor. Es una excelente forma de introducirse en la rob\u00f3tica y la comunicaci\u00f3n inal\u00e1mbrica entre dispositivos m\u00f3viles y microcontroladores.<\/p>\n<hr \/>\n<p>Tal vez pueda interesarte proyectos en arduino, pic, rob\u00f3tica, telecomunicaciones, suscribete en\u00a0<a href=\"http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1\">http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1<\/a>\u00a0mucho videos con c\u00f3digo fuentes completos y diagrama<\/p>\n<hr \/>\n<h2 data-start=\"575\" data-end=\"599\">Materiales necesarios<\/h2>\n<ul data-start=\"601\" data-end=\"809\">\n<li data-start=\"601\" data-end=\"631\">\n<p data-start=\"603\" data-end=\"631\">Arduino UNO (o compatible)<\/p>\n<\/li>\n<li data-start=\"632\" data-end=\"682\">\n<p data-start=\"634\" data-end=\"682\">3 servomotores SG90 (u otro modelo compatible)<\/p>\n<\/li>\n<li data-start=\"683\" data-end=\"717\">\n<p data-start=\"685\" data-end=\"717\">M\u00f3dulo Bluetooth HC-05 o HC-06<\/p>\n<\/li>\n<li data-start=\"718\" data-end=\"730\">\n<p data-start=\"720\" data-end=\"730\">Cableado<\/p>\n<\/li>\n<li data-start=\"731\" data-end=\"751\">\n<p data-start=\"733\" data-end=\"751\">Tel\u00e9fono Android<\/p>\n<\/li>\n<li data-start=\"752\" data-end=\"809\">\n<p data-start=\"754\" data-end=\"809\">Aplicaci\u00f3n creada en App Inventor (explicada m\u00e1s abajo)<\/p>\n<\/li>\n<\/ul>\n<hr data-start=\"811\" data-end=\"814\" \/>\n<h2 data-start=\"816\" data-end=\"834\">\u00bfC\u00f3mo funciona?<\/h2>\n<p data-start=\"836\" data-end=\"1113\">El Arduino est\u00e1 conectado a tres servomotores a trav\u00e9s de los pines digitales 7, 8 y 9. La app Android se comunica v\u00eda Bluetooth con el m\u00f3dulo HC-05, que a su vez transmite los comandos al Arduino. Cada comando corresponde a una posici\u00f3n espec\u00edfica de uno de los tres servos.<\/p>\n<p data-start=\"1115\" data-end=\"1329\">La app env\u00eda un car\u00e1cter ASCII (por ejemplo, la letra <strong data-start=\"1169\" data-end=\"1176\">&#8216;a&#8217;<\/strong>) que el Arduino recibe por el puerto serial. Seg\u00fan el car\u00e1cter recibido, el programa mueve uno de los servos a una posici\u00f3n determinada entre 0\u00b0 y 180\u00b0.<\/p>\n<hr data-start=\"1331\" data-end=\"1334\" \/>\n<h2 data-start=\"1336\" data-end=\"1353\">C\u00f3digo Arduino<\/h2>\n<p data-start=\"1355\" data-end=\"1475\">El siguiente c\u00f3digo se encarga de recibir los comandos enviados por la app Android y mover los servos seg\u00fan corresponda:<\/p>\n<pre class=\"lang:default decode:true \" title=\"C\u00f3digo Fuente\">#include &lt;Servo.h&gt; \r\n\r\nServo myservo;   \/\/ Servo 1\r\nServo myservo1;  \/\/ Servo 2\r\nServo myservo2;  \/\/ Servo 3\r\n\r\nint pos = 0; \/\/ Variable para almacenar el comando recibido\r\n\r\nvoid setup() { \r\n  Serial.begin(9600); \r\n  myservo.attach(9);     \r\n  myservo1.attach(8);    \r\n  myservo2.attach(7);    \r\n}\r\n\r\nvoid loop() { \r\n  if (Serial.available() &gt; 0) {\r\n    pos = Serial.read(); \/\/ Leer el car\u00e1cter recibido\r\n    \r\n    \/\/ Comandos para el servo 1 (letras a - e)\r\n    if(pos == 97) myservo.write(0);\r\n    if(pos == 98) myservo.write(45);\r\n    if(pos == 99) myservo.write(90);\r\n    if(pos == 100) myservo.write(135);\r\n    if(pos == 101) myservo.write(180);\r\n\r\n    \/\/ Comandos para el servo 2 (letras f - j)\r\n    if(pos == 102) myservo1.write(0);\r\n    if(pos == 103) myservo1.write(45);\r\n    if(pos == 104) myservo1.write(90);\r\n    if(pos == 105) myservo1.write(135);\r\n    if(pos == 106) myservo1.write(180);\r\n\r\n    \/\/ Comandos para el servo 3 (letras k - o)\r\n    if(pos == 107) myservo2.write(0);\r\n    if(pos == 108) myservo2.write(45);\r\n    if(pos == 109) myservo2.write(90);\r\n    if(pos == 110) myservo2.write(135);\r\n    if(pos == 111) myservo2.write(180);\r\n\r\n    Serial.println(pos); \/\/ Imprimir el valor recibido (opcional para debug)\r\n    delay(15); \/\/ Espera para que el servo llegue a la posici\u00f3n\r\n  } \r\n}\r\n<\/pre>\n<h2 data-start=\"2759\" data-end=\"2797\">Archivos del proyecto<\/h2>\n<h2 data-start=\"2759\" data-end=\"2797\"><a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2015\/08\/arduino3servos.zip\">arduino3servos<\/a><\/h2>\n<hr \/>\n<h2 data-start=\"2759\" data-end=\"2797\">Aplicaci\u00f3n Android con App Inventor<\/h2>\n<p data-start=\"2799\" data-end=\"2963\">La aplicaci\u00f3n fue creada usando MIT App Inventor. Tiene una interfaz con botones que env\u00edan letras espec\u00edficas al m\u00f3dulo Bluetooth cuando se presionan. Por ejemplo:<\/p>\n<ul data-start=\"2965\" data-end=\"3121\">\n<li data-start=\"2965\" data-end=\"3014\">\n<p data-start=\"2967\" data-end=\"3014\">Bot\u00f3n A env\u00eda la letra <strong data-start=\"2990\" data-end=\"2997\">&#8216;a&#8217;<\/strong> \u2192 Servo 1 a 0\u00b0<\/p>\n<\/li>\n<li data-start=\"3015\" data-end=\"3065\">\n<p data-start=\"3017\" data-end=\"3065\">Bot\u00f3n B env\u00eda la letra <strong data-start=\"3040\" data-end=\"3047\">&#8216;b&#8217;<\/strong> \u2192 Servo 1 a 45\u00b0<\/p>\n<\/li>\n<li data-start=\"3066\" data-end=\"3071\">\n<p data-start=\"3068\" data-end=\"3071\">\u2026<\/p>\n<\/li>\n<li data-start=\"3072\" data-end=\"3121\">\n<p data-start=\"3074\" data-end=\"3121\">Bot\u00f3n O env\u00eda la letra <strong data-start=\"3097\" data-end=\"3104\">&#8216;o&#8217;<\/strong> \u2192 Servo 3 a 180\u00b0<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"3123\" data-end=\"3173\">Puedes dise\u00f1ar la app utilizando componentes como:<\/p>\n<ul data-start=\"3175\" data-end=\"3300\">\n<li data-start=\"3175\" data-end=\"3199\">\n<p data-start=\"3177\" data-end=\"3199\">Un <strong data-start=\"3180\" data-end=\"3199\">BluetoothClient<\/strong><\/p>\n<\/li>\n<li data-start=\"3200\" data-end=\"3261\">\n<p data-start=\"3202\" data-end=\"3261\">Un <strong data-start=\"3205\" data-end=\"3219\">ListPicker<\/strong> para seleccionar el dispositivo Bluetooth<\/p>\n<\/li>\n<li data-start=\"3262\" data-end=\"3300\">\n<p data-start=\"3264\" data-end=\"3300\"><strong data-start=\"3264\" data-end=\"3275\">Botones<\/strong> para enviar los comandos<\/p>\n<\/li>\n<\/ul>\n<hr data-start=\"3302\" data-end=\"3305\" \/>\n<h2 data-start=\"3307\" data-end=\"3320\">Conexiones<\/h2>\n<ul data-start=\"3322\" data-end=\"3660\">\n<li data-start=\"3322\" data-end=\"3352\">\n<p data-start=\"3324\" data-end=\"3352\"><strong data-start=\"3324\" data-end=\"3337\">HC-05 VCC<\/strong> \u2192 5V Arduino<\/p>\n<\/li>\n<li data-start=\"3353\" data-end=\"3376\">\n<p data-start=\"3355\" data-end=\"3376\"><strong data-start=\"3355\" data-end=\"3368\">HC-05 GND<\/strong> \u2192 GND<\/p>\n<\/li>\n<li data-start=\"3377\" data-end=\"3414\">\n<p data-start=\"3379\" data-end=\"3414\"><strong data-start=\"3379\" data-end=\"3391\">HC-05 TX<\/strong> \u2192 Arduino RX (pin 0)<\/p>\n<\/li>\n<li data-start=\"3415\" data-end=\"3486\">\n<p data-start=\"3417\" data-end=\"3486\"><strong data-start=\"3417\" data-end=\"3429\">HC-05 RX<\/strong> \u2192 Arduino TX (pin 1) con divisor resistivo (5V a 3.3V)<\/p>\n<\/li>\n<li data-start=\"3487\" data-end=\"3660\">\n<p data-start=\"3489\" data-end=\"3500\"><strong data-start=\"3489\" data-end=\"3499\">Servos<\/strong>:<\/p>\n<ul data-start=\"3503\" data-end=\"3660\">\n<li data-start=\"3503\" data-end=\"3532\">\n<p data-start=\"3505\" data-end=\"3532\">Se\u00f1al del Servo 1 \u2192 pin 9<\/p>\n<\/li>\n<li data-start=\"3535\" data-end=\"3564\">\n<p data-start=\"3537\" data-end=\"3564\">Se\u00f1al del Servo 2 \u2192 pin 8<\/p>\n<\/li>\n<li data-start=\"3567\" data-end=\"3596\">\n<p data-start=\"3569\" data-end=\"3596\">Se\u00f1al del Servo 3 \u2192 pin 7<\/p>\n<\/li>\n<li data-start=\"3599\" data-end=\"3660\">\n<p data-start=\"3601\" data-end=\"3660\">Todos los servos alimentados desde una fuente externa de 5V<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<blockquote data-start=\"3662\" data-end=\"3795\">\n<p data-start=\"3664\" data-end=\"3795\"><strong data-start=\"3664\" data-end=\"3678\">Importante<\/strong>: desconecta el m\u00f3dulo Bluetooth al momento de subir el c\u00f3digo al Arduino para evitar conflictos con el puerto serie.<\/p>\n<\/blockquote>\n<hr data-start=\"3797\" data-end=\"3800\" \/>\n<h2 data-start=\"3802\" data-end=\"3827\">Aplicaciones pr\u00e1cticas<\/h2>\n<p data-start=\"3829\" data-end=\"3871\">Este proyecto puede usarse como base para:<\/p>\n<ul data-start=\"3873\" data-end=\"4010\">\n<li data-start=\"3873\" data-end=\"3895\">\n<p data-start=\"3875\" data-end=\"3895\">Rob\u00f3tica educativa<\/p>\n<\/li>\n<li data-start=\"3896\" data-end=\"3932\">\n<p data-start=\"3898\" data-end=\"3932\">Manipuladores o brazos rob\u00f3ticos<\/p>\n<\/li>\n<li data-start=\"3933\" data-end=\"3958\">\n<p data-start=\"3935\" data-end=\"3958\">Proyectos de dom\u00f3tica<\/p>\n<\/li>\n<li data-start=\"3959\" data-end=\"4010\">\n<p data-start=\"3961\" data-end=\"4010\">Interfaces interactivas controladas a distancia<\/p>\n<\/li>\n<\/ul>\n<hr data-start=\"4012\" data-end=\"4015\" \/>\n<h2 data-start=\"4017\" data-end=\"4030\">Conclusi\u00f3n<\/h2>\n<p data-start=\"4032\" data-end=\"4325\">Controlar servomotores mediante Bluetooth y Arduino abre muchas posibilidades para crear sistemas interactivos. Con la ayuda de App Inventor, incluso personas sin experiencia en programaci\u00f3n m\u00f3vil pueden desarrollar sus propias aplicaciones para controlar hardware f\u00edsico de forma inal\u00e1mbrica.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<div class=\"page-sidebar widget\" id=\"donation_buttons\"><form action=\"https:\/\/www.paypal.com\/cgi-bin\/webscr\" method=\"post\" target=\"_blank\" ><input type=\"hidden\" name=\"business\" value=\"donacion@rogerbit.com\"><input type=\"hidden\" name=\"bn\" value=\"mbjtechnolabs_SP\"><input type=\"hidden\" name=\"cmd\" value=\"_donations\"><input type=\"hidden\" name=\"item_name\" value=\"Ayuda a RogerBit.com\"><input type=\"hidden\" name=\"item_number\" value=\"www.rogerbit.com\"><input type=\"hidden\" class=\"set_donation_button_amount\" name=\"amount\" value=\"1\"><table ><tbody><tr><td><label for=\"rogerBit necesita de tu ayuda para seguir existiendo :-)\">rogerBit necesita de tu ayuda para seguir existiendo :-)<\/label><\/td><\/tr><\/tbody><\/table><table ><tbody><tr><td><input style=\"margin-top:10px;\" type=\"image\" name=\"submit\" border=\"0\" src=\"https:\/\/www.paypal.com\/en_US\/i\/btn\/btn_donateCC_LG.gif\" alt=\"PayPal - The safer, easier way to pay online\"><\/td><\/tr><\/tbody><\/table><input type=\"hidden\" name=\"currency_code\" value=\"USD\"><input type=\"hidden\" name=\"notify_url\" value=\"https:\/\/rogerbit.com\/wprb\/?Donation_Button&#038;action=ipn_handler\"><\/form><\/div>\n<hr \/>\n<p><strong>VIDEO RECOMENDADO<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Soluci\u00f3n (temporal) error 507 entre App inventor y m\u00f3dulo bluetooth hc-05 \/ hc-06\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/M4Gj36nzqfI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>En este proyecto aprenderemos a controlar tres servomotores utilizando un m\u00f3dulo Bluetooth, un Arduino y una aplicaci\u00f3n creada con App Inventor. Es una excelente forma de introducirse en la rob\u00f3tica y la comunicaci\u00f3n inal\u00e1mbrica entre dispositivos m\u00f3viles y microcontroladores. Tal vez pueda interesarte proyectos en arduino, pic, rob\u00f3tica, telecomunicaciones, suscribete en\u00a0http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1\u00a0mucho videos con c\u00f3digo fuentes [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[54,678,80,45,81,486,246,31,677,64],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/130"}],"collection":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/comments?post=130"}],"version-history":[{"count":6,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/130\/revisions"}],"predecessor-version":[{"id":7993,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/130\/revisions\/7993"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/131"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}