La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PROGRAMA, QUE ALGO QUEDA INTRODUCCIÓN A LA PROGRAMACIÓN EN ARDUINO

Presentaciones similares


Presentación del tema: "PROGRAMA, QUE ALGO QUEDA INTRODUCCIÓN A LA PROGRAMACIÓN EN ARDUINO"— Transcripción de la presentación:

1 PROGRAMA, QUE ALGO QUEDA INTRODUCCIÓN A LA PROGRAMACIÓN EN ARDUINO
Nivel: 0 Autor: Karos. Grupo PonteLabs de tecnologías abiertas de Pontevedra. 2016 Web: pontelabs.wordpress.com Correo: Este documento se autoriza solo para uso sin ánimo de lucro. Debe mostrarse el contenido original de este documento de forma íntegra además de ser identificado de forma clara e inequívoca.

2 EL CÓDIGO BINARIO BIT 1 Toda la información que vemos en un sistema digital: ordenadores, móviles o en una calculadora de mano, se resume en estos dos simples números: 0 apagado, 1 encendido... tecnología punta ;-)

3 SEÑAL ANALÓGICA O INDISCRETA
NOTAS DIAPOSITIVA 3 Señal natural, existe en todos los puntos de la señal o, dicho de otro modo, todos sus puntos tienen un valor real (no calculado). Tiene infinitos puntos, ya que no se sabe cuantos puntos tiene una línea (cuestiones de la física).

4 LA SEÑAL DIGITAL O DISCRETA (I / II)
NOTAS DIAPOSITIVA 4 Se denomina discreta por que solo tiene dos valores: 0 y 1. Se denomina digital por que solo registra unos valores (o dígitos) concretos. 1 1 1 1

5 LA SEÑAL DIGITAL O DISCRETA (II / II)
Esta señal digital es con la que, en realidad, trabajan todos los componentes y circuitos de cualquier dispositivo electrónico: MICROPROCESADOR El microprocesador, la memoria RAM... MEMORIA RAM Y toda la circuitería electrónica del aparato... ORDENADOR

6 Todas estas combinaciones forma la tabla estándar de códigos ASCII.
Los bits se agrupan en combinaciones de 8 BITS, formando 1 BYTE, también llamado Palabra. 1 BYTE = 8 BITS Cada Byte representa un carácter: Una letra, un número, un símbolo, etc.: A B C A B C En total existen 256 combinaciones de bytes (8 bits). Todas estas combinaciones forma la tabla estándar de códigos ASCII.

7 EL CÓDIGO ASCII NOTAS DIAPOSITIVA 7 Como se indica en la esquina inferior derecha el código se genera pulsando la tecla Alt más el código númerico del símbolo ASCII.

8 PARTE FÍSICA Y PARTE LÓGICA DE
HARDWARE: Componentes físicos del ordenador (CPU, placa, sensor, etc.). También se llama la parte tangible (que se puede tocar), o como se suele decir en informática, aquello que se puede golpear. SOFTWARE: Parte lógica (sistema operativo, programas, archivos, etc.). Esta es la parte intangible (no se puede tocar), o como se dice en informática, aquello que solo se puede maldecir. PARTE FÍSICA Y PARTE LÓGICA DE UN EQUIPO INFORMÁTICO NOTAS DIAPOSITIVA 8 HARDWARE: Parte física o tangible de un sistema informático: Chips, placas, disco duro, etc... SOFTWARE: Parte lógica o intangible de un sistema informático: Programas, archivos, datos, etc...

9 LA PROGRAMACIÓN La programación consiste en que un programa a partir de unos datos iniciales devuelva uno o varios resultados correctos (estado final) ejecutando las instrucciones, variables y funciones del programa. Estos datos iniciales pueden ser introducidos por el usuario o puede que el programa ya disponga de ellos (Ej.: Hola Mundo), aunque esto último es poco frecuente. DATOS INICIALES (ENTRADA) PROGRAMA DATOS FINALES (RESULTADO)

