0% encontró este documento útil (0 votos)
7 vistas

SEMANA III Variables en Arduino

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)
7 vistas

SEMANA III Variables en Arduino

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
Está en la página 1/ 34

Variables en arduino

Semana III
Llaves {}
• Las llaves definen el principio y el final de un bloque de instrucciones.
Se usan para delimitar el inicio y fin de funciones como setup()o para
delimitar el alcance de los bucles y condicionales del programa.
Punto y coma ;
• El punto y coma ";" se utiliza para definir el final de una instrucción y
separarla de la siguiente. Si no colocamos punto y coma, el programa
va a interpretar mal las instrucciones y se va a producir un error de
compilación.

• El error más común a la hora de programar suele ser olvidar poner


punto y coma al final de la instrucción.
variables
• Una variable es una manera de nombrar y almacenar un valor
numérico para su uso posterior por el programa. Como su nombre
indica, las variables son números que se pueden variar
continuamente en contra de lo que ocurre con las constantes cuyo
valor nunca cambia. Una variable debe ser declarada y,
opcionalmente, asignarle un valor.
• El siguiente código de ejemplo
• declara una variable llamada variableEntrada
• y luego le asigna el valor obtenido en la entrada analógica del PIN2:
• 'variableEntrada' es la variable en sí. La primera línea declara que será de tipo entero
“int”. La segunda línea fija a la variable el valor correspondiente a la entrada analógica
PIN2. Esto hace que el valor de PIN2 sea accesible en otras partes del código.
• Una vez que una variable ha sido asignada, o re-asignada, usted puede probar su valor
para ver si cumple ciertas condiciones (instrucciones if..), o puede utilizar directamente
su valor.
• Como ejemplo, veamos tres operaciones útiles con variables:
• el siguiente código prueba si la variable “entradaVariable” es inferior a 100, si es cierto se
asigna el valor 100 a “entradaVariable” y, a continuación, establece un retardo (delay)
utilizando como valor “entradaVariable” que ahora será como mínimo de valor 100:
• Nota: Las variables deben tomar nombres descriptivos, para hacer el
código más legible.
• Nombres de variables pueden ser “contactoSensor” o “pulsador”,
para ayudar al programador y a cualquier otra persona a leer el
código y entender lo que representa la variable.
• Nombres de variables como “var” o “valor”, facilitan muy poco que el
código sea inteligible. Una variable puede ser cualquier nombre o
palabra que no sea una palabra reservada en el entorno de Arduino.
declaración de variables
• Todas las variables tienen que declararse antes de que puedan ser
utilizadas. Para declarar una variable se comienza por definir su tipo
como int (entero), long (largo), float (coma flotante), 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.
• El siguiente ejemplo declara la variable entradaVariable como una
variable de tipo entero “int”, y asignándole un valor inicial igual a
cero. Esto se llama una asignación.
• Una variable puede ser declarada en una serie de lugares del
programa y en función del lugar en donde se lleve a cabo la definición
esto determinará en que partes del programa se podrá hacer uso de
ella.
Utilización de una 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
determinara el ámbito de aplicación, o la capacidad de ciertas partes
de un programa para hacer uso de ella.
• Una variable global es aquella que puede ser vista y utilizada por
cualquier función y estamento de un programa. Esta variable se
declara al comienzo del programa, antes de setup().
• Una variable local es aquella que se define dentro de una función o
como parte de un bucle. Sólo es visible y sólo puede utilizarse dentro
de la función en la que se declaró.
• Es posible tener dos o más variables del mismo nombre en diferentes
partes del mismo programa que pueden contener valores diferentes.
La garantía de que sólo una función tiene acceso a sus variables
dentro del programa simplifica y reduce el potencial de errores de
programación.
• El siguiente ejemplo muestra cómo declarar a unos tipos diferentes
de variables y la visibilidad de cada variable:
byte
• Byte almacena un valor numérico de 8 bits sin decimales. Tienen un
rango entre 0 y 255
Int
• Enteros son un tipo de datos primarios que almacenan valores numéricos
de 16 bits sin decimales
• comprendidos en el rango 32,767 to -32,768.

• Nota: Las variables de tipo entero “int” pueden sobrepasar su valor


máximo o mínimo como consecuencia de una operación. Por ejemplo, si x
= 32767 y una posterior declaración agrega 1 a x, x = x + 1 entonces el valor
de x pasará a ser -32.768. (algo así como que el valor da la vuelta)
long
• El formato de variable numérica de tipo extendido “long” se refiere a
números enteros (tipo 32 bits) sin decimales que se encuentran
dentro del rango -2147483648 a 2147483647.
float
• El formato de dato del tipo “punto flotante” “float” se aplica a los
números con decimales. Los números de punto flotante tienen una
mayor resolución que los de 32 bits con un rango comprendido
3.4028235E +38 a -3.4028235E+38.

• Nota: Los números de punto flotante no son exactos, y pueden


