0% encontró este documento útil (0 votos)
4 vistas14 páginas

Funciones Básicas de Arduino

El manual de programación de Arduino detalla cómo programar el microcontrolador utilizando un entorno de desarrollo que incluye un editor de texto y herramientas para compilar y cargar programas. Se describen la estructura básica de un programa, la sintaxis del código, los operadores, las variables y las funciones esenciales como setup() y loop(). Además, se explican los tipos de datos y las funciones para interactuar con el hardware, permitiendo la automatización de tareas mediante la lectura de sensores y el control de actuadores.

Cargado por

johneridanusii
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas14 páginas

Funciones Básicas de Arduino

El manual de programación de Arduino detalla cómo programar el microcontrolador utilizando un entorno de desarrollo que incluye un editor de texto y herramientas para compilar y cargar programas. Se describen la estructura básica de un programa, la sintaxis del código, los operadores, las variables y las funciones esenciales como setup() y loop(). Además, se explican los tipos de datos y las funciones para interactuar con el hardware, permitiendo la automatización de tareas mediante la lectura de sensores y el control de actuadores.

Cargado por

johneridanusii
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Manual de programación de Arduino

Programar Arduino consiste en traducir a líneas de código las tareas


automatizadas que se quieren hacer leyendo de los sensores y en función de las
condiciones del entorno programar la interacción con el mundo exterior mediante
los actuadores.
Arduino proporciona un entorno de programación sencillo y potente para
programar, pero además incluye las herramientas necesarias para compilar el
programa y “quemar” el programa ya compilado en la memoria flash del
microcontrolador.
El entorno de desarrollo Arduino está constituido por un editor de texto para
escribir el código, un área de mensajes, una consola de texto, una barra de
herramientas con botones para las funciones comunes, y una serie de menús.
Permite la conexión, por USB, con el hardware de Arduino para cargar los
programas y comunicarse con ellos.
Arduino utiliza para escribir el código fuente o programa de aplicación lo que
denomina "sketch" (programa). Estos programas son escritos en el editor de texto.
Existe la posibilidad de cortar/pegar y buscar/remplazar texto. En el área de
mensajes se muestra información mientras se cargan los programas y también
muestra errores. La consola muestra el texto de salida para el entorno de Arduino
incluyendo los mensajes de error completos y otras informaciones. La barra de
herramientas permite verificar el proceso de carga, creación, apertura y guardado
de programas, y la monitorización serie.

Estructura básica de un programa de Arduino


La estructura básica de programación de Arduino tiene una estructura
secuencial, es decir, que su ejecución sigue un orden, esto facilita su diseño,
escritura e interpretación. Entonces, divide la ejecución en al menos dos partes.
Estas dos partes o funciones son obligatorias y encierran bloques que contienen
declaraciones, estamentos o instrucciones. Cuando se abre el software de Arduino,
por defecto viene con la siguiente estructura:

En donde setup() es la parte encargada de recoger la configuración, es decir,


las ordenes. Por otro lado, loop() va a contener el programa que se va a ejecutar
cíclica o periódicamente.

1
Sintaxis básica de código de Arduino
Un código en Arduino posee algunos caracteres elementales que le permiten
al compilador convertir lo que se escribe en el editor en información que pueda
interpretar el microcontrolador.
1.- Bloques de comentarios /* */
Se puede usar para escribir comentarios en el programa. Los comentarios
son las líneas que se usan para documentar el código y notificar a otros
programadores sobre el funcionamiento de ese fragmento de código en particular.
No se exporta al procesador, por lo que no ocupa espacio en la memoria del
microcontrolador. Es sólo para ayudar a entender el código.
Sintaxis: /* Comentarios */
2.- Línea de comentarios //
Cuando lo que se quiere es poner un comentario de una sola línea se puede
usar “//” y después escribir el comentario. De manera similar a “/* */”, estas líneas
de comentario también son ignoradas por el compilador y de la misma manera que
el “Bloque de comentarios”, ayudan a entender cómo funciona el programa.
Sintaxis: // Comentario
3.- Las llaves {}
Las llaves sirven para definir el principio y el final de un bloque de
instrucciones. Se utilizan para los bloques de programación setup(), loop(), if, etc.
Cada llave abierta “{” debe tener una llave cerrada “}”. Si alguna llave no tiene su
pareja se marcará un error de compilación. Por lo general el código dentro de las
llaves es un bloque que puede ser una función.
4.- Punto y coma ;
El punto y coma separa cada línea de código en el programa. Se utiliza para
separar instrucciones en el lenguaje de programación de Arduino, también se utiliza
para separar elementos en una instrucción de tipo “bucle for”. Por otro lado, la falta
de uno provoca que se dispare un error al compilar.
5.- Paréntesis ()
Los paréntesis permiten indicar parámetros de entrada a las llamadas
funciones, mientras que las llaves delimitan el código que contienen dichas
funciones.
6.- Los corchetes [ ]
Los corchetes se utilizan en los datos denominados arreglos y sirven para
identificarlos, es decir, indicar el elemento del arreglo al que se desea acceder.