10 ALGORITMO (I / II) Algoritmo deriva del griego y latín algorithmus y, a su vez, del matemático persa Al-Juarismi, quién estudió el uso de reglas y órdenes en la resolución de cualquier problema lógico. Un algoritmo es un conjunto prescrito de instrucciones y reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. (Definición: Wikipedia) Siguiendo los pasos sucesivos de un algoritmo se llega desde el estado inicial al estado final, en el que se obtiene una solución. Los algoritmos no se utilizan solo en informática, en ese caso se les suele llamar Flujogramas o Diagramas de Toma de Decisiones, ya que según las acciones (decisiones) que se tomen en función del estado del proceso se avanzará por una línea – o flujo – u otra. Los algoritmos son el objeto de estudio de la algoritmia. NOTAS DIAPOSITIVA 10 Un algoritmo es un conjunto prescrito de instrucciones y reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. (Definición: Wikipedia)

11 ALGORITMO (II / II) Ejemplo de un algoritmo sencillo: - Los Rectángulos indican hechos o estados (apagada / encendida, enchufada / desenchufada, etc.). También muestra las acciones a realizar (enchufar, reemplazar, etc.). - Mientras que los Triángulos indican la toma de decisiones: Las acciones a realizar según el estado del proceso. De esta forma se establece cual será el flujo del proceso (según se cumpla o no la condición, el algoritmo avanzará por una línea - flujo - o por otra). NOTAS DIAPOSITIVA 11 ¿Basta con enchufarla para que funcione? - No se ha comprobado si al enchufarla se enciende. - No se ha comprobado que haya luz. - No se ha comprobado que el enchufe o, el fusible o el cable estén bien. - RECTÁNGULOS: Estados o acciones. - TRIÁNGULOS: Acciones a realizar en función del estado del proceso en ese punto.

12 Es el único modo de que el programa entienda y ejecute el código.
PSEUDOCÓDIGO (I / II) Después de crear el algoritmo, y dependiendo de la complejidad del programa, puede ser necesario crear un pseudocódigo. El pseudocódigo plasma un algoritmo en un protocódigo hecho en lenguaje humano, que luego se codificará en el lenguaje de programación en el que se vaya a programar. En pseducódigo no se respeta la sintaxis, ni siquiera se tiene en cuenta, esta es la finalidad del pseudocódigo: escribir de una manera más humana sin preocuparse de la sintaxis, el orden, etc. Este pseudocódigo en lenguaje humano luego se podrá programar en cualquier lenguaje de programación. Posteriormente se transcribe al lenguaje de programación, muchísimo más estricto y exigente, ya que el programa depende de que el nombre de la instrucción, su sintaxis y el orden de las instrucciones y parámetros estén bien escritos y en el orden correcto. Es el único modo de que el programa entienda y ejecute el código.

13 PSEUDOCÓDIGO (II / II) INICIO del Procedimiento A Iteración Para
Para el valor 'i' = de 1 hasta 100 establecer 'testigo' a verdadero; Si 'i' es divisible por 3 entonces escribir "Divisible entre 3"; establecer 'testigo' a falso; Fin Si Si 'i' es divisible por 5 entonces escribir "Divisible entre 5"; Si 'testigo', escribir 'i'; escribir una nueva línea; Nueva iteración Para FIN Procedimiento A Ejemplo de Pseudocódigo: Escribe los valores del 0 al 100 divisibles entre 3 y 5. NOTAS DIAPOSITIVA 13 Observar que Hacer no tiene Fin Hacer, ya que Para (instrucción For) es cíclico. En todo caso será el programador el que tenga que tener en cuenta si For( ), o su equivalente en el lenguaje de programación, tiene o no orden de finalizar o de repetir el bucle.

14 PÁGINA OFICIAL DE REFERENCIA SOBRE LA PROGRAMACIÓN CON ARDUINO
Arduino dispone en su página oficial: de una página dedicada al lenguaje de programación Processing, que es el que emplea Arduino. Esta página es muy útil cuando se desea resolver alguna duda u obtener más información sobre las instrucciones, símbolos, funciones o su uso al programar en Arduino. Es una excelente página de consulta que recomendamos visitar cuando se tenga alguna duda a la hora de programar:

