Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


apuntes de arduino programacion, Apuntes de Programación C

apuntes de arduino. esquema programación

Tipo: Apuntes

2018/2019

Subido el 07/12/2019

transi-tando
transi-tando 🇪🇸

1 documento

1 / 35

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Apuntes de Arduino
1
ARDUINO
INDICE
1.- INTRODUCCIÓN......................................................................................................................4
2.- EL HARDWARE DE LA PLACA ARDUINO............................................................................4
2.1. Alimentación........................................................................................................................4
2.2. Entradas y Salidas...............................................................................................................4
2.3. Comunicaciones..................................................................................................................5
2.4. Programación ......................................................................................................................5
3. EL ENTORNO DE DESARROLLO PARA ARDUINO ..............................................................5
4. NUESTRO PRIMER SKETCH...................................................................................................7
4.1. Comentarios ........................................................................................................................7
4.3. Funciones............................................................................................................................8
4.4. pinMode(), digitalWrite() y delay() .......................................................................................8
4.5. setup() y loop() ....................................................................................................................9
5. LA ESTRUCTURA: FUNCIONES setup() Y loop()..................................................................9
6. ELEMENTOS DE SINTAXIS ...................................................................................................10
6.1. ; (Punto y coma) ................................................................................................................10
6.2. { } (Las llaves)....................................................................................................................10
6.3. Comentarios ......................................................................................................................10
7. OPERADORES ARITMÉTICOS..............................................................................................11
7.1. = Operador de asignación (un único signo igual)............................................................. 11
7.2. (+ , – , * , / ) Suma, resta, multiplicación y división..........................................................11
7.3. % (Módulo, o resto) ..........................................................................................................12
8. OPERADORES COMPUESTOS.............................................................................................12
8.1. ++ (Incremento) / – – (decremento)...................................................................................12
9. CONSTANTES ........................................................................................................................12
9.1. Definición de niveles lógicos, true y false (constantes booleanas) ...................................12
9.2. Definición de los pines digitales, INPUT y OUTPUT .........................................................13
9.3. Definición de niveles de pin, HIGH y LOW........................................................................ 13
10. TIPOS DE DATOS.................................................................................................................13
10.1. void..................................................................................................................................13
Apuntes de Arduino. Tecnología
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Vista previa parcial del texto

¡Descarga apuntes de arduino programacion y más Apuntes en PDF de Programación C solo en Docsity!

ARDUINO

ARDUINO

1.- INTRODUCCIÓN

Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo integrado (IDE), diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares, que pueden abarcar desde sencillas aplicaciones electrónicas domésticas hasta proyectos más elaborados para la industria. Su principal ventaja es su facilidad de programación, al alcance de cualquiera. Para encontrar toda la información que necesites sobre Arduino en la web http://www.arduino.cc/es/.

2.- EL HARDWARE DE LA PLACA ARDUINO

Nuestras placas Arduino son la Duemilanove y la UNO, ambas incorporan el chip ATmega328.

Tienen 14 entradas/salidas digitales, 6 entradas analógicas, entradas de alimentación, conexión USB para conectar al ordenador, conector de alimentación y un botón de Reset.

2.1. Alimentación

Las placas pueden ser alimentadas por medio de la conexión USB o con una fuente de alimentación externa de entre 6 a 20 V, aunque el rango recomendado es de 7 a 12 V.

Las fuentes de alimentación externas (no-USB) pueden ser tanto un transformador como una batería. El transformador se puede conectar usando un conector macho de 2.1 mm con centro positivo en el conector hembra de la placa. Los cables de la batería pueden conectarse a los pines Gnd y Vin en los conectores de alimentación (POWER)

2.2. Entradas y Salidas

Cada uno de los 14 pines digitales (de 0 a 13) pueden utilizarse como entradas o como salidas usando las funciones pinMode(), digitalWrite() y digitalRead(). Las E/S operan a 5 V. Cada pin puede proporcionar o recibir una intensidad máxima de 40 mA.

Los pines 3, 5, 6, 9, 10, y 11 proporcionan una salida PWM (modulación por anchura de pulsos) de 8 bits de resolución (valores de 0 a 255) mediante la función analogWrite().

El pin digital 13 lleva conectado un LED integrado en la propia placa. Se encenderá cuando dicho pin se configura como salida y adopte un valor HIGH.; con valor LOW se apaga.

La placa tiene 6 entradas analógicas , y cada una de ellas proporciona una resolución de 10 bits (1024 valores).