2
Los operadores
Un operador en Arduino se define como un elemento de programa que es
aplicado a uno o varios operandos en una instrucción o expresión determinada.
Consiste en un símbolo que representa una operación e indica al compilador lo que
se tiene que llevar a cabo en función de manipulaciones lógicas o matemáticas.
Los operadores de Arduino son aquellos que sirven para poder efectuar
operaciones básicas, al igual que, operaciones booleanas, operaciones de
comparación, etc.

Operadores de Comparación
Las comparaciones de una variable o constante con otra se utilizan con
frecuencia en las estructuras condicionales del tipo if, while, etc. para testear si una
condición es verdadera.
1.- ! = (Comparación de diferencia)
Compara la variable de la izquierda con el valor o la variable de la derecha
del operador. Devuelve “verdadero” cuando los dos operandos no son iguales.
2.- < (menor que)
Compara la variable de la izquierda con el valor o la variable de la derecha
del operador. Devuelve “verdadero” cuando el operando de la izquierda es menor
que el operando de la derecha.
3.- <= (menor o igual que)
Compara la variable de la izquierda con el valor o la variable de la derecha
del operador. Devuelve “verdadero” cuando el operando de la izquierda es menor o
igual que el operando de la derecha.
4.- == (Comparación de igualdad)
Compara la variable de la izquierda con el valor o la variable de la derecha
del operador. Devuelve “verdadero” cuando los dos operandos son iguales.
5.- > (mayor que)
Compara la variable de la izquierda con el valor o la variable de la derecha
del operador. Devuelve “verdadero” cuando el operando de la izquierda es mayor
que el operando de la derecha.
6.- >= (mayor o igual que)
Compara la variable de la izquierda con el valor o la variable de la derecha
del operador. Devuelve “verdadero” cuando el operando de la izquierda es mayor o
igual que el operando de la derecha.

3
Operadores Booleanos
Los operadores lógicos o booleanos son usualmente una forma de comparar
dos expresiones y devuelve un “verdadero” o “falso” dependiendo del operador.
Existen tres operadores lógicos, AND (&&), OR (||) y NOT (!), que a menudo se
utilizan en estamentos de tipo “if”.
1.- ! (NOT lógico)
El NOT lógico da como resultado un “verdadero” si el operando es “falso” y
viceversa.
2.- && (AND lógico)
El AND lógico da como resultado “verdadero” solo si ambos operandos
son “verdaderos”.

Operadores Compuestos
Si se combinan operadores aritméticos entre sí, se aginarán nuevas
funcionalidades a las variables. Los operadores compuestos combinan una
operación aritmética con una variable asignada. Estas son comúnmente utilizadas
en los bucles.
1.- ++ (Incremento)
Incrementa el valor de una variable en 1.
Sintaxis: x++;
2.- += (suma compuesta)
Este es un método abreviado conveniente para realizar la suma de una
variable con otra constante o variable.
Sintaxis: x += y;
3.- -- (decremento)
Disminuye el valor de una variable en 1.
Sintaxis: x-- ; // disminuye x en uno y devuelve el antiguo valor de x
--x ; // disminuye x en uno y devuelve el nuevo valor de x
4.- -= (resta compuesta)
Este es un método abreviado conveniente para realizar la resta de una
constante o una variable de una variable.
Sintaxis: x -= y;