15 En todo caso se debe comprobar las especificaciones de cada lenguaje.
VARIABLES (I / IV) Espacio de memoria que guarda un valor (modificable o no -> variable estática). Se referencia con un Nombre de Variable. Lo puede modificar el programa directamente durante su ejecución o El usuario, según como se haya diseñado el programa. Nombres: - No se permiten las variables con el mismo nombre que las palabras clave (instrucciones) del lenguaje de programación. - No pueden incluir símbolos del tipo ',', ';', '´', ':', '(', '“', 'ñ', '¿', '/', ´*´, etc. - Algunos lenguajes de programación no permiten que empiecen o terminen por un símbolo o un número. En todo caso se debe comprobar las especificaciones de cada lenguaje. NOTAS DIAPOSITIVA 14 Puede solicitarlo el programa o se puede establecer que lo introduzca el usuario al realizar una acción: pulsar una tecla o un botón. Por ejemplo: Un programa de cálculo puede tener el botón Guardar Resultado, que al pulsarlo pida el nombre de la variable en la que guardar el resultado.

16 VARIABLES (II / IV) En primer lugar las variables deben declararse (crearse) para poder utilizarlas (NO pueden utilizarse sin antes declararlas). En segundo lugar se inicializan (se les da un valor inicial) antes de utilizarlas o bien en el momento de guardar un valor. Por razones de compatibilidad la reglá canónica establece que las variables se deben declarar una por una (en algunos lenguajes es posible declarar varias del mismo tipo a la vez), inicializarlas y finalmente ya se podrá operar con ellas. En los lenguajes modernos esto ya no es necesario, basta con declarar-las y ya se deberían poder utilizarlas directamente. Como siempre en caso de duda acudir al manual o realizar una prueba previa para asegurarse. NOTAS DIAPOSITIVA 15 - DECLARAR VARIABLE: Se crea la variable indicando el tipo de dato que va a almacenar. - INICIALIZAR: Se le puede dar un valor inicial o no. - UTILIZAR EN EL CÓDIGO: Ahora el programa ya puede trabajar con ella.

17 DECLARACIÓN DE VARIABLES (III / IV)
Como se dijo antes todas y cada una de las variables deben ser declaradas indicando el tipo de datos que van a almacenar. Sino el lenguaje de programación no sabría de que tipo es la variable (texto, numérico, fecha, etc.) y así podría intentar, por ejemplo, sumar dos textos, un texto y un número, etc. Se deben utilizar nombres descriptivos que identifiquen lo mejor posible a cada variable; si comenzamos a llamar a las variables como A, B ó Var1 al final pasaremos más tiempo buscando para que se creó esa variable que programando. Además, si posteriormente necesitamos reutilizar parte del código de ese programa podemos echarnos horas intentando entender ¡lo que nosotros mismos escribimos en su momento! Por esa razón es importante documentar los programas con comentarios explicativos (ver apartado Comentarios). SIEMPRE SE DEBEN AÑADIR COMENTARIOS PARA EXPLICAR LO QUE HACE EL PROGRAMA

18 DECLARACIÓN DE VARIABLES (IV / IV)
Es obligatorio declarar todas las variables, crearlas, para poder utilizarlas: Ejemplo de declaración de una variable de tipo entero (int): int Nombre_de_la_Variable = Valor ; int velocidad = 0 ; Todas las instrucciones deben finalizar con un ; Como dijimos es obligatorio declarar todas las variables, pero no es necesario inicializarlas, es decir, darles un valor. Por lo que el ejemplo de antes podría escribirse de la siguiente manera sin ningún tipo de problema: int velocidad ; Lo que ocurre es que se suele crear la variable y darle a la vez un valor en una sola línea (optimización del código).