2.3. Comunicaciones

La placa Arduino proporciona comunicación vía serie a través de los pines digitales 0 (RX) y 1 (TX). Un chip integrado en la placa canaliza esta comunicación serie a través del puerto USB. El software de Arduino incluye un monitor de puerto serie que permite enviar y recibir información textual hacia y desde la placa Arduino. Los leds RX y TX de la placa parpadearán cuando se detecte comunicación transmitida a través de la conexión USB.

2.4. Programación

La placa Arduino se puede programar a través del IDE (Entorno de Desarrollo Integrado) de Arduino. Primero hay que decirle al IDE nuestro tipo de placa. Para ello, selecciona bien "Arduino Duemilanove w/ ATmega328" o bien Arduino Uno del menu Herramientas > Tarjeta. También hay que decirle al IDE en qué puerto USB hemos conectado la placa. Lo haremos a través del menú Herramientas > Puerto Serial. Aparecen una serie de puertos denominados COMx, donde x es un número. Para saber cuál es, desconecta y conecta el cable USB del ordenador, y el que desaparezca y vuelva a aparecer es nuestro puerto.

3. EL ENTORNO DE DESARROLLO PARA ARDUINO

El Entorno de Desarrollo Arduino permite la conexión del ordenador con la placa para cargar los programas y comunicarse con ella.

El programa o “ sketch ” se escribe en el editor de texto (se puede cortar, copiar, pegar, etc., como en los editores de texto habituales). En el área de mensajes se muestra información mientras se cargan los programas y también muestra los errores. La consola inferior muestra el texto de salida para el entorno de Arduino incluyendo los mensajes de error completos y otras informaciones. La barra de herramientas contiene los comandos más habituales:

Verificar Chequea el código en busca de errores. Cargar Compila el código y lo vuelca en la placa Arduino. Nuevo Crea un nuevo sketch. Abrir Presenta un menú de todos los programas de su "sketchbook" ( librería de sketch ). Un click sobre uno de ellos lo abrirá en la ventana actual. Guardar Guarda el programa o sketch. Monitor Serial Inicia la monitorización del puerto serie. Menú Gestor de pestañas Permite gestionar pestañas pertenecientes a un mismo programa.

4. NUESTRO PRIMER SKETCH

En la figura se muestra el sketch Blink_modificado.

Sketch es el nombre que usa Arduino para referirse a un programa.

4.1. Comentarios

Las primeras líneas del sketch, las cuales se encuentran entre /* y */, son comentarios y son ignorados por el compilador de Arduino. Aparecen en gris.

Otra forma de incluir comentarios cortos es mediante el //. Todo lo que sigue a la doble barra hasta el final de línea se considera comentario. Por ejemplo, en la línea:

int ledPin = 13; // LED connectado en …

Lo primero es una instrucción, pero lo que sigue a // es un comentario.

4.2. Variables

Una variable es un lugar donde se almacena un dato. Posee un nombre, un tipo y un valor. Por ejemplo, en la línea:

int ledPin = 13;

se está declarando una variable de nombre ledPin , de tipo int (entero) y se le está asignando el valor 13. Más adelante, podemos hacer referencia a esta variable por su nombre, para acceder a su valor, para utilizarlo o para modificarlo. Por ejemplo, en la instrucción siguiente se le está pasando el valor 13 al primer parámetro de la función pinMode():

pinMode(ledPin, OUTPUT);

Podríamos haber pasado a la función directamente el valor 13, es decir:

pinMode(13, OUTPUT);

La ventaja de usar una variable en este caso es que sólo necesitas especificar su valor una única vez. Si más tarde decides cambiar, por ejemplo, el valor 13 por el 12, sólo tienes que cambiarlo una vez, concretamente en la línea del código donde se da a ledPin el valor 13.

Otra ventaja de una variable con respecto a un valor, como un número, es que puedes cambiar el valor de la variable mediante un operador de asignación (signo “=”). Por ejemplo, la sentencia:

ledPin = 12; cambiará el valor de la variable ledPin a 12.

Ten en cuenta que tienes que declarar una variable antes de asignarle un valor. Si se incluye la instrucción anterior en un programa sin la previa declaración del tipo de la variable, obtendrás un mensaje de error del estilo: " error: ledPin was not declared in this scope " ("Error: ledPin no ha sido declarado en este ámbito").

Cuando se asigna una variable a otra, estamos haciendo una copia de su valor en la posición de memoria asociada a la otra variable. Por ejemplo, con las siguientes instrucciones:

int ledPin = 13; int pin2 = ledPin; ledPin = 12;

declaramos y iniciamos ledPin con el valor 13; declaramos e iniciamos pin2 con el valor contenido en ledPin (que en ese momento es 13); cambiamos el valor 13 de ledPin por 12. Por tanto, en pin sigue estando en valor 13.

4.3. Funciones

Una función es una porción de código que puede ser utilizado desde cualquier otro punto del sketch. Por ejemplo, aquí está la definición de la función setup() en el ejemplo Blink:

void setup() { // Inicializamos el pin digital como salida pinMode(ledPin, OUTPUT); }

La primera línea nos indica el nombre de la función "setup". El texto que hay antes del nombre, void en este caso, especifica el tipo de devolución y el que hay después del nombre, entre paréntesis, los parametros de la función (en este caso no tiene parámetros). El codigo entre { y } es conocido como cuerpo de la función, o sea, lo que la función realiza.

Puedes llamar a una función que ha sido previamente definida (ya sea en tu sketch o como parte del lenguaje Arduino). Por ejemplo, la línea pinMode(ledPin, OUTPUT); llama a la función pinMode() (que forma parte del lenguaje de Arduino), pasándole sus dos parametros: ledPin y OUTPUT.

4.4. pinMode(), digitalWrite() y delay()

  • La función pinMode() configura un pin como entrada o salida. Para utilizarla, se le pasa el número del pin que se va a configurar y la constante INPUT (entrada) o OUTPUT (salida). Cuando está configurada como entrada, un pin puede detectar el estado de un sensor, como un pulsador. Como salida, puede manejar un actuador, como un LED.
  • La función digitalWrite() envía un valor a un pin. Por ejemplo, la línea: digitalWrite(ledPin, HIGH); asigna a la salida ledPin (pin 13 en el ejemplo Blink) el valor HIGH, ó 5 V. Enviando LOW a un pin lo conecta a tierra, ó 0 volts.

6. ELEMENTOS DE SINTAXIS

6.1. ; (Punto y coma)

Se utiliza para finalizar una declaración (toda declaración debe terminar en ;) y para separar los elementos de un bucle for (se verá más adelante).

Ejemplo

int x = 13;

Advertencia: Olvidarse de finalizar una instrucción con “;” dará lugar a un error del compilador. Si surge un error del compilador aparentemente ilógico, una de las primeras cosas a comprobar es la falta de un “;” en las inmediaciones de la línea en la que el compilador indicó el error.

6.2. { } (Las llaves)

Las llaves se utilizan en diversas contrucciones. La principal aplicación es definir el comienzo y el final del bloque de declaraciones de una función. También se utilizan en los bucles (while, do...while y for) y en las sentencias condicionales (if, if...else).

A una llave de apertura "{" debe corresponderle siempre una llave de cierre "}". O sea, deben estar “emparejadas”. El entorno de Arduino comprueba el emparejamiento de las llaves. Sólo hay que seleccionar una llave, o hacer clic en el punto de inserción inmediatamente después de una llave, y su compañera se resaltará.

Para no olvidar una llave de cierre es buena práctica de programación escribir la llave de cierre inmediatamente después de escribir la llave de apertura. A continuación, se insertan uno o varios renglones entre las llaves y se empieza a escribir el código.

Llaves desemparejadas o colocadas en lugares equivocados dan lugar a errores del compilador misteriosos, que pueden ser difíciles de rastrear en un programa grande.

6.3. Comentarios

Los comentarios son líneas que se utilizan para informar o aclarar el funcionamiento del programa. Son ignorados por el compilador, y no se exportan al procesador, por lo que no ocupan espacio en la memoria de Arduino.

Hay dos formas diferentes de introducir comentarios:

  • Comentario de una sola línea: empiezan con // (dos barras inclinadas) y terminan al final de la línea.
  • Bloque de comentario (o multilínea): empiezan con /* y terminan con */. Pueden abarcar varias líneas.

Ejemplo

x = 5; // Esto es un comentario de una línea. Todo lo que va tras la doble barra hasta el final de la línea

/* Esto es un comentario de varias líneas - se usa para comentar bloques enteros de código if (gwb == 0) { // un comentario de una sola línea puede ir dentro de un comentario multilínea x = 3; /* pero no otro comentario de varias líneas – o sea, esto no es válido */ } // No olvide el "cierre" del comentario - que tiene que ser equilibrado, como las llaves. */

