Taller 9 - María Reichelt, Carlo Sanchez y Mohamad Tarbein
Taller 9 - María Reichelt, Carlo Sanchez y Mohamad Tarbein
Taller 9
04-08-2021
Introducción
Un array es una colección de variables a las que se accede con un número de índice.
Los arrays en el lenguaje de programación C ++ en las que se escriben los sketches de
Arduino pueden ser complicadas, pero usar arrays simples es relativamente sencillo.
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, no se puede crear un array sin definir
su tamaño, sino da un error de compilación.
Declarar un Array
Cualquiera de estos métodos es válido para declarar un array:
int myInts[6];
int myPins[] = {2, 4, 8, 3, 6};
int mySensVals[6] = {2, 4, -8, 3, 2};
char message[6] = "hello";
Puede declarar un array sin inicializarlo como en myInts. En myPins declaramos una
matriz sin elegir explícitamente un tamaño. El compilador cuenta los elementos y crea
un array del tamaño apropiado. Finalmente, puede inicializar y dimensionar el array,
como en mySensVals. Hay que tener en cuenta que al declarar un array de tipo char,
se requiere un elemento más que su inicialización para contener el carácter nulo
requerido.
Accesar un Array
Arrays are zero indexed, that is, referring to the array initialization above, the first
element of the array is at index 0, hence
Los arrays están indexados a cero, esto quiere decir que, en referencia a la
inicialización del array anterior, el primer elemento del array está en el índice 0, por
ende:
mySensVals[0] == 2, mySensVals[1] == 4, y asi sucesivamente.
También significa que en un array con diez elementos, el índice nueve es el último
elemento.
Una característica de los strings es el carácter de terminación del string que nos indica
dónde acaba la cadena de caracteres. Podemos tener un string de tamaño 50 para
almacenar una cadena de caracteres, pero unas veces puede tener una sola palabra o
una frase completa. Esto permite a funciones como Serial.print() saber hasta dónde
debe leer del string para mostrarlo por pantalla.
Esto significa que un string para almacenar la palabra “hola” debe tener un tamaño de 5
y no de 4 para poder guardar el null termination.
Los strings siempre se definen entre dobles comillas “hola”, mientras que los caracteres
siempre se definen con comillas simples ‘h’.
Objetivos:
Ejercitarse en el uso de los pines digitales de entrada o INPUT
Detectar los problemas que puede dar el uso de la función “delay”
Materiales:
Tarjeta Arduino
6 LEDs
6 resistencias de 220 Ω
Cables de conexión
Tablero de circuitos
1. Array
Esta variación del ejemplo For Loop Iteration muestra cómo utilizar un array. Un array
es una variable con varias partes. Si piensa en una variable como una taza que
contiene valores, podría pensar en un array como una bandeja de cubitos de hielo. Es
como una serie de copas enlazadas, todas las cuales pueden contener el mismo valor
máximo.
El ejemplo de For Loop Iteration muestra cómo encender una serie de LED conectados
a los pines 2 a 7 de la placa Arduino, con ciertas limitaciones (los pines deben estar
numerados contiguamente y los LED deben encenderse en secuencia).
Este ejemplo le muestra cómo puede activar una secuencia de pines cuyos números no
son contiguos ni necesariamente secuenciales. Para hacer esto, puede poner los
números de pin en un array y luego usar bucles for para iterar sobre el array.
Este ejemplo hace uso de 6 LED conectados a los pines 2-7 en la placa usando
resistencias de 220 ohmios, al igual que en el bucle For. Sin embargo, aquí el orden de
los LED está determinado por su orden en el array, no por su orden físico.
Esta técnica de colocar los pines en un array es muy útil. No es necesario que los pines
sean secuenciales entre sí, ni siquiera en el mismo orden. Puede reorganizarlos en el
orden que desee.
Código en IDE
Corrida del código en UnoArduSim
Conclusiones
En conclusión, en este laboratorio aprendimos sobre el uso de un bucle while
enfocado en la calibración de sensores, cumpliendo con los objetivos del taller
#9.
Aprendimos que la función if () es aquella que permite que se realice una
acción, de forma que hay dos opciones de respuesta: verdadero o falso,
convirtiéndola en una estructura básica de control en Arduino.
En el laboratorio pudimos familiarizarnos con función if () con las llaves {}, si una
función era verdadera, procedía a realizar las funciones dentro de la llave.
Bibliografía
[1] Arduino – Arrays
(https://www.arduino.cc/en/Tutorial/BuiltInExamples/Arrays)
[7] Demystify using Arrays with Arduino by watching this indpeth Video Tutorial
(https://www.programmingelectronics.com/tutorial-13-how-to-use-arrays-with-
arduino/)