Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cap 2

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 28

Control, adquisición y

monitoreo con Arduino y


Visual Basic .net
MTRO. RUBEN OLIVA RAMOS
Capítulo 2: Aspectos
generales de la programación
en Visual Basic .NET
Comunicación Serial
ARDUINO
FUNCION DE
COMUNICACION SERIAL
Esta es una función que se puede emplear para comunicar la placa
Arduino con la PC u otros dispositivos seriales compatibles.

Con esta función, habilitamos el puerto serial del microcontrolador,


mismo que se encuentra conectado al adaptador USB-SERIAL
incorporado en la placa Arduino UNO.
Al emplear la comunicación serial, es importante considerar que los
pines 0 (Rx) y 1 (Tx) de la placa Arduino, se reservan para esta función.

También es importante recordar, que este puerto se utiliza para la


programación del Arduino, sin embargo, mientras se emplea la función
serial, no hay interferencia entre ambas operaciones.
Las funciones relacionadas con la comunicación serial
son las siguientes:
Serial.begin( )
Serial.end( )
Serial.available( )
Serial.read( )
Serial.flush( )
Serial.print( )
Serial.println( )
Serial.write( )
Función Serial.begin( );
En esta función, se abre el puerto serial del Arduino y se determina la
velocidad de transferencia en bps (bps = bits por segundo) de datos
entre dispositivos.

Los valores más comunes pueden ser 300, 1200, 2400, 4800, 9600,
14400, 19200, 28800, 38400, s7600 ó 11s200.

Esta función, deberá colocarse dentro de la rutina void setup()


Función Serial.end();
Desactiva la comunicación serial, permitiendo a los pines 0 (Rx) y 1 (Tx)
ser utilizados como entradas o salidas digitales.

Esta función se coloca dentro de cualquier rutina en el lugar o instante


en que se desea desactivar la comunicación.

Para volver a reactivar la comunicación, es necesario volver a colocar en


el lugar o instante deseado, la función Serial.begin(bps) para volver a
inicializar la transferencia de datos.
Función Serial.read();
Lee los datos (byte) que son recibidos por el puerto serial.

Esta función, requiere de una variable para cargar el valor del dato
recibido por la función.

Si la variable se declara como int, el valor que recibe la función es el


equivalente al valor decimal del valor ASCII enviado.

Si la variable se declara como char, se recibe el valor directo del valor


ASCII enviado
Función Serial.flush();
Con esta función, se vacía el buffer de entrada de datos del puerto
serial.
Función Serial.print();
Imprime (envía) los datos al puerto serie como texto ASCII.

Esta función puede tomar diversas opciones. Los números son


impresos mediante un juego de caracteres ASCII para cada dígito.

Los valores de tipo "float" son impresos en forma de dígitos ASCII con
dos decimales por defecto. Los valores tipo "byte" se envían como un
único carácter.

Los caracteres y las cadenas se envian como son.


Ejemplos:
Serial.print(15); // imprime "1s"
Serial.print(3.1416,2); // imprime "3.1416"
Serial.print(byte(65)); // imprime "A" (cuyo código ASCII es 65)
Serial.print('A'); // imprime "A"
Serial.print("Hola"); // imprime "Hola"
Función Serial.println();
Imprime (envía) los datos al puerto serie como texto ASCII, seguido de
un comando de retorno de carro y avance de línea.

Para esta función, aplican todas las opciones anteriores de


Serial.print().
Función Serial.write();
Esta función, es muy similar a Serial.print(), a diferencia, que si se envía
valores numéricos en forma directa, los interpreta como valores ASCII.

Se recomienda mejor emplear la función Serial.print().

Aplican de igual forma, los comandos "\t" (tabulador) y "\n" (retorno de


carro y avance de línea)
Ejemplos:
Serial.write(65); // envía la letra A (ASCII 65 = A).

Serial.write("Hola"); // envía el texto "Hola".

Serial.write("\t"); // aplica tabulador.

Serial.write("\n");// aplica retorno de carro y avance de l nea.


Comunicación
serial por sofware
Librerías
Es un programa adicional, que se incluye dentro del sketch (se
incluye al principio del programa), en donde este programa contiene
sus propias funciones, desarrolladas algunas por Arduino (llamadas
librerías estándar) y otras que es posible obtener de diversos autores
(llamadas librerías contribuidas), a través de internet o por otros
medios.
Librerías Estándar
EEPROM - Para leer y escribir en memorias permanentes.
Ethernet - Para conectar a internet usando el módulo Ethernet Shield.

Firmata - Para comunicarse con aplicaciones en la computadora usando un protocolo estándar Serial.

LiquidCrystal - Para controlar Displays de cristal l quido (LCD).

Servo - Para controlar servomotores

SoftwareSerial - Para la comunicación serial de cualquier pin digital.

Stepper - Para controlar motores paso a paso (Stepper motors)

Wire - Interfaz de dos cables (TWI/I2C), para enviar y recibir datos a través de una red de dispositivos y sensores.
SoftwareSerial
La librería SoftwareSerial ha sido desarrollada para permitir la
comunicación serie a través de otros pines digitales de Arduino,
utilizando software para replicar la funcionalidad (de ahí el nombre
de "SoftwareSerial")
Utiliza dos pines digitales del arduino para configurar la comunicación serial, se
definen los pines RX y TX.

#include <SoftwareSerial.h>

SoftwareSerial blue(2,3); //declaramos los pines RX y TX


Instrucciones de
Control
CICLOS EN VISUAL BASIC .NET
While
Ejecuta una o mas sentencias cero o más veces, dependiendo del valor
de una expresión booleana

Sintaxis:

While condicion
Sentencias
End while
Do … Loop
Un loop o (bucle) repite la ejecución de un conjunto de sentencias
mientras una condición dada sea cierta. La condición puede ser
verificada antes o después de ejecutarse el conjunto de instrucciones.

Presenta diferentes alternativas para su utilización:


Do while/until condicion
sentencias
Exit Do
sentencias
Loop

Do
Sentencias
Exit Do
Sentencias
Loop While/until condicion
For … Next
La sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de
sentencias cierto número de veces

Sintaxis:

For variable = Expresion 1 To Expresion 2 [Step Expresion 3]


sentencias
Exit for
sentencias
Next variable
For Each … Next
Es similar a la sentencia For, con la diferencia de que ahora se repite un
grupo de sentencias para cada elemento de una colección de objetos o
de una matriz.

Esto es especialmente útil cuando no conocemos cuantos elementos


hay en la colección o en la matriz.
Sintaxis:

For Each elemento In colección matriz


sentencias
Exit for
sentencias
Next Elemento

Donde elemento es una variable de un tipo compatible


con el tipo de los elementos de la colección o de la matriz

También podría gustarte