19 VARIABLES EN ARDUINO (I / V)
TIPOS DE DATOS DE LAS VARIABLES EN ARDUINO (I / V) Ver páx. 15 de Arduino´s NoteBook. TIPO: BYTE VALORES: Byte almacena un valor numérico entero (sin decimales) positivo, de 8 bits. RANGO DE VALORES: 8 bits, de 0 a 255 (con el 0 son 256 valores). DECLARACIÓN: byte Horas = 180 ; CARACTERÍSTICAS: Valores enteros positivos. Es el campo de datos numéricos absolutos más pequeño de todos, por eso se utiliza, por ejemplo, para guardar las horas, ya que no hay otro tipo más pequeño. Su función principal es guardar valores pequeños, no tanto por ahorrar espacio, solo ocupa un byte (8 bits) de memoria, sino que al ser tan pequeño se procesa el doble de rápido (ya que el tipo int es de 16 bits). NOTAS DIAPOSITIVA 18 Ver la página web de arduinocc; Página de referencia e información del lenguaje de programación (instrucciones, código, símbolos, etc.) en español de la página (oficial) de Arduino:

20 LAS VARIABLES EN ARDUINO (II / V)
TIPOS DE DATOS DE LAS VARIABLES EN ARDUINO (II / V) Ver páx. 15 de Arduino´s NoteBook. TIPO: INT VALORES: Int almacena un valor numérico entero (sin decimales) positivo o negativo de 16 bits. RANGO DE VALORES: Valores comprendidos entre hasta DECLARACIÓN: int revoluciones = ; CARACTERÍSTICAS: Valores enteros positivos o negativos. En total puede almacenar valores, pero como se debe reservar un bit para marcar los números negativos solo puede guardar la mitad de los valores, tanto negativos como positivos. Es el tipo de dato numérico entero más utilizado, ya que el siguiente (Long) es el doble de grande, pero se reserva para valores muy grandes. ¡IMPORTANTE!: si se sobrepasan los valores máximos (OverFlow o Desbordamiento) de una variable int esta cogerá el valor contrario (algo así como si se diera la vuelta). NOTAS DIAPOSITIVA 19 Ver la página web de arduinocc; Página de referencia e información del lenguaje de programación (instrucciones, código, símbolos, etc.) en español de la página (oficial) de Arduino:

21 LAS VARIABLES EN ARDUINO (III / V)
TIPOS DE DATOS DE LAS VARIABLES EN ARDUINO (III / V) Ver páx. 15 de Arduino´s NoteBook. TIPO: LONG VALORES: Variable de tipo extendido. Números enteros de 32 bits positivos o negativos. RANGO DE VALORES: De a DECLARACIÓN: long segundos = ; CARACTERÍSTICAS: En Arduino y en muchos lenguajes de programación es el tipo de dato numérico más grande (32 bits). Para cálculos científicos o técnicos de gran complejidad (64 bits, 128, etc.) se utilizan lenguajes de programación especialmente diseñados, ya que no existe ninguno a nivel comercial con tal capacidad de almacenamiento. NOTAS DIAPOSITIVA 20 Ver la página web de arduinocc; Página de referencia e información del lenguaje de programación (instrucciones, código, símbolos, etc.) en español de la página (oficial) de Arduino:

22 LAS VARIABLES EN ARDUINO (IV / V)
TIPOS DE DATOS DE LAS VARIABLES EN ARDUINO (IV / V) Ver páx. 15 de Arduino´s NoteBook. TIPO: FLOAT VALORES: Números decimales positivos y negativos. RANGO DE VALORES: E+38 a E+38 DECLARACIÓN: float TemperaturaDelSol = , (grados) CARACTERÍSTICAS: Float Double (128 bits), una precisión extremada-mente grande (casi 40 decimales), que o se ha definido por equivocación o por que se necesitan manejar cantidades muy precisas. Los números decimales son difíciles de calcular y sus resultados pueden ser erróneos al redondear decimales, al operar con números de diferente precisión (número de decimales), etc. Se deben utilizar lo menos posible y con el menor número de decimales. NOTAS DIAPOSITIVA 21 Ver la página web de arduinocc; Página de referencia e información del lenguaje de programación (instrucciones, código, símbolos, etc.) en español de la página (oficial) de Arduino:

