Arduino y Matlab: deje que ellos hablan utilizando comunicación serial! (3 / 4 paso)

Paso 3: Matlab: vamos a domar a la bestia!

Aquí supongo que estás familiarizado con el entorno de Matlab, por lo menos con la base. Si mi suposición no es correcta, no se asuste, y echar un vistazo aquí: Matlab para principiantes!
Afronto el lado de Matlab de la siguiente manera: va a crear un archivo .m de solo escritura que incluirá todas las funciones que vamos a utilizar. De esta manera, una vez que a comprender cada sección de la secuencia de comandos (MainScript), todo lo que tienes que hacer es iniciar escribiendo su nombre en el espacio de trabajo, y de repente tienes Arduino y su PC intercambiar datos fácilmente y muy bien! Asegúrese de que guardar todos los tres documentos que he adjuntamos en la misma carpeta que tiene que ser seleccionada como la carpeta actual en la ventana "Carpeta actual" en la ventana principal de Matlab. Como regla general que usted debe recordar que tiene Matlab para acceder fácilmente que están citando dentro de la secuencia principal, de lo contrario usted está recibiendo una señal de error de una función no declarada!
Vamos a empezar la secuencia de comandos con el nombre de puerto serie de ahorro en la variable comportamiento. Como te dije antes, asegúrese de que saber el nombre exacto del Arduino está conectado al puerto. Con la nueva sección, nos encargamos de la inicialización de la comunicación serial. Vamos a escribir un archivo de función llamado setupSerial, que acepta como entrada de la cabecera de puerto serie y devuelve el objeto serial arduino y el valor de "serialFlag" que nos dice que se ha creado el objeto serial.
Consejo: Si usted necesita ayuda con la función de sintaxis o con cualquier otro comando de Matlab, no dude en preguntar Matlab! Tienes solo que escriba en la ventana de comandos Matab, "ayuda" seguido por el tema que desea saber más acerca de. Si el tema existe, Matlab le dará una respuesta corta directamente en la viuda de comando, de lo contrario puedes navegar el "navegador de ayuda" escribiendo "doc" en el espacio de trabajo y haga clic en entrar.
Vamos a pasar! Te termino analizando la MainScript antes de tomar en consideración las otras funciones.
Se trata de la sección dedicada a la visualización gráfica de los datos: se crea una figura h , y creó un sistema de una x y el eje y y una línea, que nos ayudará a visualizar los datos que estamos recibiendo de la sensor., son también mantener en mente que cada vez se crea un objeto, cualquiera que sea su tipo (serie objetos una figura, un GUI objetos... ecc) se crea también una serie de propiedades asociadas a él. Puede utilizar estas propiedades para llamar a funciones o crear condiciones para los bucles (mientras, pues, si... ecc). El comando "if(~exist('h','var'))..." tiene más sentido ahora?? ¿No? Escuchar: queremos comprobar si el var de la propiedad del objeto h es igual a cero. Si es el caso que tenemos que crear el objeto de la figura, desde un 0 en la propiedad de var , significa que la cifra aún no existe!!

Ahora vamos a llegar a la última sección de la secuencia de comandos. Aquí tienes algunas líneas que actúan como núcleo de todo el programa: con el bucle "mientras" nos vamos a enviar a Arduino el comando "R", que significa ¡ Hola, leer la temperatura para mí y me devuelva el resultado de su lectura!. Te darás cuenta que tenemos una nueva función dentro del tiempo de bucle es readTemp, brevemente, se encargará de la burocracia que hay detrás de la comunicación serial desde el punto de vista de Matlab. Volverá a ella cuando lo analizo las dos funciones de la escritura. Falta un dato: la velocidad de muestreo, en el cual queremos obtener las lecturas de temperatura. Se expresa mediante el comando "pause" al final de lo tiempo bucle! Si desea seleccionar un valor de temperatura cada hora, tienes que escribir pause(3600) (comando de pausa acepte el parámetro en segundos).
OK, ahora vamos a analizar las dos funciones:
setupSerial: esto crea el objeto serial conectado al puerto serie de Arduino comPort. El comando para crear el objeto serial es simplemente nombre-de-objeto = serie (nombre-de-port). Tan simple como eso! Tenga en cuenta que, como uno de la propiedad del objeto serial, establecemos (utilizando el comando set , seguido por la propiedad cuyo valor desea establecer) la velocidad en baudios de 9600 igual al establecido en el Arduino.

¿readtemp: pocas cosas más necesita ahora: recordar los comandos que utilizamos en Arduino para escribir en y leer del buffer serial, Serial.println y Serial.read? Aquí se sustituyen por fprintf y fscanf respectivamente. Eso es todo. La sintaxis es fácil y se puede comprobar en el navegador de ayuda de Matlab. fprintf requiere, como primera entrada, el objeto serial que queremos escribir, y como segundo dato el carácter nos gustaría enviar (en nuestro caso "R" que significa para nosotros "Leer"). fscanf quiere el objeto serial, y el formato que queremos los datos a visualizar, en nuestro caso un flotante punto número indicado con el símbolo "%f" (DHT 22 valores de temperatura se resuelven hasta un décimo de grado celsius).

