 
{"id":133,"date":"2014-05-31T18:08:31","date_gmt":"2014-05-31T18:08:31","guid":{"rendered":"http:\/\/demo.themegrill.com\/accelerate\/?page_id=133"},"modified":"2023-05-04T21:19:55","modified_gmt":"2023-05-04T21:19:55","slug":"estructura-basica-de-un-programa","status":"publish","type":"page","link":"https:\/\/iaciduino.enp.unam.mx\/index.php\/manual-de-programacion-con-arduino\/estructura-basica-de-un-programa\/","title":{"rendered":"Estructura b\u00e1sica de un programa"},"content":{"rendered":"<p>En este apartado aprender\u00e1s la estructura b\u00e1sica de un programa de Arduino.<\/p>\n<p>\u00a0<\/p>\n<h2><span class=\"has-inline-color\" style=\"color: #002b7a;\" data-rich-text-format-boundary=\"true\">\u00bfQu\u00e9 es un sketch?<\/span><\/h2>\n<blockquote>\n<p>El\u00a0<strong>sketch<\/strong> es un conjunto de instrucciones que le indican al microcontrolador de la tarjeta Arduino c\u00f3mo controlar los diferentes elementos conectados a la misma para realizar una tarea espec\u00edfica. Es lo que com\u00fanmente se conoce como programa en el \u00e1mbito de la programaci\u00f3n.<\/p>\n<\/blockquote>\n<h2>\u00a0<\/h2>\n<h2><span class=\"has-inline-color\" style=\"color: #002b7a;\" data-rich-text-format-boundary=\"true\">Estructura b\u00e1sica de un sketch<\/span><\/h2>\n<p>La estructura general de un programa en Arduino es:<\/p>\n<blockquote>\n<pre><span style=\"color: #000000;\">\/\/Estructura b\u00e1sica de un sketch de Arduino<\/span><br \/><br \/><span style=\"color: #000000;\"><span style=\"color: #3366ff;\">void<\/span> <span style=\"color: #339966;\">setup<\/span>() {<\/span><br \/><br \/><span style=\"color: #000000;\">\/\/ escribe tu c\u00f3digo aqu\u00ed. Se ejecuta una sola vez.<\/span><br \/><br \/><span style=\"color: #000000;\">}<\/span><br \/><br \/><span style=\"color: #000000;\"><span style=\"color: #3366ff;\">void<\/span> <span style=\"color: #339966;\">loop<\/span>() {<\/span><br \/><br \/><span style=\"color: #000000;\">\/\/ escribe tu c\u00f3digo aqu\u00ed. Se ejecuta repetidamente.<\/span><br \/><br \/><span style=\"color: #000000;\">}<\/span><br \/><br \/><\/pre>\n<\/blockquote>\n<p>Un sketch de Arduino est\u00e1 compuesto de funciones. Una<strong>\u00a0funci\u00f3n<\/strong> es un segmento de c\u00f3digo que realiza una tarea espec\u00edfica del programa. La codificaci\u00f3n de una funci\u00f3n en Arduino debe tener los siguientes elementos:<\/p>\n<ul>\n<li>El tipo de dato que devuelve la funci\u00f3n.<\/li>\n<li>El nombre o identificador asignado a la funci\u00f3n<\/li>\n<li>La lista de argumentos (valores de entrada) de la funci\u00f3n encerrados entre par\u00e9ntesis.<\/li>\n<li>El c\u00f3digo de la funci\u00f3n, que puede ser una sola instrucci\u00f3n o un bloque de instrucciones, siempre inicia con una llave de apertura { y termina con una llave de cierre }.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-654 size-full\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/funcion.png\" alt=\"Funci\u00f3n\" width=\"1298\" height=\"734\" \/><\/p>\n<p>Observa que la estructura b\u00e1sica del sketch de Arduino contiene dos funciones:<\/p>\n<p><strong><span style=\"color: #008000;\">setup<\/span><\/strong>. Esta funci\u00f3n se ejecuta una sola vez al iniciar el programa. Generalmente contiene instrucciones de configuraci\u00f3n de los pines de la tarjeta Arduino, de declaraci\u00f3n e inicializaci\u00f3n de variables, entre otras.<\/p>\n<p><strong><span style=\"color: #008000;\">loop<\/span><\/strong>. El c\u00f3digo de esta funci\u00f3n se ejecutar\u00e1 de manera repetitiva mientras la tarjeta Arduino permanezca encendida.<\/p>\n<p>Cuando codifiques tus programas es muy importante que tengas presente que <span class=\"has-inline-color has-luminous-vivid-orange-color\">por cada llave de apertura { debe existir una llave de cierre }<\/span>. Otro aspecto esencial que debes considerar es que el compilador de\u00a0<span class=\"has-inline-color has-luminous-vivid-orange-color\">Arduino es sensible al uso de may\u00fasculas y min\u00fasculas<\/span>, es decir, no es lo mismo escribir, por ejemplo, setup que Setup. Las dos diagonales <span style=\"color: #ff6600;\">\/\/<\/span> se utilizan para definir comentarios en Arduino.<\/p>\n<p>\u00a0<\/p>\n<h2><span class=\"has-inline-color\" style=\"color: #002b7a;\" data-rich-text-format-boundary=\"true\">Comentarios<\/span><\/h2>\n<p>Los comentarios son segmentos de c\u00f3digo de un programa que no son revisados por el compilador. Sirven para documentar el programa, proporcionando informaci\u00f3n \u00fatil de las funciones que realiza el sketch para facilitar su lectura, comprensi\u00f3n y modificaci\u00f3n.<\/p>\n<p>Hay dos tipos de comentarios:<\/p>\n<p><span style=\"color: #002b7a;\"><strong>Comentario de l\u00ednea.<\/strong><\/span> Su codificaci\u00f3n se inicia con doble diagonal <span style=\"color: #ff6600;\">\/\/<\/span>. Todo el texto escrito despu\u00e9s de estos caracteres hasta el final de la l\u00ednea es considerado como comentario.<\/p>\n<p>Ejemplos:<\/p>\n<pre style=\"padding-left: 40px;\">\/\/ toda la l\u00ednea es un comentario<br \/><br \/>int pinBoton = 2; \/\/ aqu\u00ed inicia el comentario<\/pre>\n<p><span style=\"color: #002b7a;\"><strong>Comentario de bloque<\/strong>.<\/span> Su codificaci\u00f3n inicia con <span style=\"color: #ff6600;\">\/*<\/span> y termina con <span style=\"color: #ff6600;\">*\/<\/span>. A diferencia del comentario de l\u00ednea, el texto que forma parte del comentario puede ser escrito en varias l\u00edneas.\u00a0<\/p>\n<p>Ejemplo:<\/p>\n<pre style=\"padding-left: 40px;\">\/* Programa que mide distancias<br \/><br \/>   Sensor: Ultras\u00f3nico <br \/><br \/>   Autor: Armando Circuitos<br \/><br \/>   Fecha de \u00faltima actualizaci\u00f3n: noviembre 2020<br \/><br \/>\/*<\/pre>\n<p>\u00a0<\/p>\n<p>El uso de comentarios es una buena pr\u00e1ctica de programaci\u00f3n y te recomendamos utilizarlos en todos tus sketches para agregar informaci\u00f3n como: qu\u00e9 hace el programa, qui\u00e9n lo hizo, cu\u00e1ndo y qu\u00e9 almacena cada una de tus variables.<\/p>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/02\/Autoecaluacio\u0301nArmandoCircuitos.gif\" alt=\"logo-autoevaluaci\u00f3n\" width=\"150\" height=\"150\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h2><span style=\"color: #002b7a;\">Autoevaluaci\u00f3n<\/span><\/h2>\n<\/div>\n<\/div>\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-9\" class=\"h5p-iframe\" data-content-id=\"9\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Ejercicio 7 Estructura b\u00e1sica de un programa\"><\/iframe><\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/01\/ledAprende.gif\" alt=\"para aprender m\u00e1s\" width=\"150\" height=\"150\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h2><span style=\"color: #002b7a;\">Para aprender m\u00e1s<\/span><\/h2>\n<\/div>\n<\/div>\n\n\n<p>Ba\u00f1uelos Saucedo, M. A. (2020).&nbsp;<em>Arduino. M\u00f3dulo 2 Introducci\u00f3n y mi primer programa<\/em>. <a href=\"https:\/\/www.youtube.com\/watch?v=wWwQOyCREBk&amp;t=1753s\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=wWwQOyCREBk&amp;t=1753s<\/a><\/p>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><a href=\"https:\/\/iaciduino.enp.unam.mx\/index.php\/manual-de-programacion-con-arduino\/conexion-de-la-tarjeta-arduino-uno\/\">&lt; Conexi\u00f3n de  la Tarjeta Arduino UNO<\/a><\/p>\n\n\n\n<p><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-right\"><a href=\"https:\/\/iaciduino.enp.unam.mx\/index.php\/manual-de-programacion-con-arduino\/mi-primer-programa-blink\/\">Mi primer programa: Blink ><\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>En este apartado aprender\u00e1s la estructura b\u00e1sica de un programa de Arduino. \u00a0 \u00bfQu\u00e9 es un sketch? El\u00a0sketch es un conjunto de instrucciones que le indican al microcontrolador de la tarjeta Arduino c\u00f3mo controlar los diferentes elementos conectados a la<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":18,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-133","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/comments?post=133"}],"version-history":[{"count":19,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/133\/revisions"}],"predecessor-version":[{"id":6684,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/133\/revisions\/6684"}],"up":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/18"}],"wp:attachment":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/media?parent=133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}