4
Variables
¿Qué es una variable?
Una variable es una zona de la memoria donde se puede almacenar un dato,
es decir, al declarar una variable se hace una reserva de memoria de un tamaño tal
que depende del tipo de dato que se vaya a almacenar.
Se usan para almacenar el resultado de una operación, la lectura de una
entrada, para pasar parámetros a una función, para hacer operaciones con ellas,
para poder hacer una comparación entre ellas y decidir si ejecutar una parte del
código u otra, en definitiva para almacenar cualquier dato que se deba utilizar en el
programa.
Declaración de variables
Antes de ser utilizadas, todas las variables tienen que ser declaradas. La
declaración de una variable significa definir su tipo, y opcionalmente, el
establecimiento de un valor inicial (inicializar la variable). Una variable puede ser
declarada al inicio del programa antes de la parte de configuración setup(), a nivel
local dentro de las funciones, y a veces, dentro de un bloque, como para los bucles
del tipo if, for, etc. En función del lugar de declaración de la variable así se
determinará el ámbito de aplicación, o la capacidad de ciertas partes de un
programa para hacer uso de ella.
Para declarar una variable se comienza por definir su tipo como int, long,
float, etc. asignándoles siempre un nombre, y opcionalmente, un valor inicial. Esto
sólo debe hacerse una vez en un programa, pero el valor se puede cambiar en
cualquier momento usando aritmética y reasignaciones diversas.

Tipos de datos en Arduino


Arduino permite manejar varios tipos de datos, a continuación se muestran
algunos tipos de datos utilizados en el ambiente de programación de Arduino.
1.- int: Los enteros son un tipo de datos primarios que almacenan valores
numéricos de 16 bits sin decimales comprendidos en el rango 32,767 a -32,768.
Este tipo es el más usado para variables de propósito general en Arduino, en los
códigos de ejemplo que vienen con el IDE.
2.- byte: Byte almacena un valor numérico de 8 bits sin decimales. Se puede
usar para guardar valores enteros desde 0 hasta 255. También se puede usar para
guardar caracteres de un serial Read.
3.- boolean: Es un tipo de variable que solo tiene dos posibles estados
“TRUE” o “FALSE”. Cada variable boolean ocupa 1 byte de memoria. Se utilizan
este tipo de variables con el fin de facilitar la escritura y razonamientos de
programas, ya que permiten tomar decisiones con sus estados.

5
Funciones
¿Qué es una función?
Una función es un bloque de código que tiene un nombre y un conjunto de
estamentos que son ejecutados cuando se llama a la función, este conjunto de
instrucciones realizan una tarea específica. Al utilizar funciones se puede ordenar y
hacer más compacto el código organizándolo por bloques.
1.- Setup()
La función Setup() es la primera función a ejecutarse dentro de un programa
en Arduino, esta función solo se ejecutará una vez después de cada encendido o
reinicio de la placa Arduino, además, es utilizada para iniciar los modos trabajo de
los pines.
2.- loop()
La función loop en Arduino es la que se ejecuta un número infinito de veces.
Al encenderse el Arduino se ejecuta el código del setup y luego se entra al loop, el
cual realiza precisamente lo que su nombre indica y se repite de forma indefinida
hasta que se apague o se reinicie el microcontrolador.
3.- pinMode()
Esta función es utilizada en la función setup(), sirve para configurar el pin
especificado para actuar como entrada (INPUT) o salida digital (OUTPUT).
Sintaxis: pinMode(pin, mode).
4.- digitalWrite()
La función digitalWrite() envía un valor HIGH (alto) o LOW (bajo) a un pin
digital declarado previamente como salida.
Si el pin ha sido configurado como OUTPUT (salida) con pinMode(), su
voltaje se establece en el valor correspondiente: 5V para HIGH, 0V para LOW.
Sintaxis: digitalWrite(pin, valor)
5.- digitalRead()
Lee el valor de un pin (definido como digital) dando un resultado HIGH (alto)
o LOW (bajo). El pin se puede especificar ya sea como una variable o una constante
(0-13).
Sintaxis: digitalRead(pin)

6
6.- delay()
Introduce una pausa en el programa la cantidad de tiempo en milisegundos
que se indica como parámetro en la propia instrucción. De tal manera que 1 s =
1000 milisegundos. Su sintaxis es: delay(ms)
7.- beginSerial()
Normalmente iría en el bloque void setup(). El número que debe ir entre
paréntesis es la velocidad de transmisión y en comunicación serial este valor es
muy importante ya que todos los dispositivos que van a comunicarse con Arduino
deben tener la misma velocidad para poder entenderse.
Sintaxis: beginSerial(speed)
8.- serialWrite()
Escribe los datos binarios al puerto serie. Estos datos se envían como un
byte o una serie de bytes; para enviar los caracteres que representan los dígitos de
un numero se usa la función print() en su lugar.
Sintaxis: serialWrite(val)
9.- randomSeed()
randomSeed() inicializa el generador de números pseudo aleatorios,
haciendo que se inicie en un punto arbitrario en su secuencia aleatoria. Esta
secuencia, aunque muy larga, y al azar, es siempre la misma.
10.- analogWrite()
Esta función escribe en el pin indicado un valor analógico (onda PWM). Este
valor puede ser utilizado para iluminar un LED con una intensidad variable o hacer
rotar el eje de un motor eléctrico a velocidades variables.
En la mayor parte de las placas Arduino, esta función puede ser usada con
los pines 3, 5, 6, 9, 10 y 11. En el Arduino Mega, funciona con los pines 2 al 13 y
del 44 al 46. Modelos más antiguos de Arduino con el procesador ATmega8 solo
pueden ejecutar analogWrite() en los pines 9, 10 y 11.
Sintaxis: analogWrite(pin, valor)

