Hola!
Estoy probando mBlock para programar una placa arduino UNO.
Quería incorporar nuevas librerías para poder controlar dispositivos como una LCD 16x02. Es posible? Cómo?
Gracias!!!

Hola! Estoy probando mBlock para programar una placa arduino UNO. Quería incorporar nuevas librerías para poder controlar dispositivos como una LCD 16x02. Es posible? Cómo? Gracias!!!
editado 5 May '16 a las 11:47 am

Si, exacto!
Es posible descargar nuevos bloques o crearlos?
Por ejemplo, cuando uso el IDE de arduino para programar la placa UNO, utilizo la librería LiquidCrystal.h para controlar un LCD de 16x02. Como podría hacerlo con mBlock?
He utilizado mBlock para programar el mBot y me gustaría usarlo también con la placa UNO.
Un saludo y gracias por tu respuesta!

Si, exacto! Es posible descargar nuevos bloques o crearlos? Por ejemplo, cuando uso el IDE de arduino para programar la placa UNO, utilizo la librería LiquidCrystal.h para controlar un LCD de 16x02. Como podría hacerlo con mBlock? He utilizado mBlock para programar el mBot y me gustaría usarlo también con la placa UNO. Un saludo y gracias por tu respuesta!

Se puede hacer pero no es nada sencillo y hay que enredar algo en las extensiones de mBlock.

Vete a la carpeta donde tengas instalado el mBlock
Y dentro de ésta al directorio /ext/libraries/arduino

Añade nuevos bloques
Edita el archivo Arduino.s2e y verás las especificaciones de bloques.

Creando un bloque de ejemplo llamado Comentario
He creado un bloque de ejemplo para que veas como se haría. El bloque de ejemplo hace lo siguiente:

  • incluye una nueva librería en la cabecera del programa
  • añade un comentario con el texto que le pases en Scratch a la sección Setup y Loop
  • Hace una llamada a una función de la nueva librería
["w", "Comentario%n","","Comentario",
{"encode":"{s0}","setup":"","inc":"#include <nueva_libreria.h>","def":"","work":"//{0} en setup;\n","loop":"//{0} en loop;\n nueva_libreria();"}],

OJO con la sintaxis en JSON, respeta la coma final.

Este bloque lo puedes añadir por ejemplo después del bloque de read Analog Pin quedando así:

["R", "read analog pin (A)%n","getAnalog","0",
{"encode":"{d0}","setup":"pinMode(A0+{0},INPUT);\n","inc":"","def":"","work":"analogRead(A0+{0})","loop":""}],


["w", "Comentario%n","","Comentario",
{"encode":"{s0}","setup":"","inc":"#include <nueva_libreria.h>","def":"","work":"//{0} en setup;\n","loop":"//{0} en loop;\n nueva_libreria();"}],

...

Si te fijas en cómo están construidos los demás bloques tanto de Arduino como de mBot podrás ver para que sirve cada parámetro

Resultado

572b238373e18.png

Cosas a tener en cuenta a la hora de probarlo!!

Lo he cambiado y en el Sratch no aparece el bloque

Eso es porque mBlock crea una copia de los directios más importantes dentro de tu sistema por ejemplo en Windows 7 la crea en:

[Usuario]/AppData/Roaming/com.makeblock.mBlock.v3.3.0

  • Cierra el mBlock
  • Elimina esa carpeta cada vez que modifiques el mBlock
  • Abre nuevamente el mBlock

No veo los bloques de Arduino, sólo los de mBot
Activa la extensión de Arduino desde el menú "extensiones"

Suerte !

Se puede hacer pero no es nada sencillo y hay que enredar algo en las extensiones de mBlock. **Vete a la carpeta donde tengas instalado el mBlock** Y dentro de ésta al directorio /ext/libraries/arduino **Añade nuevos bloques** Edita el archivo Arduino.s2e y verás las especificaciones de bloques. ** Creando un bloque de ejemplo llamado _Comentario_** He creado un bloque de ejemplo para que veas como se haría. El bloque de ejemplo hace lo siguiente: - incluye una nueva librería en la cabecera del programa - añade un comentario con el texto que le pases en Scratch a la sección Setup y Loop - Hace una llamada a una función de la nueva librería ```` ["w", "Comentario%n","","Comentario", {"encode":"{s0}","setup":"","inc":"#include <nueva_libreria.h>","def":"","work":"//{0} en setup;\n","loop":"//{0} en loop;\n nueva_libreria();"}], ```` OJO con la sintaxis en JSON, respeta la coma final. Este bloque lo puedes añadir por ejemplo después del bloque de **read Analog Pin** quedando así: ```` ["R", "read analog pin (A)%n","getAnalog","0", {"encode":"{d0}","setup":"pinMode(A0+{0},INPUT);\n","inc":"","def":"","work":"analogRead(A0+{0})","loop":""}], ["w", "Comentario%n","","Comentario", {"encode":"{s0}","setup":"","inc":"#include <nueva_libreria.h>","def":"","work":"//{0} en setup;\n","loop":"//{0} en loop;\n nueva_libreria();"}], ... ```` Si te fijas en cómo están construidos los demás bloques tanto de Arduino como de mBot podrás ver para que sirve cada parámetro **Resultado** ![572b238373e18.png](serve/attachment&path=572b238373e18.png) Cosas a tener en cuenta a la hora de probarlo!! ------------------ **Lo he cambiado y en el Sratch no aparece el bloque** Eso es porque mBlock crea una copia de los directios más importantes dentro de tu sistema por ejemplo en Windows 7 la crea en: [Usuario]/AppData/Roaming/com.makeblock.mBlock.v3.3.0 - Cierra el mBlock - Elimina esa carpeta cada vez que modifiques el mBlock - Abre nuevamente el mBlock **No veo los bloques de Arduino, sólo los de mBot** Activa la extensión de Arduino desde el menú "extensiones" Suerte !
editado 5 May '16 a las 11:48 am

Muchísimas gracias por darme una respuesta tan detallada y completa!!!
Probaré y a ver si sale :-)
Saludos!

Muchísimas gracias por darme una respuesta tan detallada y completa!!! Probaré y a ver si sale :-) Saludos!
4.72k
vistas
4
respuestas
2
seguidores
vista previa (en vivo)
introduzca al menos un 10 caracteres
Advertencia: Mencionaste a %MENTIONS%, pero ellos no pueden ver el mensaje y no serán notificados
Guardando...
Guardado
Todos los posteos de este tema serán borrados ?
Borrador pendiente ... Click para continuar editando
Descartar borrador