bitblokepic

Programar no debería ser complicado, eso desean los que viven en estos tiempos, pero no nos toca a nosotros decidir qué tiempo vivir, sólo podemos elegir qué hacer con el tiempo que se nos ha dado, por eso, bitbloq

Ya ha pasado un año de la puesta en marcha de bitbloq. Hemos tenido la suerte de contar con miles de usuarios y cientos de visitas diarias. Hemos dado talleres para niños, formación al profesorado, muchas empresas de educación tecnológica lo han utilizado en sus actividades… todos habéis sabido apreciar el gran valor pedagógico de esta herramienta, pero también habéis sido muy exigentes, informándonos prontamente de los errores y haciendo decenas de sugerencias para hacerlo mejor todavía.

El resultado de todo este año con bitbloq es bitbloq 2: aún más intuitivo, orientado a la programación de hardware, más flexible y más fiable. Con el lanzamiento de la versión beta queremos agradecer a todos nuestros usuarios y animar a los que todavía no lo sois, ahora con más razón todavía, ¡atrévete a programar el mundo!

Esperamos además que sigáis siendo igual de exigentes, y que en la fase beta más que nunca nos digáis todo aquello que cambiaríais, qué pensáis que se puede hacer mejor, que lo probéis y busquéis los errores. Tenemos que estar listos para el inicio de curso, bitbloq 2 tiene que ser la herramienta con la que los niños se apasionen por la programación.

Más estable

bitbloq 2 incluye la nueva extensión Web2Board, que sustituye a la Chrome App bitbloq serial uploader, éstas son las nuevas características que incorpora:

  • Compilación local. Ya no sufrirás una mala conexión a internet, todos tus programas se compilarán en tu propio ordenador, esto permitirá que la compilación y carga del programa en la placa controladora sea aún más rápida y fiable.
  • Detección automática del puerto. Web2Board detecta automáticamente a qué puerto tienes conectada la placa controladora. Tú pulsas en cargar el proyecto y Web2Board se encarga de lo demás.
  • Monitor serie Gracias a Web2Board bitbloq 2 finalmente tiene monitor serie. Era una de las características más solicitadas, ahora podrás monitorizar tus comunicaciones serie desde bitbloq. Pero eso no es todo, bitbloq 2 está preparado para poder añadir otros visores más especializados, que te muestren la información serie de un modo más adaptado, por ejemplo usando gráficas para mostrar las lecturas analógicas y mucho más.

Adaptado a la programación de placas controladoras

bitbloq estaba inspirado en MIT Scratch, y por tanto centrado en la programación. Nos hemos dado cuenta de que la programación de las placas controladoras difiere de la programación de video juegos, ya que programas una placa particular, con una serie de periféricos conectados. ¿Qué sentido tiene que en el menú de bloques te aparezcan decenas de componentes si tú sólo has conectado un LED?, ¿de qué sirve repetir una y otra vez a qué pin está conectado el LED si ya se lo has dicho una vez? Por eso en bitbloq 2 emulamos lo que haces en la realidad.

  1. Primero, sacas la placa controladora del cajón, por lo tanto, el primer paso al crear un proyecto en bitbloq 2 será escoger qué placa tienes.
  2. Segundo, conectas los componentes que vas a usar al pin que quieras y les pones nombre, porque el servo derecho no es igual que el servo izquierdo.
  3. Tercero, haces las tareas de inicialización que necesites, por ejemplo parar los servos. Fíjate bien, en el menú de la derecha sólo aparece lo que has conectado.
  4. Cuarto, a programar.. Programa el bucle principal, que se repetirá una y otra vez para realizar las tareas que deseas.
Elige tu placa controladora

1. Elige tu placa controladora

Conecta los componentes y ponles nombre

2. Conecta los componentes y ponles nombre

Al empezar, paramos los servos

3. Al empezar, paramos los servos

Programa el bucle principal

4. Programa el bucle principal

Y si eres un experto programador y quieres seguir programando a tu aire, siempre tienes las funciones avanzadas que te dejan acceder directamente a los pines, fíjate en el menú de la derecha.