Consejo: Cuando se producen errores al experimentar con código durante la elaboración de un programa, una forma habitual de ir aislando el código que puede ser erróneo es "meter las partes sospechosas dentro de un comentario”. Este método permite dejar inoperativo esta parte del código (pues el compilador lo ignorará) pero sin borrarla.

7. OPERADORES ARITMÉTICOS

7.1. = Operador de asignación (un único signo igual)

El operador de asignación (“=”) le dice al microcontrolador que evalúe el valor o expresión del lado derecho del signo “=” y lo almacene en la variable indicada a la izquierda de dicho signo.

Ejemplo

int senVal; // declara una variable entera llamada senVal senVal = analogRead(0); // almacena el voltaje de entrada (digitalizada) en el pin analógico 0 en senVal

Consejos de programación

  • El tipo de la variable en el lado izquierdo del “=” tiene que ser capaz de contener el valor que se desea almacenar en ella. Si no es lo suficientemente grande el valor almacenado en la variable será incorrecto.
  • No se debe confundir el operador de asignación (=) con el operador de comparación (==), que evalúa si dos expresiones son iguales.

7.2. (+ , – , * , / ) Suma, resta, multiplicación y división

La operación se lleva a cabo utilizando el tipo de datos de los operandos, por lo que, por ejemplo, 9 / 4 da 2 (no 2.25) dado que 9 y 4 son enteros. Si los operandos son de tipos diferentes, se utiliza el tipo "más grande" para el cálculo.

Ejemplos

y = y + 3; x = x – 7; i = j * 6; r = r / 5;

Consejos de programación:

  • Las constantes enteras (números usados directamente) son por defecto de tipo int , por lo que algunos cálculos con constantes pueden provocar desbordamiento (por ejemplo, 60 *
  • true (verdadero) es cualquier número distinto de 0. O sea, 1, – 1, 2 y –200 todos se definen como true , en un sentido booleano.

Nota: Téngase en cuenta que las constantes true y false se escriben en minúscula a diferencia de HIGH, LOW, INPUT y OUTPUT, que veremos a continuación, que se escriben en mayúsculas.

9.2. Definición de los pines digitales, INPUT y OUTPUT

Los pines digitales se pueden utilizar como entrada ( INPUT ) o como salida ( OUTPUT ). El cambio de un pin de entrada a salida o viceversa se realiza con pinMode(). Por defecto son de entrada, por lo que no tienen que ser explícitamente declarados como entradas con pinMode().

Los pines configurados como salidas también pueden ser dañados o destruidos si se ponen en cortocircuito a tierra o a la alimentación de 5 V. Por esta razón es conveniente conectar los pines de salida a otros dispositivos con resistencias de 470Ω ó 1K, limitando la corriente máxima.

9.3. Definición de niveles de pin, HIGH y LOW

Al leer o escribir en un pin digital sólo son posibles dos valores: HIGH y LOW.

  • HIGH

Cuando un pin se configura como entrada (INPUT) con pinMode() y se lee con digitalRead(), el microcontrolador devuelve HIGH si en el pin hay un voltaje de 3 V o más. Cuando un pin se configura como salida (OUTPUT) con pinMode() y se pone a HIGH con digitalWrite(), el pin se encontrará a 5 V.

  • LOW

Cuando un pin se configura como entrada (INPUT) con pinMode() y se lee con digitalRead(), el microcontrolador devuelve LOW si en el pin hay un voltaje de 2 V o menos. Cuando un pin se configura como salida (OUTPUT) con pinMode() y se pone a LOW con digitalWrite(), el pin se encontrará a 0 V.

10. TIPOS DE DATOS

10.1. void

La palabra clave void (vacío) se utiliza sólo en las declaraciones de funciones. Indica que la función no retorna ninguna información a la función desde la que se ha llamado. Por ejemplo, las funciones setup() y loop() realizan acciones pero no devuelven información al programa principal.

10.2. boolean

Un valor booleano contiene uno de dos valores, true o false. Una variable booleana ocupa un byte de memoria.

Ejemplos

boolean marcha = false; // crea la variable booleana llamada marcha y le asinga el valor false running = ¡marcha; // cambia la variable marcha de estado

10.3. char

El tipo de datos char ocupa 1 byte de memoria y almacena un valor de carácter. Los caracteres se escriben entre comillas simples, como ‘A’ (para cadenas de caracteres se usan comillas dobles, como "ABC").

Ejemplo

char miletra = 'A';

10.4. int

Los enteros son el principal tipo de datos para el almacenamiento de números, y almacenan un valor de 2 bytes. Esto supone un rango desde -32.768 a 32.767 (valor mínimo de –2^15 y un valor máximo de (2^15) –1).

Ejemplo

int ledPin = 13;

Advertencia

Cuando las variables superan su capacidad máxima, éstas se desbordan y vuelven de nuevo a su capacidad mínima. Hay que tener cuidado pues esto dará lugar a errores o comportamientos extraños.

10.5. unsigned int

Unsigned int (enteros sin signo) almacenan un valor de 2 bytes. Sin embargo, sólo almacenan los valores positivos, permitiendo un rango útil de 0 a 65.535 (2 ^16) – 1).

