        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":7237,"date":"2023-04-01T12:29:16","date_gmt":"2023-04-01T12:29:16","guid":{"rendered":"https:\/\/rogerbit.com\/wprb\/?p=7237"},"modified":"2023-04-01T12:29:16","modified_gmt":"2023-04-01T12:29:16","slug":"control-de-intensidad-con-rotary-encoder","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2023\/04\/control-de-intensidad-con-rotary-encoder\/","title":{"rendered":"Control de intensidad de tira de led con rotary encoder"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"Control de intensidad de tira de led con rotary encoder - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/hiu2dhBvLxg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<hr \/>\n<p>En este proyecto de electr\u00f3nica en el que se utiliza un rotary encoder para controlar la intensidad de una tira de luces LED mediante una se\u00f1al de modulaci\u00f3n de ancho de pulso (PWM, por sus siglas en ingl\u00e9s).<\/p>\n<p>Un rotary encoder es un dispositivo de entrada que se utiliza para medir el movimiento y la direcci\u00f3n de rotaci\u00f3n de un eje. En este caso, se utiliza para ajustar la intensidad de la luz LED, permitiendo al usuario aumentar o disminuir el brillo de la tira LED seg\u00fan sus necesidades.<\/p>\n<p>Por otro lado, la modulaci\u00f3n de ancho de pulso (PWM) es una t\u00e9cnica que se utiliza para controlar la cantidad de energ\u00eda que se env\u00eda a un dispositivo el\u00e9ctrico, como una tira de LED. Al variar el ancho del pulso de la se\u00f1al PWM, se puede ajustar la cantidad de energ\u00eda que se env\u00eda a la tira de LED y, por lo tanto, su brillo.<\/p>\n<p>Este proyecto utiliza un rotary encoder para permitir al usuario controlar la intensidad de una tira de LED mediante la t\u00e9cnica de modulaci\u00f3n de ancho de pulso (PWM).<\/p>\n<p>No te pierdas ning\u00fan video m\u00e1s suscr\u00edbete a nuestro canal de telegram https:\/\/t.me\/carlosvolt_electronica_robotica<\/p>\n<hr \/>\n<p style=\"text-align: left;\">Tal vez pueda interesarte proyectos en arduino, pic, rob\u00f3tica, telecomunicaciones, suscribete en\u00a0<a href=\"http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1\">http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1<\/a>\u00a0mucho videos con c\u00f3digo fuentes completos y diagramas<\/p>\n<p style=\"text-align: left;\"><div id=\"ubm-banners-rotation-n1\" data-interval=\"4000\" class=\"ubm_banners_rotation\" style=\"overflow: hidden; width: 200px; height: 150px;\"><div id=\"3_ubm_banner\" class=\"ubm_rotating_banner\"><a href=\"https:\/\/bit.ly\/3aXRDAu\" target=\"_blank\" rel=\"dofollow\"><img src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/useful_banner_manager_banners\/3-2-logo youtube.png\" width=\"100%\" height=\"100%\" alt=\"SUSCRIBETE A NUESTRO CANAL DE YOUTUBE, TUTORIALES GRATIS\" \/><\/a><\/div><\/div><\/p>\n<hr \/>\n<h3><strong>Componentes electr\u00f3nicos<\/strong><\/h3>\n<h3>Arduino mini pro<\/h3>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-4993\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro.jpg\" sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro-300x300.jpg 300w\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><\/p>\n<p>El\u00a0<strong>Arduino Pro Mini<\/strong>\u00a0es una placa de microcontrolador basada en el\u00a0\u00a0<a href=\"http:\/\/www.atmel.com\/Images\/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf\" target=\"_blank\" rel=\"noopener\">ATmega328<\/a>\u00a0.<br \/>\nTiene 14 pines de entrada \/ salida digital (de los cuales 6 se pueden usar como salidas PWM), 6 entradas anal\u00f3gicas, un resonador integrado, un bot\u00f3n de reinicio y orificios para montar encabezados de pines.\u00a0Se puede conectar un encabezado de seis pines a un cable FTDI o una placa de conexi\u00f3n Sparkfun para proporcionar alimentaci\u00f3n USB y comunicaci\u00f3n a la placa.<br \/>\nEl Arduino Pro Mini est\u00e1 dise\u00f1ado para su instalaci\u00f3n semipermanente en objetos o exposiciones. La placa viene sin encabezados pre montados, lo que permite el uso de varios tipos de conectores o la soldadura directa de cables. El dise\u00f1o del pin es compatible con el Arduino Mini.<br \/>\nHay dos versiones del Pro Mini.\u00a0Uno corre a 3.3V y 8 MHz, el otro a 5V y 16 MHz.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Microcontrolador<\/td>\n<td>ATmega328 *<\/td>\n<\/tr>\n<tr>\n<td>Fuente de alimentaci\u00f3n de la placa<\/td>\n<td>3,35-12 V (modelo de 3,3 V) o 5-12 V (modelo de 5 V)<\/td>\n<\/tr>\n<tr>\n<td>Voltaje de funcionamiento del circuito<\/td>\n<td>3.3V o 5V (dependiendo del modelo)<\/td>\n<\/tr>\n<tr>\n<td>Pines de E \/ S digitales<\/td>\n<td>14<\/td>\n<\/tr>\n<tr>\n<td>Pines PWM<\/td>\n<td>6 6<\/td>\n<\/tr>\n<tr>\n<td>UART<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>SPI<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>I2C<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>Pines de entrada anal\u00f3gica<\/td>\n<td>6 6<\/td>\n<\/tr>\n<tr>\n<td>Interrupciones externas<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>Corriente CC por pin de E \/ S<\/td>\n<td>40 mA<\/td>\n<\/tr>\n<tr>\n<td>Memoria flash<\/td>\n<td>32 KB de los cuales 2 KB utilizados por el gestor de arranque *<\/td>\n<\/tr>\n<tr>\n<td>SRAM<\/td>\n<td>2 KB *<\/td>\n<\/tr>\n<tr>\n<td>EEPROM<\/td>\n<td>1 KB *<\/td>\n<\/tr>\n<tr>\n<td>Velocidad de reloj<\/td>\n<td>8 MHz (versiones de 3.3V) o 16 MHz (versiones de 5V)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h4>Pines hembra<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-6689\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hembrapin.jpg\" sizes=\"(max-width: 225px) 100vw, 225px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hembrapin.jpg 225w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hembrapin-150x150.jpg 150w\" alt=\"\" width=\"225\" height=\"225\" \/><\/p>\n<hr \/>\n<p><strong>Z\u00f3calo para arduino nano<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-6895\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/zocalo.jpg\" sizes=\"(max-width: 320px) 100vw, 320px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/zocalo.jpg 320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/zocalo-300x225.jpg 300w\" alt=\"\" width=\"320\" height=\"240\" \/><\/p>\n<hr \/>\n<p><strong>PCB<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-7078\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/10\/pcb.png\" sizes=\"(max-width: 387px) 100vw, 387px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/10\/pcb.png 387w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/10\/pcb-244x300.png 244w\" alt=\"\" width=\"387\" height=\"475\" \/><\/p>\n<p>Descargar archivo gerber \u2013&gt;\u00a0<a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/10\/pcb-motor-paso-a-paso-bluetooth.zip\">pcb motor paso a paso bluetooth<\/a><\/p>\n<hr \/>\n<p><strong>Una tira de led de 12 voltios<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7113 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/11\/tira-300x300.jpg\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/11\/tira-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/11\/tira-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/11\/tira.jpg 584w\" alt=\"\" width=\"300\" height=\"300\" \/><\/p>\n<hr \/>\n<p><strong>Transistor TIP31C NPN<\/strong><\/p>\n<p>El transistor TIP31C hace parte de la familia de semiconductores de potencia en encapsulado pl\u00e1stico TO-220 de muy alto desempe\u00f1o que puede usarse en dise\u00f1os relacionados con aplicaciones de audio y conmutaci\u00f3n r\u00e1pida. Su complemento es el TIP32C.<\/p>\n<p><strong>Caracteristicas<\/strong>:<\/p>\n<ul>\n<li>Transistor tipo: NPN<\/li>\n<li>Corriente m\u00e1xima de colector: 3A<\/li>\n<li>Voltaje m\u00e1ximo Colector-Emisor: 100V<\/li>\n<li>Voltaje de saturaci\u00f3n colector-emisor (Max) @,Ib,Ic: 1.2V @ 375mA, 3A<\/li>\n<li>M\u00e1xima potencia: 2W<\/li>\n<li>Temperatura de operaci\u00f3n m\u00e1xima: 150\u00b0C<\/li>\n<li>Encapsulado TO-220<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7238 size-thumbnail\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/tip31c-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/p>\n<hr \/>\n<p><strong>Un resistor de 1KOhm<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7239 size-thumbnail\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/150ohms-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/p>\n<hr \/>\n<p><strong>Cables dupont<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7240 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/dupont-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/dupont-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/dupont-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/dupont.jpg 640w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<hr \/>\n<p><strong>Rotary Encoder Ambas Direcciones Pulsador ky-040<\/strong><\/p>\n<p>Este encoder giratorio Infinito tiene un n\u00famero fijo de posiciones por revoluci\u00f3n (Giro completo). Estas posiciones son medidas f\u00e1cilmente por peque\u00f1os &#8220;clicks&#8221; cuando gira el encoder. \u00c9ste m\u00f3dulo posee veinte de estas posiciones. Lo que significa una resoluci\u00f3n de 18 grados, adem\u00e1s detecta cuando es presionado como si toda la perilla fuera un bot\u00f3n.<\/p>\n<p>Voltaje de funcionamiento 3.3V ~ 5V<br \/>\nN\u00famero de Posiciones 20<br \/>\nGrados que puede medir por posici\u00f3n 18<br \/>\nDetecci\u00f3n de direcci\u00f3n de giro Si<br \/>\nDetecci\u00f3n de frecuencia de giro y velocidad Si<br \/>\nDeteccion de presi\u00f3n del Sensor Si<br \/>\nDimensiones 27 x 19 x 30mm<br \/>\nPeso 8g<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7241 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/rotary_encoder-300x278.jpg\" alt=\"\" width=\"300\" height=\"278\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/rotary_encoder-300x278.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/rotary_encoder.jpg 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<hr \/>\n<p><strong>C\u00f3digo Fuente<\/strong><\/p>\n<pre class=\"lang:default decode:true \" title=\"C\u00f3digo Fuente\">\/\/ Definimos los pines que vamos a utilizar para el encoder rotatorio y la salida PWM\r\nconst int encoderPin2CLK = 2; \/\/Pin CLK del encoder\r\nconst int encoderPin3DT = 3; \/\/Pin DT del rotary encoder\r\nconst int pwmPin9 = 9; \/\/Pin para generar la salida PWM\r\n\r\n\/\/ Definimos las variables necesarias para el rotary encoder y el control de la intensidad\r\nvolatile int encoderPosicion = 0;  \/\/ Posici\u00f3n actual del encoder\r\n\/\/int lastencoderPosicion = 0;       \/\/ \u00daltima posici\u00f3n registrada del encoder\r\nint intensidadLed = 0;           \/\/ Valor actual de la variable intentencidadLed\r\n\r\n\/\/ Funci\u00f3n que se ejecuta cuando se produce una interrupci\u00f3n en el encoder\r\nvoid handleEncoderInterrupt() {\r\n  int valorEncoder = digitalRead(encoderPin2CLK);\r\n  if (valorEncoder != digitalRead(encoderPin3DT)) {\r\n    encoderPosicion++;\r\n    intensidadLed = map(encoderPosicion, 0, 255, 0, 255);\r\n  } else {\r\n    encoderPosicion--;\r\n    intensidadLed = map(encoderPosicion, 0, -255, 0, -255);\r\n  }\r\n \r\n}\r\nvoid setup() {\r\n  \/\/ Configuramos los pines de entrada\/salida\r\n  pinMode(encoderPin2CLK, INPUT);\r\n  pinMode(encoderPin3DT, INPUT);\r\n  pinMode(pwmPin9, OUTPUT);\r\n\r\n  \/\/ Configuramos el encoder rotatorio para utilizar interrupciones\r\n  attachInterrupt(digitalPinToInterrupt(encoderPin2CLK), handleEncoderInterrupt, CHANGE);\r\n  \r\n  \/\/ Configuramos el puerto serial a 9600 bps\r\n  Serial.begin(9600);\r\n}\r\nvoid loop() {\r\n  \/\/ Limitamos los valores de intensidadLed y encoderPosici\u00f3n a un valor entre 0 a 255\r\n  intensidadLed = constrain(intensidadLed, 0, 255);\r\n  encoderPosicion = constrain(encoderPosicion, 0, 255);\r\n\r\n  \/\/ Mostramos los valores de intensidadLed y encoderPosici\u00f3n\r\n  Serial.print(\"Encoder: \");\r\n  Serial.print(encoderPosicion);\r\n  Serial.print(\", Intesidad tira led: \");\r\n  Serial.println(intensidadLed);\r\n\r\n  \/\/ Enviamos el valor de intensidadLed a la salida PWM del pin 9\r\n  analogWrite(pwmPin9, intensidadLed);\r\n  delay(200);\r\n}<\/pre>\n<hr \/>\n<p>No te pierdas ning\u00fan video m\u00e1s suscr\u00edbete a nuestro canal de telegram <a href=\"https:\/\/t.me\/carlosvolt_electronica_robotica\">https:\/\/t.me\/carlosvolt_electronica_robotica<\/a><\/p>\n<hr \/>\n<div class=\"page-sidebar widget\" id=\"donation_buttons\"><form action=\"https:\/\/www.paypal.com\/cgi-bin\/webscr\" method=\"post\" target=\"_blank\" ><input type=\"hidden\" name=\"business\" value=\"donacion@rogerbit.com\"><input type=\"hidden\" name=\"bn\" value=\"mbjtechnolabs_SP\"><input type=\"hidden\" name=\"cmd\" value=\"_donations\"><input type=\"hidden\" name=\"item_name\" value=\"Ayuda a RogerBit.com\"><input type=\"hidden\" name=\"item_number\" value=\"www.rogerbit.com\"><input type=\"hidden\" class=\"set_donation_button_amount\" name=\"amount\" value=\"1\"><table ><tbody><tr><td><label for=\"rogerBit necesita de tu ayuda para seguir existiendo :-)\">rogerBit necesita de tu ayuda para seguir existiendo :-)<\/label><\/td><\/tr><\/tbody><\/table><table ><tbody><tr><td><input style=\"margin-top:10px;\" type=\"image\" name=\"submit\" border=\"0\" src=\"https:\/\/www.paypal.com\/en_US\/i\/btn\/btn_donateCC_LG.gif\" alt=\"PayPal - The safer, easier way to pay online\"><\/td><\/tr><\/tbody><\/table><input type=\"hidden\" name=\"currency_code\" value=\"USD\"><input type=\"hidden\" name=\"notify_url\" value=\"https:\/\/rogerbit.com\/wprb\/?Donation_Button&#038;action=ipn_handler\"><\/form><\/div>\n<hr \/>\n<p><strong>PROYECTO RECOMENDADO<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"\u2705 Regulador PWM con 555 para el control de tira led o velocidad de motor - Utsource\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/PoBsnczUrWY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>En este proyecto de electr\u00f3nica en el que se utiliza un rotary encoder para controlar la intensidad de una tira de luces LED mediante una se\u00f1al de modulaci\u00f3n de ancho de pulso (PWM, por sus siglas en ingl\u00e9s). Un rotary encoder es un dispositivo de entrada que se utiliza para medir el movimiento y la [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":7242,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[45,1593,331,624,1597,1595,7,1066,917,1570,243,1594,1596],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7237"}],"collection":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/comments?post=7237"}],"version-history":[{"count":1,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7237\/revisions"}],"predecessor-version":[{"id":7244,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7237\/revisions\/7244"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/7242"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=7237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=7237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=7237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}