Opciones avanzadas de programación

Opciones avanzadas de programación

No olvides mandarnos tus sugerencias desde el menú de Ayuda. Aquí tienes el curso que iremos completando poco a poco, ¡a programar!. Que los bloques te acompañen.

Si no puedes esperar a hacer el curso y quieres el enlace ya, aquí está http://beta-bitbloq.bq.com.

El equipo

Este proyecto ha sido posible gracias a un gran equipo de trabajo, que además de ser técnicamente muy buenos, les encanta lo que hacen, te los presentamos.

Sergio_Morcuende Tomas_Calvo Luis_Antonio_Gonzalez Laura_del_Rio
Sergio Tom Luis Antonio Laura
Jose_Luis_Gonzalez Javi Irene_Sanz Diego_Segura Julian_Caro
José Luis Javi Irene Diego Julián


Si tiene usted algún problema y se los encuentra quizás pueda contratarlos… ¡el equipo bitbloq!.

22 comentarios

  1. INCREIBLE…!!!…muy buen trabajo….es espectacular…!!!

  2. Cuando dejara de funcionar el antiguo bitbloq?

    1. Alberto Valero

      Hola,

      bitbloq 1 se mantendrá al menos durante el curso académico 2015/2016. Sin embargo ya no se añadirán nuevas funcionalidades.

  3. Despues de unos minutos de prueba, o sea muy poco, he de decir que me gustaba mas la interface antigua, con las pieza de puzle de colores que a los niños les ayuda a distinguir mejor las distintas funcionalidades de cada una. Esta la veo mas elegante, pero menos visual. Ya digo que la he probado unos minutos nada mas. En algunas piezas al utilizar el color de la letra demasiado brillante no se lee bien en pantallas pequeñas.

    1. Hola,

      Gracias por tus comentarios, como bitbloq está aún en versión beta seguramente habrá cambios antes de la versión estable, y en ella tendremos en cuenta estos y otros comentarios que nos vayan llegando.

      Muchas gracias

  4. Estoy de acuerdo con Javier. La seccion de hardware esta muy muy elegante y visualmente la veo mejor para los chavales, pero en la seccion de software tiraria mas por la interfaz del antiguo bitbloq que son bloques en columnas. Pero lo mismo, quizas es por que estemos acostumbrados al antiguo… seguiremos probando.

    saludos

  5. Hoy he tratado de pasar un proyecto de Bitbloq a Bitbloq2 y me ha resultado imposible hacerlo. A parte de resultar me bastante mas engorroso el manejo de las piezas, algunas, o no están del todo operativas o no existen. Por ejemplo las de texto, no he podido concatenar texto, además como no están todavía documentadas igual es que no se como funcionan… Espero que vayáis mejorando todos los aspectos, porque el anterior me parecía muy potente y fácil de aprender.

    1. Gracias por tus comentarios Javier,

      Estamos ya trabajando en los cursos donde esperamos que todo quede bien explicado. En cualquier caso, es todavía una versión en desarrollo y todas esas cosas que echas en falta o no encuentras las iremos arreglando, mientras que no esté perfecto seguiremos recomendando como versión estable la versión actual que se encuentra en bitbloq.bq.com

      Cualquier otra cosa que vayas viendo no dudes en decírnoslo ya que nos ayudará enormemente a mejorar.

      Gracias

  6. Hola!

    La nueva versión está chulísima. Una pregunta: no soy capaz de añadir una variable de tipo array de enteros (solamente veo float y boolean) ¿dónde está?

    Muchas gracias,

    Fernando

    1. Ah, ok, ya está. Hay un control para escribir código directamente. en la sección Código de la barra de la derecha. Muchas Gracias

    2. Alberto Valero

      Hola,

      En la sección de variables puedes ir a “avanzados” (en la parte inferior), ahí podrás hacer un array de enteros.

    1. Pablo Lozano

      Hola Carlos,

      ¿Podrías adjuntar una captura de pantalla donde se visualice el problema a nuestros compañeros de soporte a través de support-bitbloq@bq.com para que te puedan ayudar?

      Muchas gracias y disculpa las molestias.

      Un saludo.

    2. Pablo Lozano

      Hola Carlos,

      Puede ser que estuvieras usando el bloque de espera básico.
      Te informamos de que debería funcionar si escoges el bloque esperar dentro de la pestaña Control -> Avanzados .

      Disculpa las molestias.

      Un saludo.

  7. tendriaís que poner un poco mas de informacion. Bueno no mas informacion sino palabras mas simples, los niños alomejor no entienden mucho lo que se explica. Aunque esta muy bien explicado, saludos, el sobrino de Rodrigo del Prado.

     

    1. SGracia

      Muchas gracias por tu reporte, lo tendremos en cuenta para futuros artículos 😉

  8. Disponemos de 4 robots de BQ. Tienen un problema: los servos no tienen igual velocidad y no giran correctamente en linea recta. Para programar que vayan por un laberinto, chocan contra las paredes. Pasando el código a Arduino intenté bajar la velocidad del servo dch. Poniendo en vez de 180, 170, 160,… y no reduce la velocidad. Encontré una función map y con el siguiente código, conseguí ajustar para que vayan en linea recta
    void loop() {
    int val = map(685, 0, 1023, 0, 179);
    servo_dch.write(val);
    servo_izq.write(0);
    delay(10);
    }
    No habría la posibilidad de crear un bloque para implementar esta función y poder reducir la velocidad de un servo desde bitbloq?
    Os envío un video de como se mueve un robot sin esta función
    https://www.youtube.com/watch?v=CmZmdheZk0U

    1. Julián Caro

      Buenos dias Luis, no podemos visualizar tu vídeo, sale como que ha sido eliminado.

      Es normal, y es un problema común, que en todos los robots diferenciales (robots con ruedas independientes) los robots tiendan a torcerse ya que un servo tiene más velocidad que otro. Para evitar este tipo de comportamiento y conseguir un movimiento rectilíneo sin errores normalmente se recurre a motores con control de posición mediante encoders u otros, o mediciones de intensidad para alimentar motores DC con el mismo amperaje.

      En el caso de tu laberinto, la solución más razonable pasaría por tener algún tipo de sensor que te permita detectar cuando te aproximas demasiado a una pared o te alejas de ella para corregir la trayectoria. Te reocmiendo el uso del sensor de ultrasonidos en un lateral del robot, asi podrás resolver el laberinto mediante el método de seguimiento de una pared.

      Tu solución está muy bien, normalmente los servomotores incluidos en el kit tienen una velocidad ya bastante lenta, por lo que no merece la pena bajarles la velocidad, puedes sincronizar las velocidades lo máximo posible bajando, como has hecho, la velocidad de uno de los servomotores, sin embargo dicha velocidad dependerá de factores como la calibración que realices del servomotor, y el estado de las baterias, por lo que los servomotores de rotación continua no están pensados para ser regulados en velocidad. Aún así puedes modificar su velocidad poniendoles un valor de entre 60 a 120 grados. Donde de 60 a 90 regularas en un sentido, y de 90 a 120 en el otro, por encima o debajo de esos valores será equivalente a 0 y 180 grados.

      Puedes ya reducir la velocidad de un servo directamente en Bitbloq, para ello lo único que tienes que hacer es conectar el servo de rotación continua como si fuera un miniservo y utilizar el bloque:

      servoreduccion

      En él puedes introducir los grados del servomotor directamente pra reducirlo por velocidad.

      Un saludo

  9. Buenas!

    Con Bitbloq 1 el web2board era una simple extensión de Chrome, ahora és una mini app de Linux/OSX/Windows. Como puedo usar Bitbloq2 en entornos ChromeOS? Se puede instalar el web2board de alguna forma?

    Muchas gracias!

    1. Enrique Heredia

      Hola,
      Por ahora no se puede usar Bitbloq2 en entornos ChromeOS, desde el equipo de Bitbloq están trabajando para tenerlo cuanto antes.
      Un saludo

Los comentarios están cerrados.