23 LAS VARIABLES EN ARDUINO (V / V)
TIPOS DE DATOS DE LAS VARIABLES EN ARDUINO (V / V) OTROS TIPOS DE DATOS Aparte de los tipos de datos vistos, existen otros tipos de datos, como el tipo char, para texto. INSTRUCCIONES, FUNCIONES Y SÍMBOLOS DE PROGRAMACIÓN DE ARDUINO Para saber más sobre este tema y sobre el resto de instrucciones, símbolos y funciones de programación de Arduino consultar la página de referencia de la página web, aparentemente oficial, de Arduino: Más información en la 2ª Parte de la Introducción a la Programación en Arduino

24 ARRAYS O MATRICES (I / V)
Ver páx. 15 de Arduino´s NoteBook. Un Array o matriz es un conjunto de posiciones de memoria, en la que cada una puede guardar un único valor, y que están referenciadas por un índice (variable indizada). Por ejemplo: Este sería un array de 4 posiciones. Todas las posiciones están referenciadas por un índice (el índice del array) que comienza en la posición 0. Todas las posiciones tiene el mismo tipo de dato (ya que se crean todas a la vez en el momento de crear el array). POSICIÓN 1 POSICIÓN 2 POSICIÓN 3 POSICIÓN 4

25 ARRAYS O MATRICES (II / V)
Ver páx. 15 de Arduino´s NoteBook. DECLARACIÓN: Un array no deja de ser un conjunto de variables indizadas, por lo que al igual que una variable individual, también debe declararse: Tipo de dato Nombre_Del_Array[(Número de Posiciones)] Ejemplo: int ArraySensores[4] ó int ArraySensores[] - sin número -. Se puede declarar un array sin indicar su tamaño, en ese caso las posiciones se irán creando de forma dinámica (como luego veremos). INICIALIZACIÓN: Existen dos maneras, mediante asignación directa o dándole un valor a cada posición individualmente. - int ArraySensores[ ] = {valor0, valor1, valor2...} - int ArraySensores[2] = 77 ¿A qué posición del array se le ha asignando el valor 77? NOTAS DIAPOSITIVA 24 Respuesta: A la tercera posición: 0, 1, 2

26 ARRAYS O MATRICES (III / V)
Ver páx. 15 de Arduino´s NoteBook. ARRAYS DINÁMICOS Hemos visto anteriormente que podemos crear arrays indicando su tamaño (el número de posiciones) o dejándolo vacío. Si no indicamos su tamaño podemos crear un array de tamaño ilimitado a nivel lógico, ya que numéricamente podemos referenciar cualquier posición que deseemos: int ArraySensores[254873] = “A” ¿Y que pasa con las posiciones sin valor? ¡Nada! No dejan de ser posiciones de memoria referenciadas, no existen unas al lado de otras perfectamente juntas y ordenadas, sino que las va creando el programa según se necesitan (y exista memoria para guardarlas). Pongamos el caso anterior en el que se declaraba e inicializaba a la vez un array: int ArraySensores[] = {valor0, valor1, valor2,...} Podemos dejar sin declarar valores en el array: int ArraySensores[] = {valor0,,valor2,,,valor5,...} Dejando los espacios vacíos entre comas seguidas (,,).

27 ARRAYS O MATRICES (IV / V)
Ver páx. 15 de Arduino´s NoteBook. OPERACIONES CON ARRAYS Las operaciones con arrays, o matrices, se verán en la II parte. Las operaciones básicas son: - Recorrer un array con una variable. - Asignar o leer un valor de una posición a través de una variable: int ArraySensores[i] = 38

28 ARRAYS O MATRICES (V / V)
ARRAYS MULTIDIMENSIONALES Hasta ahora hemos creado arrays pero de una sola dimensión, o de un solo tamaño, pero podemos utilizar dos o más dimensiones: - DECLARACIÓN E INICIALIZACIÓN DE UN ARRAY DE 2 DIMENSIONES: int ArraySensores[3][3] = {{valor0.1, valor0.2, valor0.3} , {valor1.1,valor1.2, valor1.3} , …} ¿De cuantas posiciones es el array que acabamos de crear? - ASIGNACIÓN DIRECTA: int ArraySensores[2][3] = 10 Asignamos el valor 10 a la posición 2.3, o si se prefiere a la fila 2, columna 3 (ver notas). Se verán con más detalle en la 2ª parte. NOTAS DIAPOSITIVA 27 Array[3][3] = 3*3 posiciones = 9 [A][B] 1 2

