 
{"id":446,"date":"2020-12-04T15:25:31","date_gmt":"2020-12-04T15:25:31","guid":{"rendered":"http:\/\/papime101620.computounam.mx\/?page_id=446"},"modified":"2023-05-05T00:03:03","modified_gmt":"2023-05-05T00:03:03","slug":"funciones","status":"publish","type":"page","link":"https:\/\/iaciduino.enp.unam.mx\/index.php\/manual-de-programacion-con-arduino\/funciones\/","title":{"rendered":"Funciones"},"content":{"rendered":"<p>En esta lecci\u00f3n aprender\u00e1s a crear funciones&nbsp; y a utilizarlas en el desarrollo de tus programas para tus proyectos de Arduino<\/p>\n<p>En este manual ya hemos utilizado varias funciones que Arduino trae predefinidas&nbsp; y que podemos usar en nuestros programas, se reconocen por esa apertura y cierre de par\u00e9ntesis.&nbsp; Estas funciones se pueden agrupar en diferentes tipos y algunas de las que ya hemos utilizado son las siguientes:<\/p>\n\n\n<figure class=\"wp-block-table alignwide is-style-stripes\"><table class=\"has-background\" style=\"background-color:#e7f5fe\"><thead><tr><th><span style=\"color:#002b7a\" class=\"has-inline-color\">Tipos de funciones<\/span><\/th><th><span style=\"color:#002b7a\" class=\"has-inline-color\">Ejemplos <\/span><span style=\"color:#002a7b\" class=\"has-inline-color\">de funciones<\/span><\/th><\/tr><\/thead><tbody><tr><td>Funciones de entrada\/salida anal\u00f3gicas.<br>&nbsp;<\/td><td><br>analogRead( pin ) <br>analogWrite( pin )<br>\u00a0<\/td><\/tr><tr><td>Funciones avanzadas de entrada\/salida.<br><br>&nbsp;<br><br>&nbsp;<\/td><td>tone( pin, frecuencia)&nbsp;&nbsp;&nbsp;<br>noTone(pin )<\/td><\/tr><tr><td>Funciones temporales.<\/td><td>delay( milisegundos )&nbsp;<\/td><\/tr><tr><td><br>Funciones matem\u00e1ticas.<br><\/td><td>map(valor, valor m\u00ednimo, valor m\u00e1ximo, rango m\u00ednimo, rango m\u00e1ximo)<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Funciones  utilizadas<\/figcaption><\/figure>\n\n\n<p>Independientemente de las funciones de Arduino, tu puedes crear tus propias funciones.<\/p>\n<div class=\"column three-fourth  last\">&nbsp;<\/div>\n<h2 class=\"entry-title\"><span style=\"color: #000080;\">Funciones definidas por&nbsp;usuario<\/span><\/h2>\n<p>Para solucionar un problema complejo, la mejor t\u00e9cnica es dividirlo en problemas&nbsp; m\u00e1s peque\u00f1os y sencillos para que sean m\u00e1s f\u00e1ciles de resolver. En programaci\u00f3n esta t\u00e9cnica permite dise\u00f1ar la soluci\u00f3n del problema principal&nbsp; mediante un&nbsp; &nbsp;programa principal y la soluci\u00f3n de los subproblemas&nbsp; mediante subprogramas&nbsp; conocidos como&nbsp; funciones. Las funciones de usuario pueden ser escritas para realizar tareas repetitivas y para reducir el tama\u00f1o de un programa.<\/p>\n<blockquote>\n<p>Es un segmento de c\u00f3digo que est\u00e1 separado del c\u00f3digo principal del programa, que realiza una tarea espec\u00edfica y regresa a la zona del programa donde fue llamada.<\/p>\n<\/blockquote>\n<p>Al utilizar funciones podemos hacer m\u00e1s compacto nuestro c\u00f3digo organiz\u00e1ndolo por bloques. Para llamar a las&nbsp; funciones basta con solo utilizar su nombre para correr su c\u00f3digo interno,&nbsp; esto nos permite que nuestro c\u00f3digo sea m\u00e1s ligero y m\u00e1s f\u00e1cil de entender.<\/p>\n<h2><span style=\"color: #000080;\">Declaraci\u00f3n de una funci\u00f3n<\/span><\/h2>\n<h3><span style=\"color: #0000ff;\">Sintaxis<\/span><\/h3>\n\n\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#002b7a\">tipoDato   nombreFunci\u00f3n (Par\u00e1metros)<br>{<br>   variables locales ;<br>   C\u00f3digo;<br>   return (retorno); <br>}<\/p>\n\n\n<p><strong>Par\u00e1metros<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>tipoDato: <\/strong>tipo de dato que regresa la funci\u00f3n (int, double o void si\u00a0 no regresa ning\u00fan valor).<\/p>\n<p style=\"padding-left: 40px;\"><strong>nombreFunci\u00f3n: <\/strong>el nombre alusivo a lo que hace la funci\u00f3n.<\/p>\n<p style=\"padding-left: 40px;\"><strong>Par\u00e1metros &#8211; <\/strong>es una variable que se utiliza para realizar alg\u00fan c\u00e1lculo o tarea. Se dejan vac\u00edos si no requiere ning\u00fan par\u00e1metro.<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\" style=\"padding-left: 40px;\"><strong>Variables locales &#8211;\u00a0 <\/strong>la declaraci\u00f3n de la variable que\u00a0 solamente podr\u00e1 ser usada por esa funci\u00f3n en particular.<\/p>\n<p style=\"padding-left: 40px;\"><strong>C\u00f3digo &#8211;\u00a0 <\/strong>el c\u00f3digo que escribiremos debe estar entre las\u00a0 llaves y cada l\u00ednea se cierra con punto y coma.<\/p>\n<p style=\"padding-left: 40px;\"><strong>retorno &#8211;\u00a0<\/strong> \u201creturn\u201d es el valor que regresa la funci\u00f3n, debe ser del mismo tipo del par\u00e1metro que se escribi\u00f3.<\/p>\n<p>En la siguiente imagen (Figura 1) se muestra un ejemplo de cada par\u00e1metro en una funci\u00f3n:<\/p>\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/132.248.251.218\/wpArduino\/wp-content\/uploads\/2021\/01\/PartesFuncio\u0301n.png\" alt=\"\" class=\"wp-image-2908\" width=\"766\" height=\"481\"\/><figcaption class=\"wp-element-caption\">Figura 1. Partes de una funci\u00f3n <\/figcaption><\/figure>\n\n\n<p>Vamos a ver el uso de una funci\u00f3n definida por el usuario con el siguiente ejemplo:<\/p>\n<p>Se desea programar un circuito electr\u00f3nico que encienda un LED cuando un sensor LM35 registre la temperatura de 27 \u00baC&nbsp; y en caso contrario, permanezca apagado. El LED se conectar\u00e1 al pin 7 y el sensor de temperatura&nbsp; al pin A0 (Figura 2).<\/p>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/01\/Ejemplo-LM35.png\" alt=\"\" width=\"470\" height=\"496\"\/><figcaption class=\"wp-element-caption\">Figura 2. Conexi\u00f3n de un LED al pin 7 y un sensor de temperatura  al pin A0 de la tarjeta Arduino UNO<\/figcaption><\/figure><\/div>\n\n<p>En este circuito,&nbsp; las instrucciones para que el sensor registre los valores de la temperatura formar\u00e1n parte del c\u00f3digo de la funci\u00f3n definda por el usuario con el nombre leetemp, es una funci\u00f3n que regresa un valor de tipo float, por lo que la cabecera de la funci\u00f3n ser\u00eda la siguiente:<\/p>\n<pre><span style=\"color: #0000ff;\">float<\/span> leetemp(void); <span style=\"color: #808080;\">\/\/ Prototipo de la funci\u00f3n que lee la temperatura<\/span> <\/pre>\n<p>Para utilizar la funci\u00f3n leetemp, se invoca en el programa principal, que en nuestro c\u00f3digo es la funci\u00f3n loop() como se muestra en el siguiente c\u00f3digo:<\/p>\n<pre><span style=\"color: #0000ff;\">void<\/span> <span style=\"color: #808000;\">loop<\/span>() { <br>temperatura = leetemp(); <br>}<\/pre>\n<p>El c\u00f3digo de la funci\u00f3n leetemp y su utilizaci\u00f3n en el programa para controlar el sensor de temperatura LM35 lo puedes revisar en el siguiente t video:<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Arduino. M\u00f3dulo 6.3. Programaci\u00f3n de funciones\" width=\"720\" height=\"405\" src=\"https:\/\/www.youtube.com\/embed\/KUPw598b0uw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n<p>Como pudiste observar en el video, la construcci\u00f3n de funciones no es complicado y ayudan mucho a simplificar el c\u00f3digo de tus programas.<\/p>\n<h3><span style=\"color: #000080;\">Manos a la obra<\/span><\/h3>\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\" style=\"flex-basis:33.33%\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/01\/ArmandoCircuitosAnimado-1.gif\" alt=\"\" width=\"150\" height=\"150\"\/><figcaption class=\"wp-element-caption\">Armando Circuitos<\/figcaption><\/figure><\/div><\/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<p>Ahora que ya conoces como codificar funciones,\u00a0 vamos a realizar una pr\u00e1ctica que consiste en la construcci\u00f3n y programaci\u00f3n de un circuito electr\u00f3nico que utilice \u00a0un sensor de temperatura LM35 con una funci\u00f3n\u00a0 que leer\u00e1 el valor de la temperatura. Si la temperatura pasa de un valor umbral, encendemos un LED\u00a0<\/p>\n<\/div>\n<\/div>\n\n\n<h3><span style=\"color: #0000ff;\">Materiales<\/span><\/h3>\n<p>Los materiales que se requieren para la realizaci\u00f3n de la pr\u00e1ctica son los siguientes:<\/p>\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"296\" data-id=\"809\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/computadora.png\" alt=\"\" class=\"wp-image-809\"\/><figcaption class=\"wp-element-caption\">Computadora<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"296\" data-id=\"466\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/ide_arduino.png\" alt=\"\" class=\"wp-image-466\"\/><figcaption class=\"wp-element-caption\">IDE Arduino<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"296\" data-id=\"465\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/arduinoUNO.png\" alt=\"\" class=\"wp-image-465\"\/><figcaption class=\"wp-element-caption\">Arduino UNO<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"297\" height=\"296\" data-id=\"808\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/cable.png\" alt=\"cable USB tipo AB\" class=\"wp-image-808\"\/><figcaption class=\"wp-element-caption\">Cable USB tipo AB<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"296\" data-id=\"683\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/protoboard.png\" alt=\"\" class=\"wp-image-683\"\/><figcaption class=\"wp-element-caption\">Protoboard<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"217\" height=\"256\" data-id=\"2896\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/01\/LM35.png\" alt=\"\" class=\"wp-image-2896\"\/><figcaption class=\"wp-element-caption\">Sensor LM35<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"297\" data-id=\"685\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/led.png\" alt=\"\" class=\"wp-image-685\"\/><figcaption class=\"wp-element-caption\">1 LED de 5 mm<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"297\" data-id=\"686\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/jumper.png\" alt=\"\" class=\"wp-image-686\"\/><figcaption class=\"wp-element-caption\">6 cables jumper macho-macho<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"297\" data-id=\"687\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/resistencia-220.png\" alt=\"\" class=\"wp-image-687\"\/><figcaption class=\"wp-element-caption\">1 resistencias 220 ohms <\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p><a href=\"https:\/\/youtu.be\/kiVVgrb-hY8\">https:\/\/youtu.be\/kiVVgrb-hY8<\/a><\/p>\n\n\n<p>Para que comprendas mejor las conexiones y el funcionamiento del circuito electr\u00f3nico que vas a crear, primero explicaremos c\u00f3mo trabaja un sensor LM35. Los otros materiales ya los hemos utilizado en pr\u00e1cticas anteriores de este manual, si no te acuerdas o deseas repasar las caracter\u00edsticas t\u00e9cnicas y funcionamiento de alguno de los componentes electr\u00f3nicos, puedes dar clic sobre su imagen para consultar su informaci\u00f3n.&nbsp;<\/p>\n<h3><span style=\"color: #0000ff;\">Sensor LM35<\/span><\/h3>\n<p>El LM35 es un circuito electr\u00f3nico sensor que puede medir temperatura. Su salida es anal\u00f3gica, es decir, te proporciona un voltaje proporcional a la temperatura. El sensor tiene un rango desde \u221255\u00b0C a 150\u00b0C. En el siguiente video te explicamos c\u00f3mo funciona este sensor.<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Sensor LM35\" width=\"720\" height=\"405\" src=\"https:\/\/www.youtube.com\/embed\/kiVVgrb-hY8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n<h3><span style=\"color: #000080;\">Construcci\u00f3n del circuito electr\u00f3nico<\/span><\/h3>\n<p>Realiza las conexiones del circuito electr\u00f3nico que se muestra en el diagrama esquem\u00e1tico de la Figura 1. Observa que la terminal izquierda del sensor va a corriente, la terminal de enmedio al puerto A0 y la terminal derecha a tierra&nbsp;<\/p>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/01\/Sensor-lm35.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Figura 1. Sensor LM35<\/figcaption><\/figure><\/div>\n\n<h2><span style=\"color: #000080;\">Programaci\u00f3n del circuito electr\u00f3nico<\/span><\/h2>\n<p>Captura el c\u00f3digo del programa en el IDE de Arduino. Recuerda escribir el c\u00f3digo para&nbsp; aprender las instrucciones.&nbsp;<\/p>\n<pre><span style=\"color: #808080;\">\/* Manual de programaci\u00f3n con Arduino<\/span><br><span style=\"color: #808080;\">*  Pr\u00e1ctica: Sensor de temperatura LM35<\/span><br><span style=\"color: #808080;\">*  Objetivo: Uso de una funci\u00f3n que leer\u00e1 el valor de la temperatura <\/span><br><span style=\"color: #808080;\">*  y si la temperatura pasa de un valor umbral, enciende un LED<\/span><br><span style=\"color: #808080;\">*  Fecha: agosto 2020<\/span><br><span style=\"color: #808080;\">*  Autor: Miguel \u00c1ngel Ba\u00f1uelos<\/span><br><br> <br><span style=\"color: #808080;\">*\/<br><span style=\"color: #0000ff;\">const int<\/span> <span style=\"color: #333333;\">pinSensor = A0;<\/span> \/\/ Se pasar\u00e1 como par\u00e1metro a la funci\u00f3n <\/span><br><span style=\"color: #0000ff;\">const int<\/span> pinLed = 7;  <span style=\"color: #808080;\">\/\/ Conexi\u00f3n del LED<\/span> <br><span style=\"color: #0000ff;\">const int<\/span> umbral = 26; <span style=\"color: #808080;\">\/\/ umbral de la temperatura en grados celcius <\/span><br><span style=\"color: #0000ff;\">int<\/span> valorSensor = 0;   <span style=\"color: #808080;\">\/\/ La definici\u00f3n se hace dentro de la funci\u00f3n<\/span> <br><span style=\"color: #0000ff;\">float<\/span> temperatura = 0; <span style=\"color: #808080;\">\/\/ Variable para guardar la temperatura<\/span> <br><br><span style=\"color: #0000ff;\">void<\/span> <span style=\"color: #808000;\">setup<\/span>() { <br>   <span style=\"color: #ff6600;\">pinMode<\/span>(pinLed, <span style=\"color: #0000ff;\">OUTPUT<\/span>); <span style=\"color: #808080;\">\/\/ Declaramos el pin del Led de salida<\/span> <br>} <br><br><span style=\"color: #0000ff;\">float<\/span> leetemp(void); <span style=\"color: #808080;\">\/\/ Prototipo de la funci\u00f3n que lee la temperatura<\/span> <br><br><span style=\"color: #0000ff;\">void<\/span> <span style=\"color: #808000;\">loop<\/span>() { <br>  temperatura = leetemp(); <br>  <span style=\"color: #808080;\">\/\/ comparamos el valor de la temperatura con el umbral<\/span> <br>  <span style=\"color: #808000;\">if<\/span> (temperatura &gt; umbral){ <br>      <span style=\"color: #ff6600;\">digitalWrite<\/span>(pinLed, <span style=\"color: #0000ff;\">HIGH<\/span>); <span style=\"color: #808080;\">\/\/ Mayor al umbral LED ON<\/span> <br>  } <br>  <span style=\"color: #808000;\">else<\/span> { <br>      <span style=\"color: #ff6600;\">digitalWrite<\/span>(pinLed, <span style=\"color: #0000ff;\">LOW<\/span>); <span style=\"color: #808080;\">\/\/ Menor al umbral LED OFF<\/span><br>  } <br>  delay(1000);<br>} <br><br><span style=\"color: #0000ff;\">float<\/span> leetemp(<span style=\"color: #0000ff;\">void<\/span>) { <br>  <span style=\"color: #0000ff;\">int<\/span> valorSensor=0; <span style=\"color: #808080;\">\/\/ Esta es una variable local valor<\/span><br>  valorSensor = <span style=\"color: #ff6600;\">analogRead<\/span>(pinSensor); <span style=\"color: #808080;\">\/\/ Leemos el valor del sensor <\/span><br><span style=\"color: #808080;\">                                  \/\/ pinSensor es una constante global<\/span><br>  <span style=\"color: #0000ff;\">float<\/span> milivolts = (valorSensor \/ 1024.0) * 5000; <span style=\"color: #808080;\">\/\/ Lo convertimos a milivolts<\/span><br>  <span style=\"color: #808000;\">return<\/span>  milivolts\/10; <span style=\"color: #808080;\">\/\/ Este es el resultado de la funci\u00f3n<\/span> <br>}<\/pre>\n<h3><span style=\"color: #000080;\">Funcionamiento del circuito electr\u00f3nico<\/span><\/h3>\n<p>Prueba el funcionamiento de tu circuito electr\u00f3nico. Verifica que el circuito funcione como la simulaci\u00f3n que se muestra a continuaci\u00f3n. Presiona el bot\u00f3n<strong> Iniciar simulaci\u00f3n,&nbsp; presiona el sensor&nbsp; <\/strong>&nbsp;y observa c\u00f3mo enciende el led cuando se alcanza el umbral .<\/p>\n\n\n<iframe loading=\"lazy\" width=\"725\" height=\"453\" src=\"https:\/\/www.tinkercad.com\/embed\/6qghkAbBbHV?editbtn=1\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n\n\n\n<p>Si en tu navegador no se muestra la simulaci\u00f3n, ingresa al enlace <a href=\"https:\/\/www.tinkercad.com\/embed\/6qghkAbBbHV?editbtn=1\">https:\/\/www.tinkercad.com\/embed\/6qghkAbBbHV?editbtn=1<\/a><\/p>\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\" style=\"flex-basis:33.33%\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full 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\" class=\"wp-image-3237\" width=\"150\" height=\"150\"\/><\/figure><\/div><\/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<h3><span style=\"color: #000080;\">Autoevaluaci\u00f3n<\/span><\/h3>\n<\/div>\n<\/div>\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-30\" class=\"h5p-iframe\" data-content-id=\"30\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Ejercicio 28 Funciones\"><\/iframe><\/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\" style=\"flex-basis:33.33%\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full 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\" class=\"wp-image-2607\" width=\"150\" height=\"150\"\/><\/figure><\/div><\/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<h3><span style=\"color: #000080;\">Para aprender m\u00e1s<\/span><\/h3>\n<\/div>\n<\/div>\n\n\n\n<p>Proserquisa (2016)\u00bfQu\u00e9 es una funci\u00f3n y c\u00f3mo utilizarla? <a href=\"http:\/\/cursoarduino.proserquisa.com\/2016\/10\/05\/tutorial-6-que-es-una-funcion-y-como-utilizarla\/\">http:\/\/cursoarduino.proserquisa.com\/2016\/10\/05\/tutorial-6-que-es-una-funcion-y-como-utilizarla\/<\/a><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\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\/arreglos-bidimensionales\/\">&lt; Arreglos bidimensionales<\/a><\/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\/bibliotecas\/\">Bibliotecas ><\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>En esta lecci\u00f3n aprender\u00e1s a crear funciones&nbsp; y a utilizarlas en el desarrollo de tus programas para tus proyectos de Arduino En este manual ya hemos utilizado varias funciones que Arduino trae predefinidas&nbsp; y que podemos usar en nuestros programas,<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":18,"menu_order":27,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-446","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/446","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=446"}],"version-history":[{"count":57,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/446\/revisions"}],"predecessor-version":[{"id":6838,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/446\/revisions\/6838"}],"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=446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}