7
11.- analogRead()
Esta función lee el valor presente en el pin analógico especificado con una
resolución de 10 bits. Esta instrucción sólo funciona en los pines (0-5). El rango de
valor que se puede leer oscila de 0 a 1023.
Sintaxis: analogRead(pin)
12.- [Link]()
Establece la velocidad de datos en bits por segundo (baudios) para la
transmisión de datos en serie. Para comunicarse con la computadora se utilizan una
de estas tasas: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400,
57600 o 115200. Sin embargo, se pueden especificar otras tasas.
Sintaxis: [Link](speed)
13.- [Link]()
Imprime datos en el puerto serie como texto ASCII legible por humanos
seguido de un carácter de retorno de carro (ASCII 13 o '\ r') y un carácter de nueva
línea (ASCII 10 o '\ n'). Este comando tiene las mismas formas que [Link] ()
Sintaxis: [Link](val)
[Link](val, format)
14.- [Link]()
Vuelca o envía un número o una cadena de caracteres, al puerto serie. Dicho
comando puede tomar diferentes formas, dependiendo de los parámetros que
utilicemos para definir el formato de volcado de los números.
Sintaxis: [Link](val)
[Link](val, format)
15.- delayMicroseconds()
Pausa el programa durante el tiempo (en microsegundos) especificado por el
parámetro. Hay mil microsegundos en un milisegundo y un millón de microsegundos
en un segundo. Actualmente, el valor más grande que producirá un retraso preciso
es 16383. Esto podría cambiar en futuras versiones de Arduino. Para retrasos
superiores a unos pocos miles de microsegundos, debería utilizar delay()
en su lugar.
Sintaxis: delayMicroseconds(us)

8
16.- [Link]()
En el lenguaje Arduino Serial Read es una función que permite leer (recibir)
bytes mediante un puerto Serial. La función puede funcionar asíncronamente. Una
de las características principales del puerto serial de Arduino, es que sólo puede
enviar o recibir un byte por transmisión. Entonces para poder usar a la función
[Link]() se requiere indicar, de preferencia, cuantos bytes son los que se
quieren leer.
Sintaxis: [Link]()
17.- printByte()
PrintByte se usa para comunicar con el puerto serie. Imprime un solo byte en
el puerto serie (no los caracteres ASCII que representan el valor numérico de ese
byte).

9
Estructuras de control
1.- Sentencia “if” con Arduino
Las sentencias condicionales “if” con Arduino son las más utilizadas en
programación de proyectos Maker. Sirven para que el programa haga una cosa u
otra dependiendo de cada situación.
La sintaxis de la sentencia “if” con Arduino es sencilla. Se comienza
escribiendo la palabra reservada “if”. Luego entre paréntesis se pone la condición
y por último se abren y cierran las llaves. De este modo la condición es la que hará
que se ejecute el código que hay entre las llaves.
Sintaxis: if (condition)
{
//statement(s)
}
2.- for
La declaración “for” se usa para repetir un bloque de sentencias encerradas
entre llaves un número determinado de veces. Cada vez que se ejecutan las
instrucciones del bucle se vuelve a comprobar la condición. La declaración “for”
tiene tres partes separadas por un punto y coma.
Sintaxis: for (initialization; condition; increment)
{
//instrucción(es);
}
3.- Sentencia if...else
El bucle if...else permite un mayor control del flujo de código que la
instrucción básica if, al permitir múltiples comprobaciones agrupadas.
Sintaxis: if (pinFiveInput < 500)
{
// acción A
}
else
{
// acción B
}