Ejemplo

unsigned int ledPin = 13;

10.6. long

Las variables long son variables de tamaño extendido para el almacenamiento de números enteros, y almacenan 32 bits (4 bytes), entre –2.147.483.648 y 2.147.483.647.

Ejemplo

long velocidadVar = 186000L; // La 'L' hace que la constante esté en formato long

Todos los métodos siguientes son formas válidas para crear (declarar) una matriz.

int mimatriz[5]; int Pines[] = {2, 4, 8, 3, 6}; int misValores[5] = {2, 4, -8, 3, 2};

Posibilidades de declaración de matrices:

  • Se puede declarar una matriz sin inicializarla, como la matriz mimatriz.
  • En la segunda línea se declara la matriz Pines sin establecer explícitamente su tamaño. El compilador cuenta el número de elementos y crea una matriz del tamaño adecuado.
  • Se puede inicializar y al mismo tiempo asignar el tamaño de la matriz, como en misValores.

b) Acceder a una matriz

Las matrices son cero-indexadas, es decir, al refererise a una matriz, el primer elemento de la matriz está en el índice 0, por lo tanto, misValores[0] será igual a 2, misValores[1] será 4 y así sucesivamente.

Por esta razón, hay que tener cuidado en el acceso a las matrices. Si se accede más allá del final de una matriz (usando un número de índice mayor que el tamaño declarado – 1) se leerá en una posición de la memoria que se utiliza para otros fines, dando lugar a errores. Igualmente, escribir en lugares erróneos de la memoria, “machacando” lo que allí haya dará lugar a un mal funcionamiento del programa. Este tipo de errores también son difíciles de localizar.

c) Para asignar un valor a una matriz

misValores[0] = 10;

d) Para recuperar un valor de una matriz

x = misValores[4];

e) Matrices y bucles for

Las matrices se manipulan muchas veces dentro de los bucles for , donde se utiliza el contador del bucle como el índice de cada elemento de la matriz. Por ejemplo, para imprimir los elementos de una matriz a través del puerto serie, se podría hacer algo como esto:

int i; for (i = 0; i <5; i = i + 1) { Serial.println (Pines[i]); }

Ejemplo

// Knight Rider 2 El coche fantástico

int pinArray [] = {2, 3, 4, 5, 6, 7};

int contador = 0; int temporizacion = 100;

