Software
El microcontrolador en la placa Arduino se programa mediante dos tipos de programación:
LENGUAJE POR CÓDIGO
Recomendable a partir de secundaria. Es un lenguaje basado en Wiring y permite la programación del Arduino en un entorno de desarrollo (basado en Processing). El programa se llama ARDUINO IDE y se puede descargar desde la página oficial de Arduino: https://www.arduino.cc/en/software. teniendo la posibilidad de utilizarlo online o descarga offline para todo tipo de sistema operativo:
En los cursos de CATEDU se ha utilizado el lenguaje por código empezando desde cero en:
- Curso Arduino con código donde se trabaja con el Arduino y con diferentes sensores y actuadores, con o sin placa Shield Edubásica.
- Curso de Domótica con Arduino con ejemplos con lenguaje gráficos por bloques y con código.
LENGUAJE GRÁFICO POR BLOQUES
Recomendado para primaria. Tenemos muchas posibilidades de lenguajes gráficos. Destacamos dos:
- ARDUINOBLOCKS se trabaja online, muy visual y muy amigable. Está adaptado tanto para trabajar tanto Arduino como muchas placas controladoras y en el aula. Podemos verlo en los siguientes cursos:
- CURSO ROVER CON ARDUINO aunque no se utiliza un Arduino, sino un NodeMCU pero la programación es exactamente igual
- CURSO DE ARDUINO CON ARDUINOBLOCKS donde se utiliza el Arduino con una placa protoboard
- CURSO ARDUINOBLOCKS EN EL AULA donde se utiliza la Shield TDR-STEAM
- MBLOCK Basado en Scratch. Aunque es un programa especializado en el robot comercial mBot, (basado en Arduino), el mismo programa esta adaptado para programar Arduino. Tiene la ventaja del modo de funcionamiento "conectado" que puede interactuar nuestra placa con el ordenador, pudiendo por ejemplo apretando una tecla de ordenador encender un led en el Arduino o si hay luz en el sensor LDR conectado en el Arduino que suene una canción en el ordenador.
- CURSO ARDUINO CON MBLOCK se utiliza Arduino y placa Protoboard
- CURSO DE ECHIDNA CON MBLOCK se utiliza la Shield Echidna
- CURSO DE MBOT se utiliza el robot mBot
- CURSO ARDUINO CON MBLOCK se utiliza Arduino y placa Protoboard
VENTAJAS E INCONVENIENTES LENGUAJE GRÁFICO POR BLOQUES vs CÓDIGO
El lenguaje gráfico es un lenguaje sencillo de utilizar, nos evita tener en cuenta muchas librerías y cálculos, por ejemplo, la instrucción leer valor distancia el sensor ultrasonidos, gráficamente es :
mientras que en código es
double distancia;
double fnc_ultrasonic_distance(int _t, int _e){
unsigned long dur=0;
digitalWrite(_t, LOW);
delayMicroseconds(5);
digitalWrite(_t, HIGH);
delayMicroseconds(10);
digitalWrite(_t, LOW);
dur = pulseIn(_e, HIGH, 18000);
if(dur==0)return 999.0;
return (dur/57);
}
void setup()
{
pinMode(6, OUTPUT);
pinMode(5, INPUT);
}
void loop()
{
distancia = fnc_ultrasonic_distance(6,5);
}
Como se puede ver en código, tiene que calcular la distancia haciendo cálculos del tiempo de rebote del eco, mientras que el gráfico es súmamente sencillo y se centra en el objetivo del algoritmo a crear, no en lo accesorioaccesorio. Esto hace que un lenguaje gráfico por bloques se puede aplicar desde los 8 años.
Por otra parte, el lenguaje código tiene todo el potencialpotencial, es decir, no todo está en los lenguajes gráficos. Si se quiere cosas más avanzadas, hay que recurrir al código.
Un lenguaje gráfico se puede convertir en lenguaje código, pero al revés no.
El lenguaje código se traduce en lenguaje máquina entendible para el Arduino en sus chips, pero al revés no.
SIMULACIÓN
Hay aplicaciones que permiten simular el Arduino, y por ejemplo en el Curso Arduino con código en la práctica Comunicación entre dos Arduinos se ha utilizado por si no tienes dos placas
Pueden ser aplicaciones online como https://www.tinkercad.com pero nuestra experiencia es que es algo lento, pero tiene la ventaja de ser online y muy muy visual cercano a la realidad.
Si quieres trabajar con más velocidad puedes descargar alguna aplicaciones locales, como UnoArduSim además es una aplicación portable fácil de instalar y con los elementos de leds, motores servos ya preparados, ideal para ejemplos sencillos y para examinar señales, pero no es tan versátil como el anterior, por eso te mostramos vídeos de ejemplo para que tú decidas.
En este vídeo se puede ver el mismo ejemplo del led parpadeando: