ARDUINO PROGRAMMING

Description

Programación de módulos Arduino
Jorge Hernández
Flashcards by Jorge Hernández, updated more than 1 year ago
Jorge Hernández
Created by Jorge Hernández over 8 years ago
178
3

Resource summary

Question Answer
¿Cómo está estructurado un programa en Arduino? Un programa en Arduino se compone de dos funciones: la función setup() y la función loop(). La primera define la configuración del sistema y la segunda el cuerpo del programa.
¿Qué es una función? Una función es un bloque nominal de código que realiza una tarea especifica. La constituyen un conjunto de estamentos o instrucciones que se ejecutan cuando se llama o invoca la función desde otras partes del programa.
¿Cómo se declara una función? Una función se declara de acuerdo a la sintaxis anterior. "type" es el tipo de valor que devuelve la función y "parámetros" los valores que se deben pasar a la función para que se ejecute.
¿Qué hace la siguiente función? ¿Qué valor retorna? ¿Qué parámetros recibe? Ejecuta cíclicamente estas instrucciones: * Sitúa en alto el pin "pin" * Ejecuta un retardo de 1000 ms (1s) * Sitúa en bajo el pin "pin" * Ejecuta un retardo de 1000 ms (1s) * Retorna a loop() y repite el proceso La función no devuelve valor alguno (tipo void) ni requiere parámetros para ejecutarse (paréntesis () vacíos). Se trata por tanto de una "función vacía".
¿Para qué se utilizan las llaves ({})? Las llaves se utilizan para definir el principio y el final de un bloque de instrucciones. Toda llave de apertura ({) debe estar asociada a una llave de cierre (})
¿Para què se utiliza el punto y coma (;)? El punto y coma se utiliza principalmente para separar instrucciones. También se utiliza para separar elementos en estructuras de control tipo "for" (bucles).
La siguiente función lee un potenciómetro análogo conectado a una entrada de Arduino. ¿Qué hace cada instrucción? ¿Qué valor retorna? "int v;" crea la variable temporal 'v' "v=analogRead(pot);" lee el valor de voltaje del potenciómetro, lo representa en formato de 10 bits (0:1023) y lo asigna a 'v' "v /=4" divide el valor previo de 'v' entre 4 y lo asigna a 'v', el cual queda ahora representado en formato de 8 bits (0:255) "return v;" devuelve el valor final de 'v' La función devuelve el número entero "delayVal()", correspondiente al valor de la variable local 'v'
¿Qué son los comentarios de bloque y cómo se delimitan? Los comentario de bloque son áreas de texto de dos o más lineas que son ignoradas por el programa y se utilizan para hacer comentarios o descripciones del código. Se delimitan usando los conjuntos de caracteres /* para comenzar y */ para terminar.
¿Qué son los comentarios de línea y cómo se delimitan? Los comentarios de línea son segmentos de texto de una sola línea que son ignoradas por el programa y se utilizan para hacer comentarios o descripciones de instrucciones. Se delimitan usando el conjunto de caracteres // para comenzar. Terminan automáticamente cuando se pasa a la línea siguiente del código.
¿Qué es una variable? ¿En que se diferencia de una constante? Una variable es una manera de nombrar y almacenar un valor numérico para ser usado posteriormente en un programa. Se diferencia de una constante en que su valor puede ser modificado continuamente. Las variables deben ser siempre declaradas antes de ser utilizadas.
¿Cómo se declara una variable? Una variable se declara especificando inicialmente su tipo, asignándole un nombre y, opcionalmente, un valor inicial. El siguiente ejemplo declara "entradaVariable" como de tipo entero y le asigna el valor inicial 0.
¿En que partes de un programa puede ser declarada una variable? Una variable puede ser declarada a nivel global al inicio del programa (antes de la función setup) o a nivel local dentro una función o dentro de un bloque. Dependiendo del lugar donde se declare una variable queda definido también su ámbito de aplicación.
¿Qué es una variable global? Una variable global es aquella que se declara o define al comienzo de un programa, antes de la función setup(). Como tal, puede ser vista y utilizada por cualquier función y estamento del programa.
¿Qué es una variable local? Una variable local es aquella que se declara o define dentro de una función o como parte de un bucle. Como tal, solo es visible y utilizable dentro de esa función. Por tanto, es posible tener dos o más variables del mismo nombre en diferentes partes de un mismo programa.
En este ejemplo, ¿cuál es la visibilidad o ámbito de aplicación de cada una de las variables "value", "i" y "f"? "value" es una variable global de tipo int. Es visible para cualquier función. "i" es una variable local de tipo int. Sólo es visible dentro del bucle "for" "f" es una variable local de tipo float. Solo es visible dentro de la función loop()
¿Qué es una variable tipo "byte"? Una variable tipo "byte" es aquella que almacena un valor numérico de 8 bits sin decimales en el rango entre 0 y 255. Ejemplo:
¿Qué es una variable tipo "int"? Una variable tipo "int" (entera) es aquella que almacena un valor numérico de 16 bits sin decimales en el rango entre +32,768 y -32,768. Ejemplo:
¿Qué es una variable tipo "long"? Una variable tipo "long" (entera extendida) es aquella que almacena un valor numérico de 32 bits sin decimales en el rango entre -2147483648 y +2147483647. Ejemplo:
¿Qué es una variable tipo "float"? Una variable tipo "float" (punto flotante) es aquella que almacena un valor numérico con decimales en el rango entre -3.4028235E+38 y +3.4028235E+38. Ejemplo:
¿Qué sucede cuando, como consecuencia de una operación, el valor de una variable de tipo entero (int) sobrepasa su valor máximo o mínimo admisible? Cuando el valor de una variable tipo "int" sobrepasa su valor máximo (+32767) o mínimo (-32768), su nuevo valor circula, como si el máximo y el mínimo estuvieran conectados entre sí. Por ejemplo, si x=32767 y se agrega 1 a x, entonces el nuevo valor de x pasa a ser -32768.
¿Por qué los números de punto flotante (float) pueden producir resultados inesperados en las comparaciones? Los números de punto flotante pueden producir resultados inesperados en las comparaciones porque no son tan exactos como los enteros. Además, los cálculos matemáticos con números de punto flotante son también mucho más lentos que los cálculos con números enteros.
¿Qué hace el siguiente conjunto de instrucciones? "int variableEntrada = 0" declara como entera ('int') una variable llamada 'variableEntrada' y le asigna '0' como valor inicial. "variableEntrada = analogRead(2);" lee el valor análogo del voltaje en el pin '2', lo representa en formato de 10 bits (0:1023) y lo asigna a la variable 'variableEntrada'
¿Qué hace el siguiente conjunto de instrucciones? Este código prueba si la variable 'entradaVariable' es menor de 100. En caso afirmativo. le reasigna el valor '100' y ejecuta a continuación un retardo en milisegundos equivalente al valor actual de la variable. De lo contrario la deja como está y solo ejecuta el retardo.
¿Qué es un array o matriz? Un array o matriz es un conjunto de valores a los que se accede con un número índice, correspondiendo el primer valor al indicado con el indice 0. Un array tiene que ser declarado antes de ser utilizado y, opcionalmente, asignado un valor a cada posiciòn.
¿Como se declara o define un array? Un array se declara especificando el tipo de datos, asignándole un nombre como tal y, opcionalmente, dando valores iniciales a cada posición. También se puede declarar indicando inicialmente el tipo de datos y su tamaño (número de posiciones) y posteriormente asignando un valor a una o más posiciones específicas.
¿Qué hace esta instrucción? Esta instrucción declara o define "miArray" como un arreglo que contiene n datos de tipo entero ("int") y cuyos valores iniciales son "valor0", "valor1", "valor2", etc. Estos valores están asociados, respectivamente, a las posiciones e índices 0, 1, 2, etc.
¿Qué hace el siguiente conjunto de instrucciones? "int miArray[5];" declara el arreglo de números enteros "miArray" y le asigna un tamaño de 5 posiciones. "miArray[3]=10" le asigna el valor 10 a la posición 3 del array, es decir a miArray[3] "x=miArray[3]" le asigna a la variable x el valor guardado en la posición 3 del array. Por tanto, x es ahora igual a 10.
¿Qué hace el siguiente conjunto de instrucciones? "int ledPin=10;" declara "ledPin" como una variable global de tipo entero y le asigna un valor inicial de 10. "byte parpadeo[]={180, 30...};" declara "parpadeo" como un array global de tipo byte de 8 posiciones y le asigna a las posiciones 0 ... 7 los valores iniciales 180 ... 60, respectivamente. "pinMode(ledPin,OUTPUT;" en la función setup() configura el pin 10 (valor asignado a ledPin) como pin de salida.
¿Qué hace esta función? Asuma que 'ledPin' y 'parpadeo[]' han sido previamente declarad@s como de tipos 'int' y 'byte' les han sido asignado valores iniciales arbitrarios apropiados. También asuma que el valor de 'ledPin' ha sido asignado a un pin configurado como salida análoga tipo PWM La función utiliza un bucle tipo for para enviar a la salida asociada a la variable 'ledPin' el valor que figura en la posición del array 'parpadeo[]' especificada por el indice 'i'. Hecho esto ejecuta un retardo de 200 ms. El indice i arranca en 0 y se incrementa hasta llegar a 7. A partir de entonces el bucle for deja de ejecutarse.
El siguiente programa utiliza un array asociado a un bucle tipo for para controlar el parpadeo de un LED conectado a una salida PWM. Explique El programa envía a la salida PWM (pin 10 del Arduino) el valor en la posición "i" del array "parpadeo[]" determinada por el ciclo for. Hecho esto se detiene durante 200 ms y reanuda la ejecución del ciclo 'for' o de la función 'loop()' . Inicialmente, 'i' es 0 y por tanto se envía a la salida PWM el valor '180', correspondiente a un duty cycle del 70%. El ciclo for se repite hasta i=7, en cuyo se envia 60 (23%). Cuando i=8, el programa retorna a la función loop() y se repite el ciclo 'for' desde el comienzo.
¿Qué hacen las siguientes instrucciones aritméticas? "y=y+3;" suma '3' al valor actual de 'y' y recarga 'y' con el nuevo resultado. "x=x-7;" resta '7' del valor actual de 'x' y recarga 'x' con el nuevo resultado. "i=j*6;" multiplica por 6 el valor actual de "j" y carga el resultado en "i". "r=r/5";" divide entre 5 el valor actual de 'r' y recarga 'r' con el nuevo resultado.
Show full summary Hide full summary

Similar

Operadores Python
Giovanni Sanhuez
Mis Recursos de Programación
maya velasquez
FUNDAMENTOS DE REDES DE COMPUTADORAS
anhita
Editor Dibujo Paint
gladiscj
Herramientas de Software para Comercio y Finanzas
mishelleisabel
Test sobre programación en ARDUINO
Santi tecnoprofe
PROGRAMACIÓN ORIENTADA A OBJETOS - TERCER CORTE
Jose Anacona Pira
Lenguaje de programación.
Lina Melo
Parcial Fundamento de Programación
ALBERTO MANUEL PATERNINA LEON
FUNDAMENTOS DE BASES DE DATOS
Francisco Hernandez
Introducción a la Programación
Diego Benavides