29 VARIABLES GLOBALES Y LOCALES EN ARDUINO (I / III)
Ver páx. 12 de Arduino´s NoteBook Arduino es una adaptación indirecta del lenguaje C++, y también permite el uso de variables globales y locales: Las variables se pueden declarar justo al inicio del programa, antes de la función setup( ). Es decir, se pueden crear antes que el propio programa. Las variables que se declaren aquí serán de ámbito global; eso quiere decir que cualquier función o instrucción podrá hacer uso de ella, sin importar en que parte del programa esté (excepto que exista una variable local con el mismo nombre, como se verá a continuación). NOTA: En la función setup( ) - que se tratará más adelante - se configuran las variables, digamos que de sistema, y se dan los valores de inicio de la placa (activar o desactivar el voltaje de los puertos, valores de funcionamiento y otros ajustes – setups –). También se pueden crear variables a nivel local dentro de las funciones, y, a veces, dentro de un bloque de código, como en los bucles del tipo if, for( ), etc. Así, las variables creadas dentro de funciones o bloques de código solo podrán ser accedidas por las instrucciones dentro de estas estructuras, el resto del código ni sabrá que existen.

30 VARIABLES GLOBALES Y LOCALES EN ARDUINO (II / III)
Ver páx. 12 de Arduino´s NoteBook Como hemos visto, el lugar donde se declaren las variables determinará el ámbito de aplicación, es decir, la capacidad de ciertas partes de un programa para hacer uso de ellas o no. RESUMIENDO 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 esa parte del programa. Se da el caso de que podemos llegar a tener dos o más variables del mismo nombre en diferentes partes del mismo programa con valores diferentes. Como sólo se va a tener acceso a una sola variable en cada sector de código se simplifica y reduce el potencial de errores de programación, pero existe un problema, como se indica a continuación: NOTAS DIAPOSITIVA 29 ¿que pasa si desde una función con una variable local X queremos acceder a una función global también llamada X? No tiene sentido tener dos variables con el mismo nombre, de todas formas prevalece la variable local sobre la global, de modo que las instrucciones locales jamás podrían acceder a esa variable global.

31 VARIABLES GLOBALES Y LOCALES EN ARDUINO (III / III)
Ver páx. 12 de Arduino´s NoteBook A TENER EN CUENTA: CONSIDERACIONES Y PROBLEMÁTICA Se da el caso de que podemos llegar a tener dos o más variables del mismo nombre en diferentes partes del mismo programa con valores diferentes. Se desaconseja realizar este tipo de prácticas a la hora de programar, ya que pueden confundir fácilmente, además de que presentan el problema de que las instrucciones locales solo podrán acceder a la variable local, al tener prioridad sobre las globales.

32 COMENTARIOS Exactamente igual que en C / C++, ya que Arduino es una adaptación indirecta de este lenguaje de programación. Los comentarios son partes de código que no se ejecutan, que son ignoradas. Su finalidad es introducir comentarios, anotaciones sobre el propio código. También se utiliza en tareas de depuración y análisis, aislando partes del código como si fuesen comentarios para comprobar el funcionamiento de un programa con y sin el código. // Comentario de una sola línea. Es tipo de comentario solo ocupa una línea, sí ocupase más de una línea se producirá un error de ejecución del programa, por lo que ojo con eso. /* Este es un comentario De varias líneas */ Este comentario lleva etiqueta de cierre (*/) ya que ocupa varias líneas y hay que indicarle al programa donde acaba el comentario. Es importante comentar los programas para que queden documentados y así no tener que pasar horas tratando de averiguar que hace ese código. NOTAS DIAPOSITIVA 31 COMENTARIOS: Son partes del código que son ignoradas, no se ejecuta su contenido. Su finalidad es la de introducir comentarios o anotaciones sobre el propio código. // Comentario de una sola línea. No necesita cierre, al ocupar una sola línea. /* Comentario de Varias líneas */ Al ocupar varias líneas se debe cerrar con */

