Edición de «
Manual de programación Arduino/Estructura
»
Ir a la navegación
Ir a la búsqueda
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Título}} == Estructura de un programa == La estructura básica del lenguaje de programación de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes necesarias, o funciones, encierran bloques que contienen declaraciones, estamentos o instrucciones. <code>void setup() </code> <code>{</code> <code>estamentos; </code> <code>}</code> <code>void loop() </code> <code>{</code> <code>estamentos; </code> <code>}</code> En donde '''setup()''' es la parte encargada de recoger la configuración y l'''oop()''' es la que contienen el programa que se ejecutará cíclicamente (de ahí el termino loop –bucle–). Ambas funciones son necesarias para que el programa trabaje. La función de configuración debe contener la declaración de las variables. Es la primera función a ejecutar en el programa, se ejecuta sólo una vez, y se utiliza para configurar o inicializar pinMode (modo de trabajo de las E/S), configuración de la comunicación en serie y otras. La función bucle (loop) siguiente contiene el código que se ejecutara continuamente (lectura de entradas, activación de salidas, etc) Esta función es el núcleo de todos los programas de Arduino y la que realiza la mayor parte del trabajo. == setup() == La función '''setup()''' se invoca una sola vez cuando el programa empieza. Se utiliza para inicializar los modos de trabajo de los pins, o el puerto serie. Debe ser incluido en un programa aunque no haya declaración que ejecutar. <code>void setup()</code> <code>{</code> <code>pinMode(pin, OUTPUT); ''// configura el 'pin' como salida''</code> <code>}</code> == loop() == Después de llamar a '''setup()''', la función loop() hace precisamente lo que sugiere su nombre, se ejecuta de forma cíclica, lo que posibilita que el programa este respondiendo continuamente ante los eventos que se produzcan en la tarjeta <code>void loop() {</code> <code>digitalWrite(pin, HIGH); ''<nowiki>// pone en uno (on, 5v) el 'pin'</nowiki>''</code> <code>delay(1000); ''// espera un segundo (1000 ms)''</code> <code>digitalWrite(pin, LOW); ''<nowiki>// pone en cero (off, 0v.) el 'pin'</nowiki>''</code> <code>delay(1000);</code> <code>}</code> == Funciones == 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. Son funciones setup() y loop() de las que ya se ha hablado. Las funciones de usuario pueden ser escritas para realizar tareas repetitivas y para reducir el tamaño de un programa. Las funciones se declaran asociadas a un tipo de valor '''“type”'''. Este valor será el que devolverá la función, por ejemplo '''<nowiki/>'int'''' se utilizará cuando la función devuelva un dato numérico de tipo entero. Si la función no devuelve ningún valor entonces se colocará delante la palabra '''“void”''', que significa “función vacía”. Después de declarar el tipo de dato que devuelve la función se debe escribir el nombre de la función y entre paréntesis se escribirán, si es necesario, los parámetros que se deben pasar a la función para que se ejecute. <code>type nombreFunción(parámetros)</code> <code>{</code> <code>estamentos;</code> <code>}</code> La función siguiente devuelve un número entero, '''delayVal()''' se utiliza para poner un valor de retraso en un programa que lee una variable analógica de un potenciómetro conectado a una entrada de Arduino. Al principio se declara como una variable local, ́v ́ recoge el valor leído del potenciómetro que estará comprendido entre 0 y 1023, luego se divide el valor por 4 para ajustarlo a un margen comprendido entre 0 y 255, finalmente se devuelve el valor ́v ́ y se retornaría al programa principal. Esta función cuando se ejecuta devuelve el valor de tipo entero ''''v'''<nowiki/>' <code>int delayVal()</code> <code>{</code> <code>int v; ''<nowiki>// crea una variable temporal 'v'</nowiki>''</code> <code>v= analogRead(pot); ''// lee el valor del potenciómetro''</code> <code>v /= 4; ''// convierte 0-1023 a 0-255''</code> <code>return v; ''// devuelve el valor final''</code> <code>}</code> == {} entre 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. <code>type funcion()</code> <code>{</code> <code>estamentos;</code> <code>}</code> Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es así el programa dará errores. El entorno de programación de Arduino incluye una herramienta de gran utilidad para comprobar el total de llaves. Sólo tienes que hacer click en el punto de inserción de una llave abierta e inmediatamente se marca el correspondiente cierre de ese bloque (llave cerrada). == ; punto y coma == El punto y coma “;” 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”. <code>int x = 13; ''// declara la variable 'x' como tipo entero de valor 13''</code> '''Nota:''' Olvidarse de poner fin a una línea con un punto y coma se traducirá en un error de compilación. El texto de error puede ser obvio, y se referirá a la falta de una coma, o puede que no. Si se produce un error raro y de difícil detección lo primero que debemos hacer es comprobar que los puntos y comas están colocados al final de las instrucciones. == /*... */ bloque de comentarios == Los bloques de comentarios, o multi-línea de comentarios, son áreas de texto ignorados por el programa que se utilizan para las descripciones del código o comentarios que ayudan a comprender el programa. Comienzan con / * y terminan con * / y pueden abarcar varias líneas. <code>''/* esto es un bloque de comentario''</code> <code>''no se debe olvidar cerrar los comentarios estos deben estar equilibrados''</code> <code>''*/''</code> Debido a que los comentarios son ignorados por el programa y no ocupan espacio en la memoria de Arduino pueden ser utilizados con generosidad y también pueden utilizarse para "comentar" bloques de código con el propósito de anotar informaciones para depuración. '''Nota:''' Dentro de una misma línea de un bloque de comentarios no se puede escribir otra bloque de comentarios (usando /* .. */ ). == // línea de comentarios == Una línea de comentario empieza con / / y terminan con la siguiente línea de código. Al igual que los comentarios de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la memoria. ''<code>// esto es un comentario</code>'' Una línea de comentario se utiliza a menudo después de una instrucción, para proporcionar más información acerca de lo que hace esta o para recordarla más adelante. [[Categoría:Tecnología]][[Category:Book:Manual_de_programación_Arduino]]
Resumen:
Ten en cuenta que todas las contribuciones a CNB se consideran publicadas bajo la Creative Commons BY-SA 4.0 (véase
CNB:Derechos de autor
para más información). Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre.
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Plantilla usada en esta página:
Plantilla:Título
(
editar
)
Esta página pertenece a 1 categoría oculta:
Categoría:Book:Manual de programación Arduino
Menú de navegación
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Espacios de nombres
Página
Discusión
español
Vistas
Leer
Editar
Editar código
Ver historial
Más
Purgar
Buscar
Navegación
Página principal
Retorno seguro a clases
Protocolo de regreso para docentes
Protocolo de regreso para directores
Protocolo de apoyo emocional y resiliencia
Recomendaciones para transporte
Toda la categoría
Aprendizaje en línea
Guía docente para el aprendizaje remoto
Ayudar a aprender en línea
Aprendo en casa - Mineduc
Lineamientos de seminario y prácticas
Todos los recursos educativos alineados al CNB
Toda la categoría
Programa de certificación
Instrucciones del programa
Páginas con pruebas de certificación
Inicial y Preprimaria
Inicial
Preprimaria (nuevo)
Primaria y Básico
Primaria
Primaria Acelerada
Básico
Básico por Madurez
Bachillerato
Bach en CC y LL
Ciencias Biológicas
Computación
Diseño Gráfico
Educación
Productividad y Desarrollo
Educación Física
Educación Musical
Electricidad
Finanzas y Administración
Gestión de Oficinas
Mecánica Automotriz
Productividad y Emprendimiento
Textiles
Turismo
Por Madurez
Magisterio
Educación Bilingüe
Perito
Electricidad Industrial
Electrónica y Dispositivos Digitales
Industria de Alimentos
Desarrollo Comunitario
Pensum Perito Contador Diurna
Pensum Perito Contador Nocturna
Pensum Perito Contador Computación Diurna
Pensum Perito Contador Computación Fin de Semana
Pensum Perito Contador Bilingüe Matutina
Todos los Pensa Perito Contador
Mallas curriculares Inicial, Preprimaria, Primaria y Básico
Inicial
Preprimaria (nuevo)
Primaria
Primaria Acelerada
Básico
Mallas curriculares Bachillerato y Magisterio EBI
Bach en CC y LL
Ciencias Biológicas
Computación
Diseño Gráfico
Educación
Productividad y Desarrollo
Educación Física
Educación Musical
Electricidad
Finanzas y Administración
Gestión de Oficinas
Mecánica Automotriz
Productividad y Emprendimiento
Textiles
Turismo
Por Madurez
EBI Infantil
Concreción por pueblos
Navegador
Pueblo Maya
Pueblo Garífuna
Pueblo Xinka
Módulos CNB
Introducción al CNB en línea
Fundamentos
Planificación
Metodología
Evaluación
Sobre el Currículo
Currículo en la agenda 2030
Toda la categoría
ODEC
ODEC Inicial
ODEC Preprimaria
ODEC Primaria
Educación Musical
Aprender a pensar
Técnicas didácticas
Pensamiento crítico
Cómo aprendemos
Falacias lógicas
Recursos de Lectoescritura
Enseñanza de la comprensión lectora
Colección CILEES
Antología de cuentos
Cuentos en familia
Tesoro de la lectura
Aprendizaje de la Lectoescritura
• Prácticas
• Actividades
Guía docente para comprensión lectora
Cuadernillos pedagógicos
Organizadores de Lectura
Evaluación Basada en Currículo
Lectoescritura funcional
Involucramiento de padres de familia en lectoescritura
Potenciando la Lectura - guía docente
Recursos de Educación Bilingüe Intercultural
Planificación por pueblos
Antología de cuentos
Nuestro idioma en la escuela
Kemon Ch'abäl
Buenas prácticas EBI
Guía para material con pertinencia EBI
Protocolo acompañamiento EBI
Evaluación de la lectura
Manual de Educación Intercultural
Manual de orientación para voluntarios
Creando sinergia - Xinka
Recursos STEAM
Experimento 10+
Otros Recursos Educativos
Calendario Escolar
Serie Prácticas Educativas
Buenas Prácticas EBI
Elaboración de Materiales
Publicaciones
Vídeos
Herramientas
Recursos por Nivel y Grado
Recursos de Evaluación
Guías prueba de docentes
Breves para Docentes
Cuadernillos Pedagógicos - Matemáticas
Cuadernillos Pedagógicos - Comprensión lectora
Aprender del Error - Básico
Aprender del Error - Graduandos
Evaluación en el Aula
Evaluación del desempeño basada en competencias
Repasos de lectura del CNB
Evaluación Basada en Currículo
Juventud y Género
Desarrollo del pensamiento crítico
Abriendo Oportunidades
Educar para la igualdad
Seminario
Competencias básicas para la vida
Gobierno escolar Primaria
Gobierno escolar Secundaria
Lectoescritura funcional
Necesidades Educativas Especiales
Material NEE docentes regulares
Adecuaciones para NEE
Leyes para educación especial
Bibliotecas y Recursos
Bibliotecas comunitarias
Estimulación temprana a la lectura
Qué y para qué de la biblioteca
Nuestros juguetes, juegos, rondas y cantos infantiles
Liderazgo Pedagógico
Protocolo de regreso para directores
Prevención de la violencia
Guías Prevenir es mejor
Evidencias de aplicación del CNB
Manual PEI
Manual de coaching
Involucramiento de padres de familia en lectoescritura
Promover éxito en todos los niveles
Toda la categoría
Salud escolar
Covid-19
Sarampión
Ayuda y otros
Contactar al editor
Contactar otro usuario
Preguntas frecuentes
Ayuda
Cambios recientes
Alinear recurso educativo
Página aleatoria
Glosario
CNB para descarga
Lista de correo
Herramientas
Lo que enlaza aquí
Cambios relacionados
Páginas especiales
Información de la página
Datos de carga