{"id":1236,"date":"2024-04-20T21:02:45","date_gmt":"2024-04-20T21:02:45","guid":{"rendered":"https:\/\/raymundopizano.com\/blog\/?p=1236"},"modified":"2024-09-15T21:01:17","modified_gmt":"2024-09-15T21:01:17","slug":"arduino-5-mi-primer-codigo-encender-un-led-resistencias-y-la-ley-de-ohm","status":"publish","type":"post","link":"https:\/\/raymundopizano.com\/blog\/arduino\/arduino-5-mi-primer-codigo-encender-un-led-resistencias-y-la-ley-de-ohm\/","title":{"rendered":"Arduino &#8211; 5. Mi primer c\u00f3digo encender un LED"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Aprendamos primero<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Como funcionan los LED<\/h3>\n\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=\"C\u00f3mo Funcionan los LED - Descubre los Misterios de C\u00f3mo Funcionan los LED\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/PugXcHWBt_M?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Resistencias <\/h3>\n\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=\"Resistencias Explicadas\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/blUimcoNpKs?start=454&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Y protoboard<\/h3>\n\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=\"C\u00f3mo USAR una PROTOBOARD para PRINCIPIANTES | Electr\u00f3nica B\u00e1sica |\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/99Rqlf5T00w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Requerimos<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tarjeta UNO R3<\/li>\n\n\n\n<li>Protoboard<\/li>\n\n\n\n<li>Led 5mm rojo<\/li>\n\n\n\n<li>Resistencia de 330 \u03a9 Ohms<\/li>\n\n\n\n<li>Dos cables macho para protoboard o dupont<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"733\" height=\"282\" src=\"https:\/\/raymundopizano.com\/blog\/wp-content\/uploads\/2024\/04\/led_catodo_anodo.png\" alt=\"\" class=\"wp-image-1253\" srcset=\"https:\/\/raymundopizano.com\/blog\/wp-content\/uploads\/2024\/04\/led_catodo_anodo.png 733w, https:\/\/raymundopizano.com\/blog\/wp-content\/uploads\/2024\/04\/led_catodo_anodo-300x115.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Conectamos del Pin GND de la Tarjeta UNO R3 al c\u00e1todo (el cable negro que se muestra en la image) y el Pin 12 a la resistencia, y la resistencia al \u00e1nodo del LED. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"725\" height=\"453\" src=\"https:\/\/raymundopizano.com\/blog\/wp-content\/uploads\/2024\/04\/R3_LED_Rojo.png\" alt=\"\" class=\"wp-image-1251\" srcset=\"https:\/\/raymundopizano.com\/blog\/wp-content\/uploads\/2024\/04\/R3_LED_Rojo.png 725w, https:\/\/raymundopizano.com\/blog\/wp-content\/uploads\/2024\/04\/R3_LED_Rojo-300x187.png 300w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Recuerda que cuando los Pines Digitales est\u00e1n en ON se encuentran en estado ALTO de tensi\u00f3n de 5v.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed que con el siguiente programa vamos a llevarlo de 5v \/ HIGH (por encima de 2v \u2013 considerado como 1) a 0v \/ LOW (por debajo de 0.8v \u2013 considerado como 0) encendiendo y apagando el Led por medio de la funci\u00f3n <code data-enlighter-language=\"cpp\" class=\"EnlighterJSRAW\">digitalWrite(NumerodePIN, HIGH \/ LOW)<\/code> y d\u00e1ndole intervalos de tiempo con <code data-enlighter-language=\"cpp\" class=\"EnlighterJSRAW\">delay(milisegundos)<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vimos como usar el editor y cargarlo en nuestra placa Arduino en el tema 2 de <a href=\"https:\/\/raymundopizano.com\/blog\/iot\/arduino-introduccion\/\" data-type=\"link\" data-id=\"https:\/\/raymundopizano.com\/blog\/iot\/arduino-introduccion\/\" target=\"_blank\" rel=\"noreferrer noopener\">2. Instalar entorno de trabajo IDE Arduino y Visual Studio Code<\/a>., copia y pega el c\u00f3digo en tu IDE, recuerda que si usas VSC PlatformIO conserva la primera linea <code>#include &lt;Arduino.h&gt;<\/code>.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#272822\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"\/\/ Ejercicio con Leds\n\n\/\/ Declaramos una variable constante de tipo byte\n\/\/ Le asignamos el valor del PIN 12 de la tarjeta\nconst byte LED_12 = 12;\n\nvoid setup()\n{\n  \/\/ Inicializamos el pin digital 12 de salida\n  pinMode(LED_12, OUTPUT);\n}\n\nvoid loop()\n{\n  \/\/ Enciendo el PIN 12\n  digitalWrite(LED_12, HIGH);\n  delay(1000); \/\/ Espera 1000 milisegundos\n  \/\/ Apago el PIN 12\n  digitalWrite(LED_12, LOW);\n  delay(1000); \/\/ Espera 1000 milisegundos\n}\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copiar\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88846F\">\/\/ Ejercicio con Leds<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88846F\">\/\/ Declaramos una variable constante de tipo byte<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88846F\">\/\/ Le asignamos el valor del PIN 12 de la tarjeta<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F92672\">const<\/span><span style=\"color: #F8F8F2\"> byte LED_12 <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">12<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">void<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">setup<\/span><span style=\"color: #F8F8F2\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88846F\">  \/\/ Inicializamos el pin digital 12 de salida<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #A6E22E\">pinMode<\/span><span style=\"color: #F8F8F2\">(LED_12, OUTPUT);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">void<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">loop<\/span><span style=\"color: #F8F8F2\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88846F\">  \/\/ Enciendo el PIN 12<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #A6E22E\">digitalWrite<\/span><span style=\"color: #F8F8F2\">(LED_12, HIGH);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #A6E22E\">delay<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #AE81FF\">1000<\/span><span style=\"color: #F8F8F2\">);<\/span><span style=\"color: #88846F\"> \/\/ Espera 1000 milisegundos<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88846F\">  \/\/ Apago el PIN 12<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #A6E22E\">digitalWrite<\/span><span style=\"color: #F8F8F2\">(LED_12, LOW);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #A6E22E\">delay<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #AE81FF\">1000<\/span><span style=\"color: #F8F8F2\">);<\/span><span style=\"color: #88846F\"> \/\/ Espera 1000 milisegundos<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Presiona el bot\u00f3n de <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Iniciar simulaci\u00f3n<\/code>, ve como enciende y apaga el LED, luego clic a <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">&lt;\/ C\u00f3digo<\/code>.<\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"725\" height=\"453\" src=\"https:\/\/www.tinkercad.com\/embed\/eV3O8XaRAVl?editbtn=1\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><a href=\"https:\/\/www.tinkercad.com\/embed\/eV3O8XaRAVl\" data-type=\"link\" data-id=\"https:\/\/www.tinkercad.com\/embed\/eV3O8XaRAVl\" target=\"_blank\" rel=\"noreferrer noopener\">Ver el ejercicio en una nueva ventana<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lo aprendido hasta el momento:<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Declarar una variable de tipo constante <code data-enlighter-language=\"cpp\" class=\"EnlighterJSRAW\">const <\/code>este tipo de variables no cambia de valor durante todo el programa., como por ejemplo el PIN LED_12.<\/li>\n\n\n\n<li>La funci\u00f3n <code data-enlighter-language=\"cpp\" class=\"EnlighterJSRAW\">pinMode(PIN, Modo);<\/code> nos permite configurar un PIN en modo salida <code data-enlighter-language=\"cpp\" class=\"EnlighterJSRAW\">OUTPUT<\/code> o entrada <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">INPUT<\/code> y <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">INPUT_PULLUP<\/code> que veremos posteriormente.<\/li>\n\n\n\n<li>Con <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">digitalWrite(PIN, Estado);<\/code> podemos establecer un PIN como encendido <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">HIGH <\/code>(5V) y apagado <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">LOW<\/code> (0V).<\/li>\n\n\n\n<li><code data-enlighter-language=\"cpp\" class=\"EnlighterJSRAW\">delay(ms);<\/code> nos permite pausar el programa por alg\u00fan tiempo establecido en <code data-enlighter-language=\"cpp\" class=\"EnlighterJSRAW\">ms<\/code> milisegundos hay que tomar en cuenta que 1 segundo es igual a 1000&nbsp;milisegundos.  <\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Let&#8217;s Code!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora jugaremos con lo que ya aprendimos vamos a crear:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un sem\u00e1foro, agregar dos Leds mas uno amarillo y uno verde claro con sus resistencias completa el c\u00f3digo de este ejercicio <a href=\"https:\/\/wokwi.com\/projects\/390827946046286849\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/wokwi.com\/projects\/390827946046286849<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Como tip la clave esta en el tiempo de los <code data-enlighter-language=\"cpp\" class=\"EnlighterJSRAW\">delay(milisegundos)<\/code> recuerda que estos se procesan de manera lineal de arriba hacia abajo.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f56f613f wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-raymundo-pizano wp-block-embed-raymundo-pizano\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"qW2XJpFcjT\"><a href=\"https:\/\/raymundopizano.com\/blog\/uncategorized\/arduino-4-buenas-practicas\/\">Arduino &#8211; 4 Buenas practicas<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u00abArduino &#8211; 4 Buenas practicas\u00bb \u2014 Raymundo Pizano\" src=\"https:\/\/raymundopizano.com\/blog\/uncategorized\/arduino-4-buenas-practicas\/embed\/#?secret=Ijpx2qorxx#?secret=qW2XJpFcjT\" data-secret=\"qW2XJpFcjT\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/raymundopizano.com\/blog\/uncategorized\/arduino-4-buenas-practicas\/\">&lt;&lt; Anterior<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-raymundo-pizano wp-block-embed-raymundo-pizano\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"zHCofH72w5\"><a href=\"https:\/\/raymundopizano.com\/blog\/arduino\/arduino-6-ejercicio-semaforo-y-dos-semaforos\/\">Arduino &#8211; 6. Ejercicio Sem\u00e1foro<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u00abArduino &#8211; 6. Ejercicio Sem\u00e1foro\u00bb \u2014 Raymundo Pizano\" src=\"https:\/\/raymundopizano.com\/blog\/arduino\/arduino-6-ejercicio-semaforo-y-dos-semaforos\/embed\/#?secret=sSqEtSs434#?secret=zHCofH72w5\" data-secret=\"zHCofH72w5\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"has-text-align-right wp-block-paragraph\"><a href=\"https:\/\/raymundopizano.com\/blog\/arduino\/arduino-6-ejercicio-semaforo-y-dos-semaforos\/\">Siguiente &gt;&gt;<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aprendamos primero Como funcionan los LED Resistencias Y protoboard Requerimos Conectamos del Pin GND de la Tarjeta UNO R3 al c\u00e1todo (el cable negro que se muestra en la image) y el Pin 12 a la resistencia, y la resistencia al \u00e1nodo del LED. Recuerda que cuando los Pines Digitales est\u00e1n en ON se encuentran [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1251,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-1236","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino"],"_links":{"self":[{"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/posts\/1236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/comments?post=1236"}],"version-history":[{"count":84,"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/posts\/1236\/revisions"}],"predecessor-version":[{"id":1877,"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/posts\/1236\/revisions\/1877"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/media\/1251"}],"wp:attachment":[{"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/media?parent=1236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/categories?post=1236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/raymundopizano.com\/blog\/wp-json\/wp\/v2\/tags?post=1236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}