33 ¿CÓMO FUNCIONAN LOS PROGRAMAS EN ARDUINO? (I / IV)
Los programas en Arduino funcionan de forma continua, no se detienen al llegar al final del programa, sino que al ejecutar la última instrucción vuelven a comenzar por la primera línea del programa. EJEMPLO EN PSEUDO-CÓDIGO DEL FUNCIONAMIENTO DE UN PROGRAMA: Inicio del Programa Instrucción 1: Recoger datos del sensor S1. Instrucción 2: Según los datos recibidos del sensor S1 enviar energía al motor M1 o esperar (indicar cuanto tiempo). Como se ve no hay ni una instrucción final ni la de regresar a la 1ª instrucción, ya que el programa está continuamente funcionando, recogiendo datos del sensor S1 y según el valor recogido se le suministrará o no energía al motor M1. Por esta razón vemos como los robots están continuamente moviéndose y sus sensores funcionando sin parar.

34 ¿CÓMO FUNCIONAN LOS PROGRAMAS EN ARDUINO? (II / IV)
ESTRUCTURA DE UN PROGRAMA EN ARDUINO Páx. 6 de Arduino's NoteBook. Zona Global de código: Declaración e inicialización (no obligatoria) de variables globales. Setup( ) -> Aquí se establecen los parámetros de funcionamiento y los ajustes (setups) de inicio de la placa: Activación o desactivación de puertos, activación o desactivación del voltaje, variables reservadas del sistema, etc. Pueden utilizarse las variables de la Zona Global. Loop( ) -> Aquí comienza el programa en sí. Es donde se escribe el código principal del programa. También puede utilizar las variables globales declaradas en la zona Global de Código. DIAPOSITIVA 33 Se pueden crear otras variables en Loop( ), así como a nivel local en las funciones y bloques de código tipo if, for( ), etc. Funcionan como variables globales dentro de loop( ), ya que es la función principal, y solo está un nivel por debajo de las variables globales de todo el programa.

35 ¿CÓMO FUNCIONAN LOS PROGRAMAS EN ARDUINO? (III / IV)
Zona global de código void setup( ) { estamentos / sentencias / instrucciones; } void loop( )

36 ¿CÓMO FUNCIONAN LOS PROGRAMAS EN ARDUINO? (IV / IV)
FUNCIONAMIENTO DE LOOP( ): Una vez que se han inicializado las variables de sistema en el espacio global y realizado los ajustes iniciales en setup( ), se pasa el control del programa a la función loop( ), la cual se ejecuta continuamente. Se ejecuta cíclicamente, varios millones de veces por segundo, según la velocidad del microprocesador, ejecutando todas las instrucciones de la función en cada ciclo. Por esta razón vemos a los robots están continuamente moviéndose, al igual que los sensores, que están constantemente activos. No hay orden de parada, lo único que se puede hacer es que el robot se quede quieto, aunque el programa seguirá funcionando hasta que se desconecte la energía o se haga un reset por software (lógico). DIAPOSITIVA 35 Loop( ) es como el sistema eléctrico de una casa, siempre está activo suministrando energía (ejecutando) a todos los aparatos (instrucciones) que enchufemos (programemos). loop( ) seguirá funcionando hasta que se ejecute una interrupción, se borre el programa o se desconecte la fuente de energía. Si reseteamos la placa simplemente se vuelve a ejecutar el programa desde el principio.

37 FIN DE LA PRIMERA PARTE Dudas y sugerencias comunicárselas al autor.
Continuamos en la 2ª parte... Gracias Autor: Karos. Grupo PonteLabs de tecnologías abiertas de Pontevedra. 2016 Web: pontelabs.wordpress.com Correo: Este documento se autoriza solo para uso sin ánimo de lucro. Debe mostrarse el contenido original de este documento de forma íntegra además de ser identificado de forma clara e inequívoca.


Descargar ppt "PROGRAMA, QUE ALGO QUEDA INTRODUCCIÓN A LA PROGRAMACIÓN EN ARDUINO"

Presentaciones similares


Anuncios Google