[Inicio de explicación]
El ‘holamundo’ por excelencia de Arduino es el Blink, que consiste simplemente en apagar y encender el LED que lleva incorporado de fábrica en el pin digital 13. Así que para no romper con la tradición, vamos a crear un pequeño programa con Matlab que encenderá y apagrará este LED de distintas maneras.
Si no lo has hecho ya, deberás configurar Matlab y Arduino para que puedan interaccionar. Descubre cómo en mi último tutorial.
Conecta Arduino al ordenador y abre Matlab. Primero, deberemos iniciar la conexión por USB de Matlab y Arduino, escribiendo
arduino = arduino('/dev/ttyS101')
e intentará conectarse.
Si todo ha salido bien, aparecerá un mensaje kilométrico con una lista de todos los pines habidos y por haber. Si en lugar de esto te sale error, intenta desconectar el USB y volverlo a conectar. También es posible que debas volver a crear el enlace simbólico, tal y cómo expliqué en el tutorial de configuración.
Configuramos el pin digital número 13 para que sea una salida
arduino.pinMode(13,'output')
Podemos apagar y encender el LED con los comandos:
arduino.digitalWrite(13,1) %Para encender arduino.digitalWrite(13,0) %Para apagar
Cuando te canses de encender y apagar el LED a mano, puedes crear un bucle para automatizarlo. Vamos a encenderlo y apagarlo en intervalos de un segundo doscientas veces.
for x=1:200 arduino.digitalWrite(13,1) pause(1) %Nótese que el comando delay aquí es pause. delay(1000) = pause(1) arduino.digitalWrite(13,0) pause(1)
En cualquier momento puedes parar el programa con Ctrl+C
El siguiente código va a utilizar algunas de las funciones propias de Matlab. Va a encender y a apagar el LED en intervalos de tiempo que van a seguir una función seno hasta 90 grados, o hasta PI/2 si lo mesuramos en radianes, que es la unidad que utiliza el Matlab.
Veremos que el LED se va encendiendo y apagando cada vez más despacio, siguiendo la forma de una onda sinusoidal.
y=0 %Varaible que almacenará los radianes for x=1:90 y=y+0.01745 %0.01745 es el resultado de dividir PI entre 180 arduino.digitalWrite(13,1) pause(sin(y)) arduino.digitalWrite(13,0) pause(sin(y)) end
No dudes en comentar si tienes algún problema.
[Final de línea]
Gracias
[…] Arduino y Matlab I – Blink! […]
[…] Arduino y Matlab I – Blink! […]
[…] que veas los tutoriales anteriores. Hay tres: configurar Arduino y Matlab (esencial), encender y apagar un LED y mover un […]
[…] para que pueda comunicarse con Matlab, y quizás quieras hacer el primer tutorial de ejemplo, un simple Blink.No configurar tu Arduino es cómo ir a la guerra sin […]
[…] Arduino y Matlab I – Blink […]