void setup () { // Hacemos todas las declaraciones a la vez for (contador = 0; contador <6; contador ++) { pinMode (pinArray [contador], OUTPUT); } } void loop () { for (contador = 0; contador <6; contador + +) { digitalWrite (pinArray [contador], HIGH); delay (temporizacion); digitalWrite (pinArray [contador], LOW); delay (temporizacion); } for (contador = 5; contador> = 0; contador --) { digitalWrite (pinArray [contador], HIGH); delay (temporizacion); digitalWrite (pinArray [contador], LOW); delay (temporizacion); } }

11. FUNCIONES DE ENTRADA/SALIDA DIGITALES

11.1. pinMode( pin, modo )

Configura el pin especificado para comportarse en modo INPUT (entrada) o en modo OUTPUT (salida). No devuelve nada. Véase la descripción de los pines digitales para más detalles.

Ejemplo

int ledPin = 13; // LED conectado al pin digital 13 void setup () { pinMode (ledPin, OUTPUT); // configura el pin digital como salida } void loop () { digitalWrite (ledPin, HIGH); // enciende el LED delay (1000); // espera un segundo digitalWrite (ledPin, LOW); // apaga el LED delay (1000); // espera un segundo }

Nota: Los pines de entrada analógica se pueden utilizar como pines digitales, referiéndose a ellos como A0, A1, etc. para distinguirlos de los digitales. En las funciones que sólo operan con los pines analógicos, como analogRead(), no hace falta poner la A delante del nº de pin. Por ejemplo:

pinMode (A0, OUTPUT); digitalWrite (A0, HIGH); x = analogRead(0); // es equivalente a x = analogRead(A0)

Nota: Si el pin de entrada analógico no está conectado a nada, el valor devuelto por analogRead() va a fluctuar aleatoriamente en función de una serie de factores.

Ejemplo

// programa para monitorizar el valor de tensión en el terminal intermedio de un potenciómetro. int miPinAnalog = 3; // el terminal intermedio de un potenciómetro conectado al pin analógico 3 // los terminales externos conectados a tierra y +5 V int val = 0; // variable para almacenar el valor leído por el conversor void setup () { Serial.begin (9600); // configuración de la comunicación serie } void loop () { val = analogRead(miPinAnalog); // lee el el valor de tensión en el pin de entrada Serial.println(val); // envía el valor leído vía serie delay(1000); }

12.2. analogWrite( pin, valor )

Escribe un valor (entre 0 y 255) pseudo-analógico (onda PWM ) en el pin digital especificado. Se puede utilizar para encender un LED con brillo variable o hacer girar un motor a varias velocidades. Después de llamar a analogWrite(), en el pin se generará una onda cuadrada constante con el ciclo de trabajo especificado (0 corresponde a siempre “off” y 255 a siempre “ on” ) hasta la siguiente llamada a analogWrite() (o una llamada a digitalRead() o digitalWrite() en el mismo pin).

En la placa Arduino esta función funciona en los pines digitales 3, 5, 6, 9, 10 y 11. No es necesario llamar a pinMode() para establecer el pin como salida para poder usar la función analogWrite().

La función analogWrite() no tiene nada que ver con los pines analógicos o la función analogRead.

Ejemplo

Establece el brillo del LED proporcionalmente al valor de tensión leído en el potenciómetro.

int ledPin = 9; // LED conectado al pin digital 9 int miPinAnalog = 3; // potenciómetro conectado al pin analógico 3 int val = 0; // variable para almacenar el valor leído void setup () { pinMode (ledPin, OUTPUT); // establece el pin como salida } void loop () { val = analogRead (miPinAnalog); // lee el pin de entrada analógica analogWrite (ledPin, val/4); // para escalar valores: los valores de analogRead van de 0 a 1023, // los valores de analogWrite de 0 a 255 }

13. FUNCIONES DE COMUNICACIÓN SERIE

Se utilizan para la comunicación entre la placa Arduino y un ordenador u otros dispositivos. Las placas Arduino se comunican por los pines digitales 0 (RX) y 1 (TX), así como con el ordenador mediante la conexión USB. Por lo tanto, si utiliza estas funciones, no puede usar los pines 0 y 1 para entrada o salida digital.

Se puede utilizar el monitor del puerto serie incorporado en el entorno de Arduino para comunicarse con la placa Arduino. Haga clic en el botón de monitor del puerto serie en la barra de herramientas y seleccione la misma velocidad utilizada en la llamada a Serial.begin().

13.1. Serial.begin( valor )

Establece la velocidad de transmisión de datos en bits por segundo (baudios) para la transmisión de datos serie. Para comunicarse con el ordenador, suele utilizarse 9600 baudios.

Ejemplo

void setup() { Serial.begin (9600); // abre el puerto serie, establece la velocidad de datos a 9600 bps } void loop() {}

13.2. Serial.end()

Desactiva la comunicación serie, permitiendo a los pines 0 (RX) y 1 (TX) ser utilizados como entradas o salidas digitales. Para volver a habilitar la comunicación serie, se llama a Serial.begin(). La función Serial.end() no lleva ningún parámetro.

13.3. Serial.print( valor )

Imprime los datos al puerto serie como texto legible ASCII. Los datos float son impresos por defecto con dos decimales. Serial.print() no añade retorno de carro ni nueva línea.

Ejemplos :

  • Serial.print (78); // imprime "78"
  • Serial.print (1.23456); // imprime "1.23"
  • Serial.print ('N'); // imprime "N"
  • Serial.print ("Hola mundo."); // imprime "Hola mundo."
  • Serial.print ("\t"); // imprime un tabulador

Un segundo parámetro opcional especifica el formato a usar. Para los números de punto flotante, este parámetro especifica el número de decimales a utilizar.

Ejemplos :

  • Serial.print (1.23456, 0) imprime "1"