Ardublockly es una plataforma online para programar Arduino, mediante bloques. Desde el menú principal podremos acceder a esta sección en la que podremos ahorrarnos mucho tiempo para desarrollar los programas más sencillos.
Interfaz de programación para Arduino Online
Lo mejor de todo es que se pueden crear bloques personalizados para crear código con Arduino y facilitar la comprensión de la programación de nuestros robots sin los errores típicos que nos hacen perder tiempo.
Durante el desarrollo de los tutoriales iré añadiendo los bloques más apropiados para facilitar la aplicación de algunos conceptos complejos y desarrollar rapidamente nuestros propios robots.
En esencia, hemos introducido algunas secciones y bloques adicionales con algunas de las librerías que consideramos que son más importantes para tener un robot medianamente robusto.
En principio ya vienen los bloques genéricos:
- Variables
- Funciones
- Logica (Logic)
- Bucles (Loops)
- Matemáticas (Math)
- Texto
- Audio
Otros que se aplican a la placa Arduino
- Entradas y salidas (Input / Output)
- Time
- Comms – Comunicación Serial, SoftwareSerial y SPI
- Motors – Servomotores
Y otros bloques personalizados para integrar otras librerías útiles para crear robots más complejos.
- Car Control – Ultrasonidos y motores
- IMU – Acelerómetro, giroscopio y filtro Madgwick
- PID – Control PID
- AdafruitMotorShield – Bloques para el Motor Shield de Adafruit
Para utilizar algunas de estas secciones voy a hacer un pequeño repaso para poder extender las posibilidades que nos ofrecen estos bloques.
Variables
Las variables siempre hay de definirlas con un tipo a escoger desde la misma sección de variables:
- int
- char
- long
- float
- String
De esta manera el código se generará adecuadamente a un lateral con el tipo asignado y nunca se podrá utilizar como otro tipo distinto ya que el lenguaje de Arduino está tipado. En caso de querer convertir los tipos de estas variables se puede hacer uso de otras funciones de conversión definidas que se proporcionan con otros bloques adicionales.
Funciones
Las funciones nos permiten integrar variables de salida, pero además podemos seleccionar variables de entrada con el tipo asignado que se interpretará en el código de forma correcta.
SofwareSerial y comunicaciones
Un apartado que considero importante es la comunicación por serie con la librería de SoftwareSerial de la que ya he hablado en otras muchas ocasiones.
SoftwareSerial es una librería nos permite establecer comunicación con otros dispositivos por serie RX y TX, que utilizaremos para las comunicaciones inalámbricas por Bluetooth, WiFi, entre otros…
Librerías personalizadas
Además de algunos bloques de utilidad he creado otras secciones para facilitar la programación de nuestro robot Smart Car Chassis, que iremos realizando durante las siguientes lecciones.
Entre ellas econtraremos algunas librerías de utilidad y funciones aplicadas para crear una programación apropiada en la robótica con Arduino.
Ejemplos
Por último, en la sección superior izquierda podremos encontrar una serie de ejemplos de programas que iré colgando con la que podremos rapidamente acceder a toda la programación de nuestros robots, además de guardar y cargar los mismos que desarrollemos desde la esquina superior derecha.
Ahora solamente nos tendremos que preocupar de crear una estructura correcta en nuestros programas sin la necesidad de poseer conocimientos avanzados.
Ardublockly es un proyecto basado en la programación por bloques desarrollada por Google con Blockly y que se utiliza en muchísimas plataformas de enseñanza y aprendizaje en ciencias de la computación para adaptar esta barrera que es la programación para los más jóvenes y que sirve de transición para comenzar a programar robots de forma divertida e intuitiva.
Hola. Veo que la plataforma carece de muchas operaciones para mi proyecto, por ejemplo, quiero enviar un “Serial.Write(0xAD);” y no encuentro ningun bloque.
Podria indicarme como puedo agregar mis propios bloques?
Hola Marlon.
Para añadir tus bloques es necesario meterte un poco en el código del proyecto y de esta manera podrás diseñar y programar tus propios bloques para esas acciones.
Te dejamos el enlace.
https://github.com/carlosperate/ardublockly
Buenas tardes, como haria un incremento de tiempo luego de una secuencia?
Por ejemplo tengo un programa que enciende 7 leds aleatoriamente y luego de comenzar a parpadear su secuencia determinada quiero que a los 30 segundos comiencen a realizar su trabajo se comiencen a encender mas rápidamente acelerando al secuencia, así sucesivamente cada 30 segundos.
Tengo programada la secuencia pero no logro incluir el tiempo de los 30 segundos sucesivo.
muchas gracias.
Hola, te recomendamos que consultes nuestro curso de Arduino.
En el apartado de estrategias antibloqueo explicamos el control en bucle para evitar bloqueos y desarrollar tus programas en la escala temporal Curso Arduino Control Tiempos.
Un saludo