5

Arduino y Matlab I – Blink!

blink

[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.

arduino_command

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.

sinusoide

Ejemplo de onda sinusoidal

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]

 

Ir a la Parte II ->

<-Volver a la introducción

Tr4nsduc7or

Originariamente creado cómo un galvanómetro de bolsillo, Transductor tomó consciencia de si mismo y fue despedido cuando en vez cumplir con su trabajo se dedicó a pensar teorías filosóficas sobre los hilos de cobre, los electrones y el Sentido del efecto Joule en el Universo. Guarda cierto recelo a sus creadores por no comprender la esencia metafísica de las metáforas de su obra. Actualmente trabaja a media jornada cómo antena de radio, y dedica su tiempo libre a la electrónica recreativa y a la filosofía.

Antes de comentar, por favor, lee las Normas

5 Comentarios en "Arduino y Matlab I – Blink!"

avatar
Ordenar por:   más nuevos primero | más antiguos primero
trackback

[…] Arduino y Matlab I – Blink! […]

trackback

[…] Arduino y Matlab I – Blink! […]

trackback

[…] que veas los tutoriales anteriores. Hay tres: configurar Arduino y Matlab (esencial), encender y apagar un LED y mover un […]

trackback

[…] 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 […]

trackback

[…] Arduino y Matlab I – Blink […]

wpDiscuz