Tenga en cuenta que la cantidad de lecturas que van a ser salvos será igual al valor de la variable "buf_len" (el valor predeterminado en la secuencia de comandos es 30, cambiar a su propio antojo!). Después de la lectura 30, se sobrescribirá una nueva primera lectura almacenada en el array "tcdata", que contendrá todos los valores de temperatura en un orden cronológico.

Artículos Relacionados

Proceso de comunicación serial en Arduino

Proceso de comunicación serial en Arduino

El hardware de Arduino tiene soporte incorporado para la comunicación serial en los pines 0 y 1 (que también va a la computadora vía la conexión USB). El soporte nativo de la serie pasa a través de una pieza de hardware (integrado en el chip) llamada
Mapmaker ultrasónica utilizando Arduino y MatLab

Mapmaker ultrasónica utilizando Arduino y MatLab

visión es uno de los sentidos más emocionantes que puede dotar a su robot. La capacidad para percibir obstáculos permite a un robot tomar una decisión educada sobre los otros movimientos.Sin embargo, también no es los sentidos más fácil implementar p
Tutorial básico de Arduino/O-Matlab

Tutorial básico de Arduino/O-Matlab

este es mi primer instructables y yo fui referido por un miembro antiguo. Su enlace aquí:)Su una ilustración simple de cómo podemos conectar Arduino a Matlab y realmente controlar y obtener información sobre Arduinousando MatlabHe visto algunos tutor
Moviendo un Motor utilizando Arduino y comunicación Serial

Moviendo un Motor utilizando Arduino y comunicación Serial

te has preguntado ¿cómo mover robots?  ¿Que siempre quisiste escribir un programa para controlar un robot?  Si es así, este tutorial será un excelente lugar partido para aprender controles electrónicos con el Arduino Microcontroller.  Usted estará ha
LDRs + Arduino = un simple robot que puede detectar la luz!

LDRs + Arduino = un simple robot que puede detectar la luz!

Un LDR es una resistencia dependiente de luz y tiene muchos usos, por ejemplo, un photocel que puede encender las luces de su casa cuando su oscureciendo fuera.Una forma interesante de entender cómo funciona es leer sus valores con un Arduino.Por lo
ThermoClock: Un código abierto Arduino UNO OLED reloj que mide también la temperatura

ThermoClock: Un código abierto Arduino UNO OLED reloj que mide también la temperatura

Hola, todo el mundo!Hoy voy a mostrarte cómo hacer un código abierto Arduino UNO OLED reloj que también medidas de temperatura de. Este proyecto es un software libre y está abierta a todo el mundo. No requiere ninguna habilidad especial ingeniero y t
Comunicación serial USB Android Arduino con el cable OTG

Comunicación serial USB Android Arduino con el cable OTG

He hecho una noche de la Arduino basado lámpara con fotorresistencia y problema con lo de los niveles de luz era diferente de un lugar a otro, cuando estoy probando he utilizado un valor como un umbral para encender la luz y después de fijación en su
Arduino para procesamiento: comunicación Serial sin una firmado

Arduino para procesamiento: comunicación Serial sin una firmado

este instructivo está diseñado para que cualquiera pueda enviar directamente los valores de entrada leídos por Arduino a procesamiento. Se utiliza mejor para pasar de uno a varios valores, como unos botones, joystick o acelerómetro.  Para el total co
Comunicación serial entre android y arduino a través de telnet

Comunicación serial entre android y arduino a través de telnet

ObligatorioSoftware Python 2.7 con pyserial paqueteAplicación android móvil TelnetSoftware de ArduinoPaso 1: introducciónAquí, en este instructable describí sobre comunicación serial entre el teléfono android y arduino a través de telnet. Para probar
Arduino Wireless comunicación Serial

Arduino Wireless comunicación Serial

hay muchas maneras de comunicarse con remoto Arduinos. He encontrado que muchos de ellos golpeó un punto de precio ligeramente más alto que lo que me gustaría. También, escudos de ethernet (y wifi dito?) consumen muchos pins hardware valiosos. Voy a
PyDuino, interfaz Arduino con Python a través de comunicación serial

PyDuino, interfaz Arduino con Python a través de comunicación serial

Aprender a interfaz arduino a través de comunicación serial con python usando la librería pyduino. Hay algunos otros tutoriales que hay en instructables en cómo interfaz arduino con python, pero no demuestran cómo hacerlo todo, donde esperamos que es
Comunicación serial - Arduino y Linkit uno

Comunicación serial - Arduino y Linkit uno

En este instructable voy mostrarle cómo establecer una comunicación serial entre arduino y Linkit uno. Esto ayudaría a hacer un proyecto más complejo con estas dos placas.Paso 1: componentesAquí está una lista de todos los componentes necesarios para
Comunicación serial entre Arduino, HTML y cromo

Comunicación serial entre Arduino, HTML y cromo

Es fácil trabajar con Arduino, pero la creación de proyecto que consiste en software requiere más habilidades de programación. A diferencia de otras soluciones de mi proyecto es la forma de crear HTML offline la aplicación - sin cosas como Yun, shiel
Comunicación serial entre android y arduino a través de bluetooth de la laptop

Comunicación serial entre android y arduino a través de bluetooth de la laptop

Acerca de:Es este instructable sobre comunicación serial entre android y arduino a través de built-in del ordenador portátil Bluetooth. no tengo separado el módulo Bluetooth. así que he decidido usar mi portátil Built-in Bluetooth para comunicación s