{"id":164,"date":"2016-03-19T19:02:19","date_gmt":"2016-03-19T18:02:19","guid":{"rendered":"http:\/\/lab.fawno.com\/?p=164"},"modified":"2022-03-07T01:31:17","modified_gmt":"2022-03-07T00:31:17","slug":"","status":"publish","type":"post","link":"https:\/\/lab.fawno.org.es\/en\/2016\/03\/19\/bitbloq-programar-arduino-de-forma-visual\/","title":{"rendered":"","raw":""},"content":{"rendered":"","protected":false,"raw":""},"excerpt":{"rendered":"","protected":false,"raw":""},"author":1,"featured_media":160,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_es_post_content":"<!-- wp:paragraph -->\n<p>Os <a href=\"https:\/\/lab.fawno.org.es\/2016\/03\/18\/mis-arduinos\/\">comentaba ayer<\/a> que de los muchos entornos de programaci\u00f3n que he visto para Arduino uno que me hab\u00eda gustado mucho para los legos era <a href=\"https:\/\/bitbloq.bq.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">BitBloq<\/a>, de BQ.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Bien, no voy a contar todo porque para eso ya est\u00e1 <a href=\"https:\/\/diwo.bq.com\/antes-de-empezar-con-bitbloq-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">DIWO<\/a> y el soporte de BQ. Contar\u00e9 lo que BQ no os va a contar pero que es precisamente lo que hace tan genial su entorno.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Lo primero a tener en cuenta es que BitBloq s\u00f3lo funciona con Chrome. Lo segundo es que necesitamos instalar Web2Board, que en esencia es el programa que realmente compilar\u00e1 nuestros proyectos y los enviar\u00e1 a nuestro Arduino.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Lo segundo a tener en cuenta es que no todos los Arduinos son compatibles, en principio todas las placas clones de Arduino UNO funcionar\u00e1n sin problemas. Oficialmente est\u00e1n soportadas tres placas: bq ZUM, Freaduino UNO y Arduino UNO.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"id\":160} -->\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa.png\" rel=\"attachment wp-att-160 noopener noreferrer\"><img src=\"https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa-300x246.png\" alt=\"BitBloq - Selecci\u00f3n de placa\" class=\"wp-image-160\"\/><\/a><figcaption>BitBloq - Selecci\u00f3n de placa<\/figcaption><\/figure><\/div>\n<!-- \/wp:image -->\n\n<!-- wp:paragraph -->\n<p>Lo m\u00e1s importante es que nuestra placa sea compatible con Arduino UNO y tenga un ATmega 328, y lo realmente importante es esto \u00faltimo, el modelo de microcontrolador. Como os coment\u00e9 es posible utilizar BitBloq con un Arduino Nano, pero del Nano hay dos versiones, una con el ATmega 168 y otra con el 328... as\u00ed que tenerlo presente.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Si nuestra placa no es una <a href=\"https:\/\/www.bq.com\/es\/placa-zum-core\" target=\"_blank\" rel=\"noopener noreferrer\">bq ZUM<\/a> no hay problema, seleccionamos una de las otras dos. \u00bfCualquiera?, si, la \u00fanica diferencia entre seleccionar la Freaduino UNO o la Arduino UNO es la apariencia... como el mismo entorno nos gu\u00eda visualmente en la conexi\u00f3n de los componentes pues lo recomendable es utilizar la m\u00e1s parecida.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"id\":161} -->\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/2-BitBloq-Conexi\u00f3n-de-componentes.png\" rel=\"attachment wp-att-161 noopener noreferrer\"><img src=\"https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/2-BitBloq-Conexi\u00f3n-de-componentes-300x275.png\" alt=\"BitBloq - Conexi\u00f3n de componentes\" class=\"wp-image-161\"\/><\/a><figcaption>BitBloq - Conexi\u00f3n de componentes<\/figcaption><\/figure><\/div>\n<!-- \/wp:image -->\n\n<!-- wp:paragraph -->\n<p>La programaci\u00f3n se hace en un entorno derivado de <a href=\"https:\/\/scratch.mit.edu\/\" target=\"_blank\" rel=\"noopener noreferrer\">Scratch<\/a>, lo que es una idea genial, y aunque est\u00e1 llevada a cabo con mucha elegancia una vez m\u00e1s no es una idea original, aunque no le quita m\u00e9rito.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"id\":162} -->\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/3-BitBloq-Programaci\u00f3n.png\" rel=\"attachment wp-att-162 noopener noreferrer\"><img src=\"https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/3-BitBloq-Programaci\u00f3n-300x275.png\" alt=\"BitBloq - Programaci\u00f3n\" class=\"wp-image-162\"\/><\/a><figcaption>BitBloq - Programaci\u00f3n<\/figcaption><\/figure><\/div>\n<!-- \/wp:image -->\n\n<!-- wp:paragraph -->\n<p>Para mi es muy importante que se pueda ver el c\u00f3digo generado, hace que resulte m\u00e1s sencillo aprender a manejarse directamente con el c\u00f3digo en lugar de con los bloques tipo Scratch. Simplemente llegar\u00e1 un momento en que ser\u00e1 m\u00e1s f\u00e1cil programar en c\u00f3digo que mediante los entornos gr\u00e1ficos...<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"id\":163} -->\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/4-BitBloq-Vista-de-c\u00f3digo.png\" rel=\"attachment wp-att-163 noopener noreferrer\"><img src=\"https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/4-BitBloq-Vista-de-c\u00f3digo-300x275.png\" alt=\"BitBloq - Vista de c\u00f3digo\" class=\"wp-image-163\"\/><\/a><figcaption>BitBloq - Vista de c\u00f3digo<\/figcaption><\/figure><\/div>\n<!-- \/wp:image -->\n\n<!-- wp:paragraph -->\n<p>Bueno, esto ser\u00eda todo lo que tengo que decir de BitBloq sino fuera porque aunque es compatible con Arduino Nano (ATmega 328) no lo es directamente por un peque\u00f1o detalle: la velocidad del puerto serie.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Nuestros queridos Arduinos se programan con un puerto serie, es un puerto USB que el ordenador ve como uno de los m\u00e1s que venerables puertos series. \u00bfPor qu\u00e9?, pues muy sencillo para comunicar dos dispositivos mediante puerto serie s\u00f3lo se necesitan tres \"hilos\":<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>GND: Masa, tierra, 0V.<\/li><li>TX: Env\u00edo de datos<\/li><li>RX: Recepci\u00f3n de datos<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Y s\u00f3lo hay que ponerse de acuerdo en la velocidad a la que vamos a hablar... y aqu\u00ed est\u00e1 el \"problema\". Tanto el Arduino UNO como sus clones Freaduino UNO, Funduino UNO y otros&nbsp;se&nbsp;comunican a&nbsp;115200 baudios (bits por segundo para entendernos, pero es una respuesta simple). Sin embargo el Nano se comunica a 57600 baudios. Si conectamos un Nano y a BitBloq le decimos que es un Freaduino UNO o un Arduino UNO, a la hora de subir nuestro programa a la placa el Web2Board intentar\u00e1 comunicarse a 115200 baudios, pero el Nano escucha a 57600 y no entender\u00e1 ni papa.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>La soluci\u00f3n pasa por modificar un archivo de Web2Board llamado boards.txt, que es d\u00f3nde est\u00e1n registrados los distintos modelos de placas Arduino y sus velocidades de comunicaci\u00f3n. Se trata de una copia del archivo original contenido en el <a href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\" target=\"_blank\" rel=\"noopener noreferrer\">IDE oficial<\/a>, por lo que vienen las placas soportadas por el IDE oficial con sus denominaciones oficiales. Lo que hay que hacer es abrir el fichero boards.txt (\"c:\\Program Files (x86)\\Web2board\\src\\res\\boards.txt\" o&nbsp;\"c:\\Program Files\\Web2board\\src\\res\\boards.txt\") y cambiar la siguiente l\u00ednea:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:enlighter\/codeblock {\"language\":\"ini\",\"theme\":\"dracula\"} -->\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"ini\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">uno.upload.speed=115200<\/pre>\n<!-- \/wp:enlighter\/codeblock -->\n\n<!-- wp:paragraph -->\n<p>Por<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:enlighter\/codeblock {\"language\":\"ini\",\"theme\":\"dracula\"} -->\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"ini\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">uno.upload.speed=57600<\/pre>\n<!-- \/wp:enlighter\/codeblock -->\n\n<!-- wp:paragraph -->\n<p>De esta manera el Web2Board se comunicar\u00e1 con las placas compatibles con Arduino UNO a 57600 baudios y nuestro Nano ya ser\u00e1 capaz de entenderse con el BitBloq. La pega es que si tienes una placa Arduino UNO o compatible (como mi Funduino) pues o eliges con cual de las dos trabajar\u00e1s con BitBloq o tendr\u00e1s que cambiar el archivo boards.txt seg\u00fan la placa con la que se vaya a trabajar.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Siempre puedes dar un salto hacia adelante y aprender a programar directamente en c\u00f3digo y utilizar el IDE oficial, que dicho sea de paso es la opci\u00f3n con la que me he quedado yo, ya que siendo programador&nbsp;era la opci\u00f3n m\u00e1s l\u00f3gica.<\/p>\n<!-- \/wp:paragraph -->","_es_post_name":"bitbloq-programar-arduino-de-forma-visual","_es_post_excerpt":"","_es_post_title":"BitBloq: Programar Arduino de forma visual","_en_post_content":"","_en_post_name":"","_en_post_excerpt":"","_en_post_title":"","edit_language":"en","footnotes":""},"categories":[19,32],"tags":[20,29],"class_list":["post-164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-software","tag-arduino","tag-software"],"ninja_gutenberg_blocks_featured_media_urls":{"thumbnail":["https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa-150x150.png",150,150,true],"ninja_gutenberg_blocks_landscape_large":["https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa.png",797,654,false],"ninja_gutenberg_blocks_portrait_large":["https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa.png",797,654,false],"ninja_gutenberg_blocks_square_large":["https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa.png",797,654,false],"ninja_gutenberg_blocks_landscape":["https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa.png",487,400,false],"ninja_gutenberg_blocks_portrait":["https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa.png",600,492,false],"ninja_gutenberg_blocks_square":["https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa.png",600,492,false],"full":["https:\/\/lab.fawno.org.es\/wp-content\/uploads\/2016\/03\/1-BitBloq-Selecci\u00f3n-de-placa.png",797,654,false]},"_links":{"self":[{"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/posts\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":11,"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":1859,"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/posts\/164\/revisions\/1859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/media\/160"}],"wp:attachment":[{"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lab.fawno.org.es\/en\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}