producir resultados extraños en las comparaciones. Los cálculos
matemáticos de punto flotante son también mucho más lentos que
los del tipo de números enteros, por lo que debe evitarse su uso si es
posible.
arrays
• Es un conjunto de valores a los que se accede con un número índice.
Cualquier valor puede ser recogido haciendo uso del nombre de la
matriz y el número del índice.
• El primer valor de la matriz es el que está indicado con el índice 0, es
decir el primer valor del conjunto es el de la posición 0. Un array tiene
que ser declarado y opcionalmente asignados valores a cada posición
antes de ser utilizado
• Del mismo modo es posible declarar una matriz indicando el tipo de
datos y el tamaño y posteriormente, asignar valores a una posición
especifica:

• Para leer de un array basta con escribir el nombre y la posición a leer:


• Las matrices se utilizan a menudo para estamentos de tipo bucle, en
los que la variable e incremento del contador del bucle se utiliza
como índice o puntero del array. El siguiente ejemplo usa una matriz
para el parpadeo de un LED.
• Ejemplo:
• Utilizando un bucle tipo for, el contador comienza en cero 0 y escribe
el valor que figura en la posición de índice 0 en la serie que hemos
escrito dentro del array parpadeo[], en este caso 180, que se envía a
la salida analógica tipo PWM configurada en el PIN10, se hace una
pausa de 200 ms y a continuación se pasa al siguiente valor que
asigna el índice “i”.
aritmética
• Los operadores aritméticos que se incluyen en el entorno de programación son suma,
resta, multiplicación y división. Estos devuelven la suma, diferencia, producto, o cociente
(respectivamente) de dos operandos

• La operaciones se efectúa teniendo en cuanta el tipo de datos que hemos definido para
los operandos (int, dbl, float, etc..), por lo que,
• por ejemplo, si definimos 9 y 4 como enteros “int”,
• 9 / 4 devuelve de resultado 2 en lugar de 2,25 ya que el 9 y 4 de valores de tipo entero
“int” (enteros) y no se reconocen los decimales con este tipo de datos.
• Esto también significa que la operación puede sufrir un
desbordamiento si el resultado es más grande que lo que puede ser
almacenada en el tipo de datos. Recordemos el alcance de los tipos
de datos numéricos que ya hemos explicado anteriormente.
• Si los operandos son de diferentes tipos, para el cálculo se utilizará el
tipo más grande de los operandos en juego. Por ejemplo, si uno de los
números (operandos) es del tipo float y otra de tipo integer, para el
cálculo se utilizará el método de float es decir el método de coma
flotante.
• Elija el tamaño de las variables de tal manera que sea lo
suficientemente grande como para que los resultados sean lo precisos
que usted desea. Para las operaciones que requieran decimales utilice
variables tipo float, pero sea consciente de que las operaciones con
este tipo de variables son más lentas a la hora de realizarse el
computo..
• Nota: Utilice el operador (int) myFloat para convertir un tipo de
variable a otro sobre la marcha.
• Por ejemplo, i = (int) 3,6 establecerá i igual a 3.
Asignaciones Compuestas
• Las asignaciones compuestas combinan una operación aritmética con
una variable asignada. Estas son comúnmente utilizadas en los bucles.
Estas asignaciones compuestas pueden ser:

• Nota: Por ejemplo, x * = 3 hace que x se convierta en el triple del


antiguo valor x y por lo tanto x es reasignada al nuevo valor .
operadores de comparación
• Las comparaciones de una variable o constante con otra se utilizan
con frecuencia en las estructuras condicionales del tipo if.. para
testear si una condición es verdadera. En los ejemplos posteriores se
verá su utilización práctica usando los siguientes tipo de
condicionales:
operadores lógicos
• Los operadores lógicos son usualmente una forma de comparar dos
expresiones y devolver 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..:
constantes
• Estas son constantes booleanas que definen los niveles HIGH (alto) y
LOW (bajo) cuando estos se refieren al estado de las salidas digitales.
FALSE se asocia con 0 (cero), mientras que TRUE se asocia con 1, pero
TRUE también puede ser cualquier otra cosa excepto cero.
• Por lo tanto, en sentido booleano, -1, 2 y -200 son todos también se
define como TRUE. (esto es importante tenerlo en cuanta)
high/low
• Estas constantes definen los niveles de salida altos o bajos y se
utilizan para la lectura o la escritura digital para las patillas. ALTO se
define como en la lógica de nivel 1, ON, ó 5 voltios, mientras que
BAJO es lógica nivel 0, OFF, o 0 voltios.
input/output
• Estas constantes son utilizadas para definir, al comienzo del programa,
el modo de funcionamiento de los pines mediante la instrucción
pinMode de tal manera que el pin puede ser una entrada INPUT o
una salida OUTPUT.
ejercicio
• En el siguiente programa indicar los tipos de variables que se usan,
por su localización indicar el tipo de variable.
• GRACIAS POR SU ATENCIÓN

También podría gustarte