10
4.- While
Un bucle del tipo while es un bucle de ejecución continua mientras se cumpla
la expresión colocada entre paréntesis en la cabecera del bucle. La variable de
prueba tendrá que cambiar para salir del bucle. La situación podrá cambiar a
expensas de una expresión dentro el código del bucle o también por el cambio de
un valor en una entrada de un sensor.
Sintaxis: while(condition){
// statement(s)
}

11
Bibliografía
¿Qué es el lenguaje Arduino? Explicación de la programación de las placas Arduino. (s.f.). Obtenido
de Descubre Arduino: [Link]

330ohms. (10 de septiembre de 2019). Mejora tu programación en Arduino: Conceptos previos.


Obtenido de 330 ohms: [Link]
en-arduino-conceptos-previos/

Arduino en español. (s.f.). Obtenido de Variables:


[Link]

Arduino Serial Read. (s.f.). Obtenido de HETPRO: [Link]


serial-read/

[Link]. (s.f.). Guía de Referencia de Arduino. Obtenido de [Link]:


[Link]

boolean. (s.f.). Obtenido de [Link]:


[Link]

del Valle , L. (s.f.). Sentencia if con Arduino, controla la ejecución de tu código. Obtenido de
Programarfacil: [Link]

Digitalwrite(). (s.f.). Obtenido de El Octavo Bit: [Link]


arduino/digitalwrite/

Entorno de programación. (s.f.). Obtenido de Practicas con Arduino:


[Link]

Estrada, R. (s.f.). Arduino Byte – Variable de 8 bits, Ejemplos y uso. Obtenido de HETPRO:
[Link]

Estructuras de control (Control de Flujo). (s.f.). Obtenido de Aprendiendo Arduino:


[Link]
programacion-3/

Funciones Arduino. (s.f.). Obtenido de Descubre Arduino: [Link]

Funciones definidas por usuario. (s.f.). Obtenido de Aprendiendo Arduino:


[Link]
usuario-2/

García , A. (10 de marzo de 2015). El setup y el loop en Arduino. Obtenido de Panamahitek:


[Link]

Gómez , M. (s.f.). Primeros pasos con Arduino. Obtenido de SliderPlayer:


[Link]

GUIA A LA PROGRAMACION DE ARDUINO. (s.f.). Obtenido de Prometec:


[Link]

12
if...else. (s.f.). Obtenido de Arduino en español:
[Link]

ijorquera. (s.f.). Introducción a los Tipos de Dato con Arduino. Obtenido de [Link]:
[Link]

LENGUAJE DE PROGRAMACIÓN DE ARDUINO. (04 de febrero de 2018). Obtenido de Slideshare:


[Link]

MANUAL DE LENGUAJE DE PROGRAMACIÓN DE ARDUINO. (s.f.). Obtenido de Escuela Profesional


de Ingeniería Mecatrónica : [Link]
content/uploads/sites/791/2015/10/[Link]

Manual de Programación. (s.f.). Obtenido de arduinobot:


[Link]

Operadores. (s.f.). Obtenido de Aprendiendo Arduino:


[Link]

Operadores Booleanos. (s.f.). Obtenido de El Octavo Bit: [Link]


programacion-arduino/operadores-booleanos/

Operadores compuestos. (s.f.). Obtenido de El Octavo Bit: [Link]


programacion-arduino/operadores-compuestos/

Operadores de comparación. (s.f.). Obtenido de El Octavo Bit: [Link]


programacion-arduino/operadores-de-comparacion/

Operadores en programación Arduino ¿Qué son, para qué sirven y cuáles son los más importantes?
(s.f.). Obtenido de Internetpasoapaso: [Link]
arduino/

Programación Arduino. (23 de enero de 2017). Obtenido de Aprendiendo Arduino:


[Link]

Programación en Arduino. (s.f.). Obtenido de Proyectos con Arduino:


[Link]

Proserquisa. (05 de octubre de 2016). Tutorial 6: ¿Qué es una función? y como utilizarla. Obtenido
de Curso Arduino: [Link]
una-funcion-y-como-utilizarla/

Rivera, J. (04 de junio de 2019). VARIABLES Y TIPOS DE DATOS EN ARDUINO. Obtenido de Pasión
Electrónica: [Link]

Ruiz, C. (26 de septiembre de 2016). Estructura de un programa en Arduino. Obtenido de


OpenLanuza: [Link]

Ruiz, C. (15 de marzo de 2017). Funciones en Arduino. Obtenido de Open Lanuza:


[Link]

13
[Link](). (s.f.). Obtenido de Arduino Get Started:
[Link]

14

También podría gustarte