        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":5159,"date":"2019-12-11T01:05:04","date_gmt":"2019-12-11T01:05:04","guid":{"rendered":"http:\/\/rogerbit.com\/wprb\/?p=5159"},"modified":"2019-12-11T13:34:01","modified_gmt":"2019-12-11T13:34:01","slug":"brazo-mecanico-con-electroiman-y-arduino-romeo","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2019\/12\/brazo-mecanico-con-electroiman-y-arduino-romeo\/","title":{"rendered":"\ud83d\udcaaBRAZO ROB\u00d3TICO CON ELETROIM\u00c1N Y ARDUINO ROMEO"},"content":{"rendered":"<p><iframe loading=\"lazy\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/qOtp5bjsgXk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>En este tutorial veremos un brazo rob\u00f3tico, armado con un electroim\u00e1n, 2 servos, un arduino romeo y piezas del juego did\u00e1ctico Supermec 5.<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-5160\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet.jpg\" alt=\"\" width=\"700\" height=\"525\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet.jpg 700w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet-300x225.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet-600x450.jpg 600w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Un electroim\u00e1n es un tipo de im\u00e1n en el que el campo magn\u00e9tico es producido por una corriente el\u00e9ctrica.\u00a0Una corriente el\u00e9ctrica que fluye en un cable crea un campo magn\u00e9tico alrededor del cable, debido a la ley de Ampere (vea el dibujo m\u00e1s arriba).\u00a0Para concentrar el campo magn\u00e9tico, en un electroim\u00e1n el cable se enrolla en una bobina con muchas vueltas de cable una al lado de la otra.\u00a0El campo magn\u00e9tico de todas las vueltas del cable pasa a trav\u00e9s del centro de la bobina, creando un fuerte campo magn\u00e9tico all\u00ed. Este\u00a0electroim\u00e1n puede absorber 1 kg de peso y aguantar.\u00a0Es f\u00e1cil de usar.<\/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 diagramas<\/p>\n<div id=\"ubm-banners-rotation-n1\" data-interval=\"4000\" class=\"ubm_banners_rotation\" style=\"overflow: hidden; width: 200px; height: 150px;\"><div id=\"3_ubm_banner\" class=\"ubm_rotating_banner\"><a href=\"https:\/\/bit.ly\/3aXRDAu\" target=\"_blank\" rel=\"dofollow\"><img src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/useful_banner_manager_banners\/3-2-logo youtube.png\" width=\"100%\" height=\"100%\" alt=\"SUSCRIBETE A NUESTRO CANAL DE YOUTUBE, TUTORIALES GRATIS\" \/><\/a><\/div><\/div>\n<hr \/>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-5161\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet.png\" alt=\"\" width=\"374\" height=\"640\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet.png 374w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/Electromagnet-175x300.png 175w\" sizes=\"(max-width: 374px) 100vw, 374px\" \/><\/a><\/p>\n<p>\u00bfDonde conseguir el este electroiman ? Visita la p\u00e1gina de <a href=\"https:\/\/lcsc.com\/product-detail\/Modules_Seeed-SEEED-101020073_C403768.html\">LCSC<\/a><\/p>\n<p><a href=\"https:\/\/lcsc.com\/product-detail\/Modules_Seeed-SEEED-101020073_C403768.html\"><img loading=\"lazy\" class=\"alignnone wp-image-5163\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/descarga.jpg\" alt=\"\" width=\"132\" height=\"132\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/descarga.jpg 225w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/descarga-150x150.jpg 150w\" sizes=\"(max-width: 132px) 100vw, 132px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"specifications\">Especificaciones<\/h3>\n<div class=\"md-typeset__scrollwrap\">\n<div class=\"md-typeset__table\">\n<table>\n<thead>\n<tr>\n<th>Par\u00e1metro<\/th>\n<th>Valor<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tensi\u00f3n de trabajo<\/td>\n<td>DC 5V<\/td>\n<\/tr>\n<tr>\n<td>Corriente de trabajo<\/td>\n<td>400mA<\/td>\n<\/tr>\n<tr>\n<td>Corriente de espera<\/td>\n<td>200uA<\/td>\n<\/tr>\n<tr>\n<td>Peso de la carga<\/td>\n<td>1 KILOGRAMO<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Pinout cable electroiman<\/p>\n<table>\n<thead>\n<tr>\n<th>Pinout<\/th>\n<th>Color<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>5V<\/td>\n<td>rojo<\/td>\n<\/tr>\n<tr>\n<td>GND<\/td>\n<td>Negro<\/td>\n<\/tr>\n<tr>\n<td>No conectado<\/td>\n<td>Blanco<\/td>\n<\/tr>\n<tr>\n<td>Pin digital<\/td>\n<td>Amarillo<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Pin out SG90 Servo<\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/03\/sg90.jpeg\" rel=\"attachment wp-att-950\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-950\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/03\/sg90.jpeg\" alt=\"sg90\" width=\"292\" height=\"173\" \/><\/a><\/p>\n<p><strong>Naranja\u2013&gt; Se\u00f1al<\/strong><\/p>\n<p><strong>Rojo\u2013&gt; Positivo<\/strong><\/p>\n<p><strong>Marr\u00f3n\u2013&gt; Negativo<\/strong><\/p>\n<p><strong>Software<\/strong><\/p>\n<ul>\n<li><strong>Paso 1.<\/strong>\u00a0Copie el siguiente c\u00f3digo en Arduio IDE y c\u00e1rguelo en arduino.<\/li>\n<\/ul>\n<pre class=\"lang:arduino decode:true\" title=\"C\u00f3digo Fuente\">#include &lt;Servo.h&gt;\/\/Librer\u00eda para el control de los servos\r\nServo ServoUno;\r\nServo ServoDos;\r\nint val0=0;\r\nint val1=0;\r\nint var7=0;\r\nint magneto=13;\r\nint estado=0;\r\nvoid setup() {\r\nServoUno.attach(6);\/\/El servo ser\u00e1 controlado a trav\u00e9s del pin 6\r\nServoUno.write(0);\/\/Posici\u00f3n inicial del servo(modificar de ser necesario)\r\nServoDos.attach(7);\/\/El servo ser\u00e1 controlado a trav\u00e9s del pin 7\r\nServoDos.write(0);\/\/Posici\u00f3n inicial del servo(modificar de ser necesario)\r\npinMode(magneto, OUTPUT);\/\/Se confira el pin del control del electroiman como salida\r\nSerial.begin(9600);\/\/Velocidad del puesto serial\r\n}\r\nvoid loop() {\r\n var7 = analogRead(7);\/\/Lectura del pin anal\u00f3gico 7 del arduino romeo, donde el arduino Romeo tiene conectado 5 pulsadores.\r\n\/\/Si el valor leido es menor o igual a 100\r\nif(var7&lt;=100){\r\nSerial.println(\"arriba\");\r\nif(val0&gt;0){\r\nval0=val0-5;\r\nSerial.println(val0);\r\nServoUno.write(val0);\r\ndelay(50);  \r\n  }\r\n}\r\n\/\/Si el valor leido es menor o igual a 350 y mayor o igual a 300\r\nif(var7&lt;=350&amp;&amp;var7&gt;=300){\r\nSerial.println(\"abajo\");  \r\nif(val0&lt;180){\r\nval0=val0+5;\r\nSerial.println(val0);\r\nServoUno.write(val0);\r\ndelay(100);\r\n  }\r\n}\r\n\/\/Si el valor leido es menor o igual a 200 y mayor o igual a 120\r\nif(var7&lt;=200&amp;&amp;var7&gt;=120){\r\nSerial.println(\"derecha\");\r\nif(val1&lt;180){\r\nval1=val1+5;\r\nSerial.println(val1);\r\nServoDos.write(val1);\r\ndelay(50);\r\n  }\r\n\/\/Si el valor leido es menor o igual a 550 y mayor o igual a 450  \r\n  }\r\n  Serial.println(val1);\r\nif(var7&lt;=550&amp;&amp;var7&gt;=450){\r\nSerial.println(\"izquierda\");\r\nif(val1&gt;0){\r\nval1=val1-5;\r\nSerial.println(val1);\r\nServoDos.write(val1);\r\ndelay(50);\r\n  } \r\n}\r\n\/\/---------------------\r\n\/\/Enciende o apaga el electroiman \r\n\/\/Si el valor leido es menor o igual a 800 y mayor o igual a 650\r\nif (var7&lt;=800&amp;&amp;var7&gt;=650) {\r\nvar7 = analogRead(7);\/\/Leemos el estado del bot\u00f3n nuevamente, lo asignamos a var7\r\nif(estado ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"Electroim\u00e1n activado\");\r\ndigitalWrite(magneto, HIGH);\r\nestado =1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n Serial.print(\"Electroim\u00e1n desactivado\");\r\n digitalWrite(magneto, LOW);\r\n estado =0;\/\/Asignamos el valor 0 a la variable \"estado\"\r\n  }\r\n\/\/Si el valor leido es menor o igual a 800 y mayor o igual a 650\r\nwhile(var7&lt;=800&amp;&amp;var7&gt;=650){\r\nvar7 = analogRead(7);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n}<\/pre>\n<p>SuperMec 5<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/supermec5.jpg\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-5175\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/supermec5-1024x768.jpg\" alt=\"\" width=\"1024\" height=\"768\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/supermec5-1024x768.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/supermec5-300x225.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/supermec5-768x576.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/supermec5-600x450.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/supermec5-820x615.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/supermec5.jpg 1063w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u00bfQue es Arduino Romeo?<\/p>\n<div>\n<p>La\u00a0\u00a0familia\u00a0Romeo\u00a0es un placa de control de robotica Todo-En-Uno, especialmente dise\u00f1ado para aplicaciones de rob\u00f3tica de DFRobot.\u00a0Se beneficia de la\u00a0plataforma de c\u00f3digo abierto\u00a0Arduino\u00a0, es compatible con miles de c\u00f3digos y puede ampliarse f\u00e1cilmente con los escudos de Arduino.\u00a0El\u00a0controlador del motor CC de\u00a02 v\u00edas integrado\u00a0y el z\u00f3calo inal\u00e1mbrico le permiten iniciar su propio proyecto de robotica inmediatamente sin la necesidad de un driver de motor adicional.\u00a0No solo tiene el controlador del motor, Romeo tambi\u00e9n est\u00e1 dise\u00f1ado para tener potencia extra para los servos que necesitan m\u00e1s corriente.<\/p>\n<p>Romeo tambi\u00e9n se presenta con el est\u00e1ndar 3 Pin-out de DFRobot dise\u00f1ado y compatible con los\u00a0\u00a0\u00a0sensores y actuadores de la serie\u00a0Gravity\u00a0.\u00a0Cientos de sensores ahora son plug-play con Romeo.<\/p>\n<\/div>\n<div>\n<div>El primer miembro de la familia Romeo naci\u00f3 en 2009. No es solo el primer controlador de robot Arduino, sino tambi\u00e9n el primer tablero derivado de Arduino en el mercado.\u00a0La versi\u00f3n actual de Romeo se\u00a0\u00a0basa en Arduino Uno.\u00a0Ha incorporado 2 controladores de motor CC de 2 Amperes y z\u00f3calo para\u00a0m\u00f3dulos de\u00a0comunicaci\u00f3n por\u00a0radio\u00a0Bluetooth\u00a0\/APC220\u00a0.\u00a0El pin integrado del sensor entrada\/salida le permite conectar cientos de diferentes\u00a0sensores y m\u00f3dulos\u00a0compatibles con Gravity\u00a0.Tiene un conector servo que es un plug &amp; play.\u00a0Es el controlador ideal para construir su propio\u00a0robot\u00a0.<\/div>\n<div>\n<h4>ESPECIFICACIONES<\/h4>\n<ul>\n<li>Suministro de CC: alimentado por USB o externo de 7V ~ 12V DC<\/li>\n<li>Salida de CC: 5V \/ 3.3V DC y salida de potencia externa<\/li>\n<li>Microcontrolador: Atmega328<\/li>\n<li>Cargador de arranque: Arduino Uno<\/li>\n<li>Compatible con el mapeo de pin Arduino Uno<\/li>\n<li>8 canales de E\/S anal\u00f3gicas de 10 bits<\/li>\n<li>interfaz USB<\/li>\n<li>5 teclas de entradas<\/li>\n<li>Detecci\u00f3n autom\u00e1tica \/ entrada de potencia de conmutaci\u00f3n<\/li>\n<li>Encabezado ICSP para la descarga directa del programa<\/li>\n<li>Serial Interface TTL Level<\/li>\n<li>Soporte de encabezado macho y hembra<\/li>\n<li>Sockets integrados para el m\u00f3dulo RF APC220 y el m\u00f3dulo DF-Bluetooth<\/li>\n<li>Tres juegos de patillas de interfaz I2C (dos cabezales de patillas de 90 \u00b0)<\/li>\n<li>Driver de motor de dos v\u00edas con corriente m\u00e1xima 2A<\/li>\n<li>Placa enchapado en oro<\/li>\n<li>Tama\u00f1o: 90x80x14mm (3,54 \u00abx3.15\u00bb x0.55 \u00ab)<\/li>\n<li>Peso: 60 gramos<\/li>\n<\/ul>\n<h2><span id=\"DFRduino_RoMeo_Pinout\" class=\"mw-headline\">RoMeo Pinout<\/span><\/h2>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/Romeo_v1.1_pinout_Diagram.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-2639\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/Romeo_v1.1_pinout_Diagram-300x245.png\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/Romeo_v1.1_pinout_Diagram-300x245.png 300w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/Romeo_v1.1_pinout_Diagram-600x490.png 600w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/Romeo_v1.1_pinout_Diagram.png 741w\" alt=\"\" width=\"300\" height=\"245\" \/><\/a><\/p>\n<p>Placa<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/arduino-uno-romeo-v1.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-5172\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/arduino-uno-romeo-v1.jpg\" alt=\"\" width=\"600\" height=\"529\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/arduino-uno-romeo-v1.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/12\/arduino-uno-romeo-v1-300x265.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>La imagen de arriba muestra todas las l\u00edneas y conectores de E \/ S en el Romeo, que incluye:<\/p>\n<ul>\n<li>Un terminal de entrada de potencia de motor regulado (6v a 12v)<\/li>\n<li>Un Terminal de entrada de alimentaci\u00f3n servo no regulada (se suministra regulada de 4 v a 7.2 v)<\/li>\n<li>Un puente de selecci\u00f3n de potencia de entrada Servo<\/li>\n<li>Un encabezado de m\u00f3dulo de interfaz serie para el m\u00f3dulo APC220 \/ Bluetooth<\/li>\n<li>Dos terminales de motor CC: maneja la corriente del motor hasta 2A, en cada terminal<\/li>\n<li>Un puerto I2C \/ TWI \u2013 SDA, SCL, 5V, GND<\/li>\n<li>Un puerto anal\u00f3gico con 8 entradas anal\u00f3gicas \u2013 La entrada anal\u00f3gica 7 estar\u00e1 ocupada al conectar al puente \u00abA7\u00bb<\/li>\n<li>Un puerto I \/ O de prop\u00f3sito general con 13 l\u00edneas de E \/ S \u2013 4,5,6,7 se puede usar para controlar motores<\/li>\n<li>Un bot\u00f3n de reinicio<\/li>\n<li>Jumper para habilitar \/ deshabilitar el control del motor<\/li>\n<\/ul>\n<h2><span id=\"Before_you_start\" class=\"mw-headline\">Antes de empezar<\/span><\/h2>\n<h3><span id=\"Applying_Power\" class=\"mw-headline\">Aplicando potencia<\/span><\/h3>\n<p>Este es uno de los pasos m\u00e1s importantes antes de usarl Romeo y comunicarse con su controlador host.\u00a0DEBE asegurarse de que aplique energ\u00eda al terminal de alimentaci\u00f3n con la polaridad correcta.\u00a0La polaridad invertida da\u00f1ar\u00e1 al Romeo.<\/p>\n<p><b>Energ\u00eda desde el puerto USB:<\/b>\u00a0simplemente conecte el cable USB, y Romeo puede funcionar.\u00a0Tenga en cuenta que el USB solo puede suministrar corriente de 500 mA.\u00a0Deber\u00eda ser capaz de cumplir con la mayor\u00eda de los requisitos para la aplicaci\u00f3n de iluminaci\u00f3n LED.\u00a0Sin embargo, no es suficiente para alimentar motores de CC o servo.<\/p>\n<p><b>Alimentaci\u00f3n de la entrada de potencia del motor:<\/b>\u00a0Simplemente conecte el cable de tierra a la bornera con la etiqueta \u00abGND\u00bb, y luego conecte el cable positivo a la bornera con la etiqueta \u00abVIN\u00bb.<\/p>\n<p><i>NOTA: la tensi\u00f3n de alimentaci\u00f3n m\u00e1xima no puede exceder 14V CC.<\/i><\/p>\n<h3><span id=\"Software\" class=\"mw-headline\">Software<\/span><\/h3>\n<p>RoMeo puede ser programado por el IDE de Arduino.\u00a0Se puede descargar en\u00a0<a class=\"external text\" href=\"http:\/\/arduino.cc\/en\/Main\/Software\" rel=\"nofollow\">Arduino.cc<\/a>\u00a0, seleccione \u00abArduino UNO\u00bb como hardware.<\/p>\n<h3><span id=\"Servo_Power_Select_Jumper\" class=\"mw-headline\">Servo Power Select Jumper<\/span><\/h3>\n<p>Como la mayor\u00eda de los servos utilizan m\u00e1s corriente que la fuente de alimentaci\u00f3n USB puede suministrar.\u00a0Se proporciona un terminal de alimentaci\u00f3n para alimentar el servo individualmente.\u00a0Esta opci\u00f3n puede habilitarse \/ deshabilitarse mediante el puente de selecci\u00f3n Servo Power.<\/p>\n<p>Cuando se aplica el Servo Power Select Jumper, el servo funciona con 5V internos.<\/p>\n<p>Cuando el Servo Power Select Jumper no se aplica, el servo est\u00e1 alimentado por una fuente de alimentaci\u00f3n externa.<\/p>\n<p>El Romeo V1.3 utiliza un conmutador autom\u00e1tico para la selecci\u00f3n de la fuente de alimentaci\u00f3n.\u00a0Cuando se haya aplicado la fuente de alimentaci\u00f3n externa, el servo se alimentar\u00e1 autom\u00e1ticamente mediante la alimentaci\u00f3n externa en lugar de la energ\u00eda del USB.<\/p>\n<h3><span id=\"Motor_Control_Pin_Jumper\" class=\"mw-headline\">Jumper Pin de control del motor<\/span><\/h3>\n<p>La aplicaci\u00f3n de los jumper de control del motor asignar\u00e1 el Pin 5,6,7,8 para el control del motor.<\/p>\n<p>Al quitar los puentes se liberar\u00e1n los pines anteriores, y el controlador del motor se desactivar\u00e1.<\/p>\n<p>Botones<\/p>\n<p>RoMeo tiene 5 botones S1-S5 (Figura 2).\u00a0S1-S5 usa la entrada anal\u00f3gica del pin 7,<\/p>\n<table border=\"1\" width=\"400px\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\">\n<caption>\u00abMapa del Pin del bot\u00f3n\u00bb<\/caption>\n<tbody>\n<tr>\n<th>Alfiler<\/th>\n<th>Funci\u00f3n<\/th>\n<\/tr>\n<tr>\n<td align=\"center\">Pin anal\u00f3gico 7<\/td>\n<td align=\"center\">Bot\u00f3n S1-S5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><\/div>\n<div class=\"center\">\n<div class=\"thumb tnone\">\n<div class=\"thumbinner\">\n<p><a class=\"image\" href=\"https:\/\/www.dfrobot.com\/wiki\/index.php\/File:RomeoButtons.png\"><img loading=\"lazy\" class=\"thumbimage\" src=\"https:\/\/www.dfrobot.com\/wiki\/images\/f\/f4\/RomeoButtons.png\" alt=\"\" width=\"396\" height=\"123\" \/><\/a><\/p>\n<div class=\"thumbcaption\">\n<div class=\"magnify\"><\/div>\n<p>Fig2: botones de Romeo<\/p>\n<h3><span id=\"Example_use_of_Button_1-5\" class=\"mw-headline\">Ejemplo de uso de botones 1-5<\/span><\/h3>\n<pre class=\"lang:default decode:true \">\/\/\r\n\r\nchar msgs[5][15] = {\r\n  \"Right Key OK \", \r\n  \"Up Key OK    \", \r\n  \"Down Key OK  \", \r\n  \"Left Key OK  \", \r\n  \"Select Key OK\" };\r\nchar start_msg[15] = {\r\n  \"Start loop \"};                    \r\nint  adc_key_val[5] ={\r\n  30, 150, 360, 535, 760 };\r\nint NUM_KEYS = 5;\r\nint adc_key_in;\r\nint key=-1;\r\nint oldkey=-1;\r\nvoid setup() { \r\n  pinMode(13, OUTPUT);  \/\/we'll use the debug LED to output a heartbeat\r\n  Serial.begin(9600);\r\n\r\n  \/* Print that we made it here *\/\r\n  Serial.println(start_msg); \r\n}\r\n\r\nvoid loop() \r\n{\r\n  adc_key_in = analogRead(7);    \/\/ read the value from the sensor  \r\n  digitalWrite(13, HIGH);\r\n  \/* get the key *\/\r\n  key = get_key(adc_key_in);    \/\/ convert into key press\r\n  if (key != oldkey) {   \/\/ if keypress is detected\r\n    delay(50);      \/\/ wait for debounce time\r\n    adc_key_in = analogRead(7);    \/\/ read the value from the sensor  \r\n    key = get_key(adc_key_in);    \/\/ convert into key press\r\n    if (key != oldkey) {         \r\n      oldkey = key;\r\n      if (key &gt;=0){\r\n        Serial.println(adc_key_in, DEC);\r\n        Serial.println(msgs[key]);\r\n      }\r\n    }\r\n  }\r\n  digitalWrite(13, LOW);\r\n}\r\n\/\/ Convert ADC value to key number\r\nint get_key(unsigned int input)\r\n{   \r\n  int k;\r\n  for (k = 0; k &lt; NUM_KEYS; k++)\r\n  {\r\n    if (input &lt; adc_key_val[k])\r\n    {  \r\n      return k;  \r\n    }\r\n  }\r\n  if (k &gt;= NUM_KEYS)\r\n    k = -1;     \/\/ No valid key pressed\r\n  return k;\r\n}<\/pre>\n<h2><span class=\"mw-headline\">Control de velocidad de motor\u00a0<\/span><span id=\"Dual_DC_Motor_Speed_Control\" class=\"mw-headline\">doble de\u00a0<\/span><span id=\"Dual_DC_Motor_Speed_Control\" class=\"mw-headline\">CC<\/span><\/h2>\n<h3><span id=\"Hardware_Setting\" class=\"mw-headline\">Configuraci\u00f3n de hardware<\/span><\/h3>\n<p>Conecte los cuatro cables del motor al terminal del motor de Romeo.\u00a0Y aplique energ\u00eda a trav\u00e9s del terminal de potencia del motor (Figura 4).<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/800px-RomeoSample.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-2645\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/800px-RomeoSample-300x143.png\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/800px-RomeoSample-300x143.png 300w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/800px-RomeoSample-768x365.png 768w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/800px-RomeoSample-600x285.png 600w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/800px-RomeoSample.png 800w\" alt=\"\" width=\"300\" height=\"143\" \/><\/a><\/p>\n<p>Fig4: Diagrama de conexi\u00f3n de motor de Romeo<\/p>\n<h3><span id=\"Pin_Allocation\" class=\"mw-headline\">Asignaci\u00f3n de pines<\/span><\/h3>\n<table border=\"1\" width=\"400px\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\">\n<caption>\u00abModo PWM\u00bb<\/caption>\n<tbody>\n<tr>\n<th>PIN<\/th>\n<th>Funci\u00f3n<\/th>\n<\/tr>\n<tr>\n<td align=\"center\">Digital 4<\/td>\n<td align=\"center\">Motor 1 Control de direcci\u00f3n<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digital 5<\/td>\n<td align=\"center\">Motor 1 control PWM<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digital 6<\/td>\n<td align=\"center\">Motor 2 PWM control<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digital 7<\/td>\n<td align=\"center\">Motor 2 Control de direcci\u00f3n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table border=\"1\" width=\"400px\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\">\n<caption>\u00abModo PLL\u00bb<\/caption>\n<tbody>\n<tr>\n<th>Pin<\/th>\n<th>Funci\u00f3n<\/th>\n<\/tr>\n<tr>\n<td align=\"center\">Digital 4<\/td>\n<td align=\"center\">Motor 1 Habilitar control<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digital 5<\/td>\n<td align=\"center\">Motor 1 Control de direcci\u00f3n<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digital 6<\/td>\n<td align=\"center\">Motor 2 Control de direcci\u00f3n<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digital 7<\/td>\n<td align=\"center\">Motor 2 Habilitar control<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><span id=\"PWM_Control_Mode\" class=\"mw-headline\">Modo de control PWM<\/span><\/h3>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/RomeoMotorJmp.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-2646\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/RomeoMotorJmp.png\" alt=\"\" width=\"162\" height=\"251\" \/><\/a><\/p>\n<p>Fig4: Asignaci\u00f3n de clavijas de control del motor PWM<\/p>\n<p>El control del motor PWM CC se implementa mediante la manipulaci\u00f3n de dos pines E\/S digitales y dos pines PWM.\u00a0Como se ilustra en el diagrama de arriba (Figura 5), \u200b\u200bel Pin 4,7 (7,8 para la versi\u00f3n antigua de Romeo) son pasadores de control de la direcci\u00f3n del motor, Pin 5,6 (6,9 para la versi\u00f3n antigua de Romeo) son pasadores de control de velocidad del motor.<\/p>\n<p><i>Para la placa Romeo anterior, los pines utilizados para controlar el motor son Pin 7,8 (Direcci\u00f3n), Pin 6,9 (Velocidad).\u00a0Puede encontrar la informaci\u00f3n en el lado derecho de los puentes de control del motor.<\/i><\/p>\n<p>C\u00f3digo de ejemplo:<\/p>\n<pre class=\"lang:default decode:true \">\/\/Standard PWM DC control\r\nint E1 = 5;     \/\/M1 Speed Control\r\nint E2 = 6;     \/\/M2 Speed Control\r\nint M1 = 4;    \/\/M1 Direction Control\r\nint M2 = 7;    \/\/M1 Direction Control\r\n\r\n\/\/\/For previous Romeo, please use these pins.\r\n\/\/int E1 = 6;     \/\/M1 Speed Control\r\n\/\/int E2 = 9;     \/\/M2 Speed Control\r\n\/\/int M1 = 7;    \/\/M1 Direction Control\r\n\/\/int M2 = 8;    \/\/M1 Direction Control\r\n\r\n\r\nvoid stop(void)                    \/\/Stop\r\n{\r\n  digitalWrite(E1,LOW);   \r\n  digitalWrite(E2,LOW);      \r\n}   \r\nvoid advance(char a,char b)          \/\/Move forward\r\n{\r\n  analogWrite (E1,a);      \/\/PWM Speed Control\r\n  digitalWrite(M1,HIGH);    \r\n  analogWrite (E2,b);    \r\n  digitalWrite(M2,HIGH);\r\n}  \r\nvoid back_off (char a,char b)          \/\/Move backward\r\n{\r\n  analogWrite (E1,a);\r\n  digitalWrite(M1,LOW);   \r\n  analogWrite (E2,b);    \r\n  digitalWrite(M2,LOW);\r\n}\r\nvoid turn_L (char a,char b)             \/\/Turn Left\r\n{\r\n  analogWrite (E1,a);\r\n  digitalWrite(M1,LOW);    \r\n  analogWrite (E2,b);    \r\n  digitalWrite(M2,HIGH);\r\n}\r\nvoid turn_R (char a,char b)             \/\/Turn Right\r\n{\r\n  analogWrite (E1,a);\r\n  digitalWrite(M1,HIGH);    \r\n  analogWrite (E2,b);    \r\n  digitalWrite(M2,LOW);\r\n}\r\nvoid setup(void) \r\n{ \r\n  int i;\r\n  for(i=4;i&lt;=7;i++)\r\n    pinMode(i, OUTPUT);  \r\n  Serial.begin(19200);      \/\/Set Baud Rate\r\n  Serial.println(\"Run keyboard control\");\r\n} \r\nvoid loop(void) \r\n{\r\n  if(Serial.available()){\r\n    char val = Serial.read();\r\n    if(val != -1)\r\n    {\r\n      switch(val)\r\n      {\r\n      case 'w':\/\/Move Forward\r\n        advance (255,255);   \/\/move forward in max speed\r\n        break;\r\n      case 's':\/\/Move Backward\r\n        back_off (255,255);   \/\/move back in max speed\r\n        break;\r\n      case 'a':\/\/Turn Left\r\n        turn_L (100,100);\r\n        break;       \r\n      case 'd':\/\/Turn Right\r\n        turn_R (100,100);\r\n        break;\r\n      case 'z':\r\n        Serial.println(\"Hello\");\r\n        break;\r\n      case 'x':\r\n        stop();\r\n        break;\r\n      }\r\n    }\r\n    else stop();  \r\n  }\r\n}<\/pre>\n<p>Modo de control PLL<\/p>\n<p>Romeo tambi\u00e9n es compatible con\u00a0oscilador enganchado en\u00a0<em>fase (PLL)<\/em><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/Romeov11xxx.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-2648\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/10\/Romeov11xxx.png\" alt=\"\" width=\"161\" height=\"254\" \/><\/a><\/p>\n<p>Fig5: Configuraci\u00f3n de asignaci\u00f3n de patillas de control del motor PLL<\/p>\n<p>C\u00f3digo de muestra:<\/p>\n<pre class=\"lang:default decode:true \">\/\/Standard DLL Speed control\r\n\r\nint E1 = 4;     \/\/M1 Speed Control\r\nint E2 = 7;     \/\/M2 Speed Control\r\nint M1 = 5;    \/\/M1 Direction Control\r\nint M2 = 6;    \/\/M1 Direction Control\r\n\r\n\/\/\/For previous Romeo, please use these pins.\r\n\/\/int E1 = 6;     \/\/M1 Speed Control\r\n\/\/int E2 = 9;     \/\/M2 Speed Control\r\n\/\/int M1 = 7;    \/\/M1 Direction Control\r\n\/\/int M2 = 8;    \/\/M1 Direction Control\r\n\r\n\/\/When m1p\/m2p is 127, it stops the motor\r\n\/\/when m1p\/m2p is 255, it gives the maximum speed for one direction\r\n\/\/When m1p\/m2p is 0, it gives the maximum speed for reverse direction\r\n\r\nvoid DriveMotorP(byte m1p, byte m2p)\/\/Drive Motor Power Mode\r\n{\r\n\r\n  digitalWrite(E1, HIGH);\r\n  analogWrite(M1, (m1p)); \r\n\r\n  digitalWrite(E2, HIGH);\r\n  analogWrite(M2, (m2p)); \r\n\r\n}\r\n\r\nvoid setup(void) \r\n{ \r\n  int i;\r\n  for(i=6;i&lt;=9;i++)\r\n    pinMode(i, OUTPUT);  \r\n  Serial.begin(19200);      \/\/Set Baud Rate\r\n} \r\nvoid loop(void) \r\n{ \r\n  if(Serial.available()){\r\n    char val = Serial.read();\r\n    if(val!=-1)\r\n    {\r\n      switch(val)\r\n      {\r\n      case 'w':\/\/Move Forward\r\n        DriveMotorP(0xff,0xff); \/\/ Max speed\r\n        break;\r\n      case 'x':\/\/Move Backward\r\n        DriveMotorP(0x00,0x00);\r\n        ; \/\/ Max speed\r\n        break;\r\n      case 's':\/\/Stop\r\n        DriveMotorP(0x7f,0x7f);\r\n        break;       \r\n\r\n      }\r\n    }\r\n  }\r\n}<\/pre>\n<hr \/>\n<p>SUSCRIBETE A NUESTROS BOLETINES, RECIBE EN TU CORREO LAS NOTICIAS M\u00c1S DESTACADAS, S\u00d3LO INGRESANDO TU CORREO ELECTR\u00d3NICO<\/p>\n<p>[wysija_form id=&#8221;1&#8243;]<\/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\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/xdcbqgPGznk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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 tutorial veremos un brazo rob\u00f3tico, armado con un electroim\u00e1n, 2 servos, un arduino romeo y piezas del juego did\u00e1ctico Supermec 5. Un electroim\u00e1n es un tipo de im\u00e1n en el que el campo magn\u00e9tico es producido por una corriente el\u00e9ctrica.\u00a0Una corriente el\u00e9ctrica que fluye en un cable crea un campo magn\u00e9tico alrededor del [&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":5180,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/5159"}],"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=5159"}],"version-history":[{"count":13,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/5159\/revisions"}],"predecessor-version":[{"id":5185,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/5159\/revisions\/5185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/5180"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=5159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=5159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=5159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}