{"id":119,"date":"2017-04-26T08:30:00","date_gmt":"2017-04-26T08:30:00","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=119"},"modified":"2019-05-04T18:03:35","modified_gmt":"2019-05-04T18:03:35","slug":"calculadora-pizarra","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/","title":{"rendered":"Calculadora pizarra"},"content":{"rendered":"<h2>CALCULINO<\/h2>\n<div><a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2017\/04\/Portada-682x1024.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2017\/04\/Portada-682x1024.jpg\" width=\"212\" height=\"320\" border=\"0\" \/><\/a><\/div>\n<div>\n<div>\u00a0<\/div>\n<h2>Introducci\u00f3n<\/h2>\n<\/div>\n<div><span id=\"docs-internal-guid-4bb54f5e-9f8e-20af-f2af-e5079d2638bb\">Nuestra idea para el proyecto se centra en el desarrollo de un brazo rob\u00f3tico que escriba las operaciones que introduzcamos mediante un teclado, el mismo programa calcula el resultado de la operaci\u00f3n y hace que nuestro robot lo escriba en una pizarra.<\/span><\/div>\n<div style=\"text-align: center;\">\n<h2 style=\"text-align: left;\">\u00bfPor qu\u00e9 un brazo rob\u00f3tico?<\/h2>\n<div style=\"text-align: justify;\">\n<div>Nuestro proyecto va destinado a la ense\u00f1anza de los m\u00e1s peque\u00f1os. Con nuestro brazo podemos ense\u00f1arles a realizar problemas aritm\u00e9ticos de forma din\u00e1mica, f\u00e1cil y competitiva.\u00a0<\/div>\n<div>\u00a0<\/div>\n<div>En nuestro programa podemos cambiar el tiempo que el brazo tarda en resolver una operaci\u00f3n para darle tiempo a los ni\u00f1os a resolverlo antes que el brazo rob\u00f3tico, de esta forma, el aprendizaje se hace m\u00e1s llevadero dando la sensaci\u00f3n de compa\u00f1\u00eda para los m\u00e1s peque\u00f1os.\u00a0<\/div>\n<h2>Materiales y presupuesto<\/h2>\n<div><a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2017\/04\/tabla.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2017\/04\/tabla.jpg\" width=\"640\" height=\"267\" border=\"0\" \/><\/a><\/div>\n<h2>Montaje<\/h2>\n<div>\n<div><span id=\"docs-internal-guid-4bb54f5e-9f8e-c3a5-1e31-8b2c8126319c\">Creaci\u00f3n de la estructura del brazo. Nuestro primer paso es realizar un primer prototipo del brazo rob\u00f3tico con el que realizar\u00edamos las primeras pruebas de funcionamiento y calibraci\u00f3n de los servomotores. Y as\u00ed, despu\u00e9s, poder crear el prototipo final.<br \/><br \/>Para crear el brazo utilizamos 5 palos de madera unidos por sus extremos mediante un nudo de alambre para crear las articulaciones. El soporte del rotulador se hizo con alambre d\u00e1ndole una forma circular del di\u00e1metro del rotulador para que quedara bien sujeto.<br \/><br \/>Para que el brazo hiciera bien el movimiento, ajustamos los nudos de las articulaciones para lograr un movimiento fluido en los codos, adem\u00e1s de calibrar los servomotores para que cada parte del brazo se moviera en su totalidad (90\u00ba).<br \/><br \/>Para que el brazo dejara espacios al escribir, incluimos un tercer servomotor para realizar el movimiento de izado del rotulador.<br \/><\/span><\/div>\n<div>\u00a0<\/div>\n<div><span id=\"docs-internal-guid-4bb54f5e-9f8f-a830-3b6d-93e76d27ea29\">Montaje del circuito: el primer paso que realizamos fue el de conectar los servomotores de los 2 brazos para calibrarlos y dejarlos en la posici\u00f3n correcta de salida. <\/span>El siguiente paso fue conectar el siguiente servomotor para realizar el izado del rotulador y por \u00faltimo, conectar el keypad que usamos para introducir los datos al programa.<\/div>\n<div>\u00a0<\/div>\n<div><span id=\"docs-internal-guid-4bb54f5e-9f91-6c49-c426-d8d035292902\">Montaje del prototipo final: como paso final construimos la estructura de soporte del brazo, que adem\u00e1s nos servir\u00e1 para ocultar los componentes. Para construir la estructura utilizamos 2 bloques de madera fijos a la base, para tener el soporte para la pizarra, y un tercer bloque de madera m\u00f3vil, que es el que, con ayuda del servomotor, izar\u00e1 el brazo al acabar de escribir.<\/span><\/div>\n<div><span id=\"docs-internal-guid-4bb54f5e-9f92-7a8c-8d0f-fe3d2a886800\">Una vez terminada la estructura procedimos a pegar los servomotores en sus respectivas posiciones:<\/span><\/div>\n<div>\u00a0<\/div>\n<div>\n<ul>\n<li>El servomotor del izado lo unimos al bloque de madera m\u00f3vil mediante un hilo y un brazo del servomotor.<\/li>\n<li>Los dos servomotores restantes los pegamos a la parte superior del bloque de madera m\u00f3vil y tambi\u00e9n los unimos a sus respectivas partes del brazo.<\/li>\n<\/ul>\n<h2><span id=\"docs-internal-guid-4bb54f5e-9f92-7a8c-8d0f-fe3d2a886800\">Esquema Hardware<\/span><\/h2>\n<p>\u00a0<\/p>\n<div><a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2017\/04\/FotoProyecto-828x1024.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2017\/04\/FotoProyecto-828x1024.png\" width=\"258\" height=\"320\" border=\"0\" \/><\/a><\/div>\n<div>\n<div>Mejoras<\/div>\n<div>\u00a0<\/div>\n<ul>\n<li>Insertar un borrador para que elimine las operaciones tras realizarlas.<\/li>\n<li>Materiales de mejor calidad.\u00a0<\/li>\n<li>Un pegamento m\u00e1s persistente a la hora de pegar las piezas.\u00a0<\/li>\n<li>Precisi\u00f3n en los movimientos del brazo al levantarse.\u00a0<\/li>\n<li>Realizar operaciones m\u00e1s complejas.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div>\n<div dir=\"ltr\">\u00a0<\/div>\n<div dir=\"ltr\" style=\"text-align: left;\"><span id=\"docs-internal-guid-4bb54f5e-9f94-5f56-29ea-f64caef97b47\">Power Point: <a href=\"https:\/\/www.emaze.com\/@AQILTLRF\/sistemas-empotrados\">https:\/\/www.emaze.com\/@AQILTLRF\/sistemas-empotrados<\/a><\/span> <br \/><br \/><\/div>\n<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<\/div>\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video-container\"><iframe loading=\"lazy\" title=\"Proyecto arduino\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/fLmTvaqbcns?feature=oembed&#038;wmode=opaque\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;Key.h>\n#include &lt;Keypad.h>\n#include &lt;Servo.h>\n\n\/\/#define CALIBRACION\n#define SERVOFAKTOR 650\n\/* En modo de calibraci\u00f3n, ajuste los valores NULL para que los brazos de los servos esten en todo momento paralelos Ya sea al eje X o Y *\/\n#define SERVOLEFTNULL 1290\n#define SERVORIGHTNULL 620\n\n#define SERVOPINELEVADOR  2       \/\/  Pin 2 conexi\u00f3n del servo elevador \n#define SERVOPINIZQUIERDO  3      \/\/  Pin 3 conexi\u00f3n del servo izquierdo\n#define SERVOPINDERECHA 4         \/\/  Pin 4 conexi\u00f3n del servo derecho\n\n\/\/Pin de los servos:\n\/\/Marron = negativo\n\/\/Rojo = 5V\n\/\/Naranja = pin\n\n\n\/\/ definir posiciones del servo elevador\n#define LIFT0 1600  \/\/ en la superficie de dibujo\n#define LIFT1 10    \/\/ elevaci\u00f3n entre escritura de numeros\n\n\/\/ velocidad de brazo elevador, un n\u00famero mayor es m\u00e1s lento\n#define VELOCIDADELEVADOR 1500\n\n\/\/ longitud de los brazos\n#define L1 35\n#define L2 60\n#define L3 13.2\n\n\/\/ puntos de origen de servo izquierda y derecha\n#define O1X 22\n#define O1Y -25\n#define O2X 47\n#define O2Y -25\n\nint servoLift = 1500;\n\nServo servo1;  \nServo servo2;   \nServo servo3;    \n\nvolatile double lastX = 75;\nvolatile double lastY = 47.5;\n\nint last_min = 0;\n\nconst byte filas = 4;\nconst byte columnas = 4;\nbyte pinsFilas[filas] = {13, 12, 11, 10};\nbyte pinsColumnas[columnas] = {9, 8, 7, 6};\nchar operacion[4];\n\nint iniciox=0;\nint inicioy=25;\n\nchar teclas [filas] [columnas]= {\n  {'1','2','3','+'},\n  {'4','5','6','-'},\n  {'7','8','9','*'},\n  {'.','0','=','\/'}  \n};\n\nKeypad teclado = Keypad(makeKeymap(teclas), pinsFilas, pinsColumnas, filas, columnas);\nchar tecla;\n\nvoid setup() \n{ \n  drawTo(0,25);\n  lift(0);\n  servo1.attach(SERVOPINELEVADOR);    \/\/  servo elevador \n  servo2.attach(SERVOPINIZQUIERDO);   \/\/  servo izquierdo\n  servo3.attach(SERVOPINDERECHA);     \/\/  servo derecho\n  delay(1000);\n\n  Serial.begin(9600);\n} \n\nvoid loop() \n{ \n  \n#ifdef CALIBRACION\n\n\/\/ los brazos de los servos tendran 90 \u00b0 entre los movimientos, paralelo al eje X e Y\n  drawTo(-3, 28);\n  delay(500);\n  drawTo(74.1, 28);\n  delay(500);\n\n#else \n\n  if (!servo1.attached()) servo1.attach(SERVOPINELEVADOR);\n  if (!servo2.attached()) servo2.attach(SERVOPINIZQUIERDO);\n  if (!servo3.attached()) servo3.attach(SERVOPINDERECHA);\n  int i=0;\n  tecla = teclado.getKey();\n  while(i&lt;4){\n    if(tecla == NO_KEY){\n    }\n    else{\n      lift(0);\n      Serial.print(tecla);\n      operacion[i]=tecla;\n      int tecla2 = (int) tecla-48;\n      number(iniciox, inicioy, tecla2, 0.9);\n      iniciox=iniciox+10;\n      i++;\n    }\n    tecla = teclado.getKey();\n  }\n    if(i==4){\n      int a1 = (int) operacion[0]-48;\n      int a2 = (int) operacion[2]-48;\n      switch (operacion[1]) {\n        case '+':\n          if((a1+a2)&lt;10){\n            number(iniciox, inicioy, a1+a2, 0.9);\n          }\n          else{\n            int resultado = (a1+a2)\/10;\n            number(iniciox, inicioy, resultado, 0.9);\n            resultado = (a1+a2)%10;\n            iniciox=iniciox+10;\n            number(iniciox, inicioy, resultado, 0.9);\n          }\n          break;\n        case '-':\n          if((a1-a2)>=0){\n            number(iniciox, inicioy, a1-a2, 0.9);\n          }\n          else{\n            int resultado = abs(a1-a2);\n            number(iniciox, inicioy, -3, 0.9);\n            iniciox=iniciox+10;\n            number(iniciox, inicioy, resultado, 0.9);\n          }\n          break;\n        case '*':\n          if(a1*a2&lt;10){\n            number(iniciox, inicioy, a1*a2, 0.9);\n          }\n          else{\n            int resultado = a1*a2\/10;\n            number(iniciox, inicioy, resultado, 0.9);\n            resultado = a1*a2%10;\n            iniciox=iniciox+10;\n            number(iniciox, inicioy, resultado, 0.9);\n          }\n          break;\n        case '\/':\n          number(iniciox, inicioy, a1\/a2, 0.9);\n          break;\n      }\n      i=0;\n    }\n\n#endif\n} \n\n\/\/ El punto de partida es (bx,by). La escala 1 es igual a una fuente de 20 mm.\nvoid number(float bx, float by, int num, float scale) {\n\n  switch (num) {\n\n  case 0:\n      lift(1);\n      drawTo(bx + 12 * scale, by + 6 * scale);\n      lift(0);\n      bogenGZS(bx + 7 * scale, by + 10 * scale, 10 * scale, -0.8, 6.7, 0.5);\n      break;\n    \n  case 1:\n      lift(1);\n      drawTo(bx + 3 * scale, by + 15 * scale);\n      lift(0);\n      drawTo(bx + 10 * scale, by + 20 * scale);\n      drawTo(bx + 10 * scale, by + 0 * scale);\n      break;\n    \n  case 2:\n      lift(1);\n      drawTo(bx + 2 * scale, by + 13 * scale);\n      lift(0);\n      bogenUZS(bx + 8 * scale, by + 14 * scale, 6 * scale, 3, -0.8, 1);\n      drawTo(bx + 1 * scale, by + 0 * scale);\n      drawTo(bx + 12 * scale, by + 0 * scale);\n      break;\n    \n  case 3:\n      lift(1);\n      drawTo(bx + 2 * scale, by + 17 * scale);\n      lift(0);\n      bogenUZS(bx + 5 * scale, by + 15 * scale, 7 * scale, 3, -2, 1);\n      bogenUZS(bx + 5 * scale, by + 5 * scale, 7 * scale, 1.57, -3, 1);\n      break;\n    \n  case 4:\n      lift(1);\n      drawTo(bx+1*scale,by+20*scale);\n      lift(0);\n      drawTo(bx+1*scale,by+10*scale);\n      drawTo(bx+7*scale,by+10*scale);\n      drawTo(bx+7*scale,by+20*scale);\n      drawTo(bx+7*scale,by+0*scale);\n      break;\n    \n  case 5:\n      lift(1);\n      drawTo(bx + 2 * scale, by + 5 * scale);\n      lift(0);\n      bogenGZS(bx + 5 * scale, by + 6 * scale, 6 * scale, -2.5, 2, 1);\n      drawTo(bx + 5 * scale, by + 20 * scale);\n      drawTo(bx + 12 * scale, by + 20 * scale);\n      break;\n    \n  case 6:\n      lift(1);\n      drawTo(bx + 2 * scale, by + 10 * scale);\n      lift(0);\n      bogenUZS(bx + 7 * scale, by + 6 * scale, 7 * scale, 2, -4.4, 1);\n      drawTo(bx + 11 * scale, by + 20 * scale);\n      break;\n    \n  case 7:\n      lift(1);\n      drawTo(bx + 0 * scale, by + 20 * scale);\n      lift(0);\n      drawTo(bx + 13 * scale, by + 20 * scale);\n      drawTo(bx + 0 * scale, by + 0);\n      break;\n    \n  case 8:\n      lift(1);\n      drawTo(bx + 5 * scale, by + 10 * scale);\n      lift(0);\n      bogenUZS(bx + 5 * scale, by + 15 * scale, 5 * scale, 4.7, -1.6, 1);\n      bogenGZS(bx + 5 * scale, by + 5 * scale, 5 * scale, -4.7, 2, 1);\n      break;\n\n  case 9:\n      lift(1);\n      drawTo(bx + 9 * scale, by + 11 * scale);\n      lift(0);\n      bogenUZS(bx + 7 * scale, by + 15 * scale, 8 * scale, 4, -0.5, 1);\n      drawTo(bx + 5 * scale, by + 0);\n      break;\n\n  case -1:  \/\/ Divisi\u00f3n\n      lift(1);\n      drawTo(bx+10*scale, by+20* scale);\n      lift(0);\n      drawTo(bx, by);\n      break;\n  \n  case -3:  \/\/ Resta\n      lift(1);\n      drawTo(bx+1*scale, by+10*scale);\n      lift(0);\n      drawTo(bx + 11 * scale, by + 10 * scale);\n      break;\n    \n  case -5:  \/\/ Suma\n      lift(1);\n      drawTo(bx+1*scale, by+10*scale);\n      lift(0);\n      drawTo(bx + 11 * scale, by + 10 * scale);\n      lift(1);\n      drawTo(bx+5*scale, by+15*scale);\n      lift(0);\n      drawTo(bx + 5 * scale, by + 5 * scale);\n      break;\n      \n  case -6:  \/\/ Multiplicaci\u00f3n\n      lift(1);\n      drawTo(bx+5* scale, by+10*scale);\n      lift(0);\n      bogenGZS(bx + 7 * scale, by + 15 * scale, 8 * scale, 4, -0.5, 1);\n      break;\n      \n  case 13:  \/\/ Igual\n      lift(1);\n      drawTo(bx+1*scale, by+13*scale);\n      lift(0);\n      drawTo(bx + 11 * scale, by+13*scale);\n      lift(1);\n      drawTo(bx+1*scale, by+7*scale);\n      lift(0);\n      drawTo(bx + 11 * scale, by+7*scale);\n      break;\n  }\n}\n\n\n\nvoid lift(char lift) {\n  switch (lift) {\n\n  case 0:\n      if (servoLift >= LIFT0) {\n      while (servoLift >= LIFT0) \n      {\n        servoLift--;\n        servo1.writeMicroseconds(servoLift);        \n        delayMicroseconds(VELOCIDADELEVADOR);\n      }\n    } \n    else {\n      while (servoLift &lt;= LIFT0) {\n        servoLift++;\n        servo1.writeMicroseconds(servoLift);\n        delayMicroseconds(VELOCIDADELEVADOR);\n      }\n    }\n    break;\n\n  case 1: \n    if (servoLift >= LIFT1) {\n      while (servoLift >= LIFT1) {\n        servoLift--;\n        servo1.writeMicroseconds(servoLift);\n        delayMicroseconds(VELOCIDADELEVADOR);\n      }\n    } \n    else {\n      while (servoLift &lt;= LIFT1) {\n        servoLift++;\n        servo1.writeMicroseconds(servoLift);\n        delayMicroseconds(VELOCIDADELEVADOR);\n      }\n    }\n    break;\n  }\n}\n\n\nvoid bogenUZS(float bx, float by, float radius, int start, int ende, float sqee) {\n  float inkr = -0.05;\n  float count = 0;\n\n  do {\n    drawTo(sqee * radius * cos(start + count) + bx,\n    radius * sin(start + count) + by);\n    count += inkr;\n  } \n  while ((start + count) > ende);\n\n}\n\nvoid bogenGZS(float bx, float by, float radius, int start, int ende, float sqee) {\n  float inkr = 0.05;\n  float count = 0;\n\n  do {\n    drawTo(sqee * radius * cos(start + count) + bx,\n    radius * sin(start + count) + by);\n    count += inkr;\n  } \n  while ((start + count) &lt;= ende);\n}\n\n\nvoid drawTo(double pX, double pY) {\n  double dx, dy, c;\n  int i;\n\n  dx = pX - lastX;\n  dy = pY - lastY;\n  c = floor(4 * sqrt(dx * dx + dy * dy));\n\n  if (c &lt; 1) c = 1;\n\n  for (i = 0; i &lt;= c; i++) {\n    set_XY(lastX + (i * dx \/ c), lastY + (i * dy \/ c));\n\n  }\n\n  lastX = pX;\n  lastY = pY;\n}\n\ndouble return_angle(double a, double b, double c) {\n  return acos((a * a + c * c - b * b) \/ (2 * a * c));\n}\n\nvoid set_XY(double Tx, double Ty) \n{\n  delay(1);\n  double dx, dy, c, a1, a2, Hx, Hy;\n  \n  dx = Tx - O1X;\n  dy = Ty - O1Y;\n\n  c = sqrt(dx * dx + dy * dy); \n  a1 = atan2(dy, dx); \n  a2 = return_angle(L1, L2, c);\n\n  servo2.writeMicroseconds(floor(((a2 + a1 - M_PI) * SERVOFAKTOR) + SERVOLEFTNULL));\n\n  a2 = return_angle(L2, L1, c);\n  Hx = Tx + L3 * cos((a1 - a2 + 0.621) + M_PI);\n  Hy = Ty + L3 * sin((a1 - a2 + 0.621) + M_PI);\n\n  dx = Hx - O2X;\n  dy = Hy - O2Y;\n\n  c = sqrt(dx * dx + dy * dy);\n  a1 = atan2(dy, dx);\n  a2 = return_angle(L1, (L2 - L3), c);\n\n  servo3.writeMicroseconds(floor(((a1 - a2) * SERVOFAKTOR) + SERVORIGHTNULL));\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>CALCULINO \u00a0 Introducci\u00f3n Nuestra idea para el proyecto se centra en el desarrollo de un brazo rob\u00f3tico que escriba las operaciones que introduzcamos mediante un teclado, el mismo programa calcula el resultado de la&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1148,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[17],"class_list":["post-119","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyectos","tag-seytr_gii_mostoles_2016-17"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Calculadora pizarra - Proyectos con Arduino.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculadora pizarra - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"CALCULINO \u00a0 Introducci\u00f3n Nuestra idea para el proyecto se centra en el desarrollo de un brazo rob\u00f3tico que escriba las operaciones que introduzcamos mediante un teclado, el mismo programa calcula el resultado de la&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-26T08:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-04T18:03:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2017\/04\/Portada.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1066\" \/>\n\t<meta property=\"og:image:height\" content=\"1600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Administrador de la red\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Administrador de la red\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/\"},\"author\":{\"name\":\"Administrador de la red\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/bdc38fea664f13638d2a51f4d2fc7211\"},\"headline\":\"Calculadora pizarra\",\"datePublished\":\"2017-04-26T08:30:00+00:00\",\"dateModified\":\"2019-05-04T18:03:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/\"},\"wordCount\":530,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2017\\\/04\\\/Portada.jpg\",\"keywords\":[\"SEyTR_GII_Mostoles_2016-17\"],\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/\",\"name\":\"Calculadora pizarra - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2017\\\/04\\\/Portada.jpg\",\"datePublished\":\"2017-04-26T08:30:00+00:00\",\"dateModified\":\"2019-05-04T18:03:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2017\\\/04\\\/Portada.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2017\\\/04\\\/Portada.jpg\",\"width\":1066,\"height\":1600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/calculadora-pizarra\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculadora pizarra\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\",\"name\":\"Proyectos con Arduino.\",\"description\":\"Blog de proyectos de Arduino de alumnos de la URJC\",\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\",\"name\":\"Universidad Rey Juan Carlos\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/logourjc-1.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/logourjc-1.jpg\",\"width\":745,\"height\":288,\"caption\":\"Universidad Rey Juan Carlos\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/bdc38fea664f13638d2a51f4d2fc7211\",\"name\":\"Administrador de la red\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g\",\"caption\":\"Administrador de la red\"},\"sameAs\":[\"https:\\\/\\\/blogs.etsii.urjc.es\"],\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/etsiiadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculadora pizarra - Proyectos con Arduino.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/","og_locale":"es_ES","og_type":"article","og_title":"Calculadora pizarra - Proyectos con Arduino.","og_description":"CALCULINO \u00a0 Introducci\u00f3n Nuestra idea para el proyecto se centra en el desarrollo de un brazo rob\u00f3tico que escriba las operaciones que introduzcamos mediante un teclado, el mismo programa calcula el resultado de la&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2017-04-26T08:30:00+00:00","article_modified_time":"2019-05-04T18:03:35+00:00","og_image":[{"width":1066,"height":1600,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2017\/04\/Portada.jpg","type":"image\/jpeg"}],"author":"Administrador de la red","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Administrador de la red","Tiempo de lectura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/"},"author":{"name":"Administrador de la red","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/bdc38fea664f13638d2a51f4d2fc7211"},"headline":"Calculadora pizarra","datePublished":"2017-04-26T08:30:00+00:00","dateModified":"2019-05-04T18:03:35+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/"},"wordCount":530,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2017\/04\/Portada.jpg","keywords":["SEyTR_GII_Mostoles_2016-17"],"articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/","name":"Calculadora pizarra - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2017\/04\/Portada.jpg","datePublished":"2017-04-26T08:30:00+00:00","dateModified":"2019-05-04T18:03:35+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2017\/04\/Portada.jpg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2017\/04\/Portada.jpg","width":1066,"height":1600},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/calculadora-pizarra\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Calculadora pizarra"}]},{"@type":"WebSite","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/","name":"Proyectos con Arduino.","description":"Blog de proyectos de Arduino de alumnos de la URJC","publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization","name":"Universidad Rey Juan Carlos","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/logo\/image\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/logourjc-1.jpg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/logourjc-1.jpg","width":745,"height":288,"caption":"Universidad Rey Juan Carlos"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/bdc38fea664f13638d2a51f4d2fc7211","name":"Administrador de la red","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g","caption":"Administrador de la red"},"sameAs":["https:\/\/blogs.etsii.urjc.es"],"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/etsiiadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=119"}],"version-history":[{"count":2,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":2112,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/119\/revisions\/2112"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media\/1148"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}