        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":1599,"date":"2016-09-14T10:43:02","date_gmt":"2016-09-14T10:43:02","guid":{"rendered":"http:\/\/rogerbit.com\/wprb\/?p=1599"},"modified":"2023-11-12T23:00:21","modified_gmt":"2023-11-12T23:00:21","slug":"controlando-intensidad-de-tira-de-led-por-bluetooth-pwm","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2016\/09\/controlando-intensidad-de-tira-de-led-por-bluetooth-pwm\/","title":{"rendered":"Controlando Intensidad de Tira de led por Bluetooth-Pwm"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"\u2705 Controlando Intensidad de Tira de led por Bluetooth-Pwm\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/46N4ZR4AMBs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<p>En este video veremos como controlar la intensidad de una tira de led mediante bluetooth y pwm.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Circuito<\/span><\/strong><\/p>\n<p>El circuito se compone de un arduino uno un m\u00f3dulo bluetooth hc-06 un transistor npn Tip31c, un resistor de 120 ohm y por supuesto una tira de led.<\/p>\n<p>La tira de led se alimenta con 12 voltios no as\u00ed el arduino que usa 5 voltios para su funcionamiento. A trav\u00e9s del pin n\u00famero 3 del arduino se conecta a la base del transistor Tip31c, no olvidemos colocar un resistor de 120 ohm a la base para no da\u00f1ar al transistor.<\/p>\n<p>Al aumentar la tensi\u00f3n, en el pin 3 este tambi\u00e9n hace que aumente la tensi\u00f3n en el transistor, lo cual genera que la tira de led se ilumine m\u00e1s.<\/p>\n<p>El m\u00f3dulo bluetooth hc-06 establece la conexi\u00f3n entre el arduino uno y el smartphone que estemos usando, la velocidad de conexi\u00f3n es de 115200 bps.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/circuito_pwm_tira_led.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-1604\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/circuito_pwm_tira_led-300x284.jpg\" alt=\"circuito_pwm_tira_led\" width=\"300\" height=\"284\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/circuito_pwm_tira_led-300x284.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/circuito_pwm_tira_led-768x728.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/circuito_pwm_tira_led-1024x970.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/circuito_pwm_tira_led-820x777.jpg 820w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong><span style=\"color: #ff6600;\">C\u00f3digo fuente<\/span><\/strong><\/p>\n<p><a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/led_pwm.zip\">led_pwm<\/a><\/p>\n<p><strong><span style=\"color: #ff6600;\">Aplicaci\u00f3n App inventor<\/span><\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/interface_pwm.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-1610\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/interface_pwm-201x300.jpg\" alt=\"interface_pwm\" width=\"201\" height=\"300\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/interface_pwm-201x300.jpg 201w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/interface_pwm-768x1144.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/interface_pwm-687x1024.jpg 687w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/interface_pwm-820x1221.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/interface_pwm.jpg 1430w\" sizes=\"(max-width: 201px) 100vw, 201px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/bloques_pwm.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-1609\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/bloques_pwm-300x114.jpg\" alt=\"bloques_pwm\" width=\"300\" height=\"114\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/bloques_pwm-300x114.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/bloques_pwm-768x292.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/bloques_pwm-1024x389.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/bloques_pwm-820x312.jpg 820w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong><span style=\"color: #ff6600;\">Descargar la aplicaci\u00f3n para android<\/span><\/strong><\/p>\n<p><a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/variador_de_luz_app.rar\">variador_de_luz_app<\/a><\/p>\n<p>Hoja de datos Tip31c<\/p>\n<p><a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2016\/09\/TIP31C.pdf\">tip31c<\/a><\/p>\n<p><strong>M\u00f3dulo bluetooth hc-06<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"\" src=\"https:\/\/mail.google.com\/mail\/u\/0\/?ui=2&amp;ik=d956831c07&amp;view=fimg&amp;th=1550d879c142e72e&amp;attid=0.1&amp;disp=emb&amp;realattid=ii_1550ccf93a8fef01&amp;attbid=ANGjdJ-lcdvfsb8i1m29w_TbJ6BNaAoYv10FqCBFr-LvMz8fRKqRoLP0TzjpyznptDkJVIXBbcxlAMjhE-WFKqbyTwl07IM3PCzdxSINC8m7G2qkw-GCbSR19od_btc&amp;sz=w964-h836&amp;ats=1464810845337&amp;rm=1550d879c142e72e&amp;zw&amp;atsh=1\" alt=\"Im\u00e1genes integradas 1\" width=\"351\" height=\"304\" \/><\/p>\n<p><strong>Caracter\u00edsticas:<\/strong><\/p>\n<ul>\n<li>Especificaci\u00f3n bluetooth v2.0 + EDR (Enhanced Data Rate)<\/li>\n<li>Modo esclavo (Solo puede operar en este modo)<\/li>\n<li>Puede configurarse\u00a0mediante comandos AT (Deben escribirse en may\u00fascula)<\/li>\n<li>Chip de radio:\u00a0CSR BC417143<\/li>\n<li>Frecuencia: 2.4 GHz, banda ISM<\/li>\n<li>Modulaci\u00f3n:\u00a0GFSK (Gaussian Frequency Shift Keying)<\/li>\n<li>Antena de PCB incorporada<\/li>\n<li>Potencia de emisi\u00f3n:\u00a0\u2264 6 dBm, Clase 2<\/li>\n<li>Alcance 5 m a 10 m<\/li>\n<li>Sensibilidad:\u00a0\u2264 -80 dBm a 0.1% BER<\/li>\n<li>Velocidad:\u00a0Asincr\u00f3nica: 2 Mbps (max.)\/160 kbps, sincr\u00f3nica: 1 Mbps\/1 Mbps<\/li>\n<li>Seguridad: Autenticaci\u00f3n y encriptaci\u00f3n (Password por defecto: 1234)<\/li>\n<li>Perfiles: Puerto serial Bluetooth<\/li>\n<li>M\u00f3dulo montado en tarjeta con regulador de voltaje y 4 pines suministrando acceso a VCC, GND, TXD, y RXD<\/li>\n<li>Consumo de corriente: 30 mA a 40 mA<\/li>\n<li>Voltaje de operaci\u00f3n: 3.6 V a 6 V<\/li>\n<li>Dimensiones totales: 1.7 cm x 4 cm aprox.<\/li>\n<li>Temperatura de operaci\u00f3n: -25 \u00baC a +75 \u00baC<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Aplicaciones:<\/strong><\/p>\n<ul>\n<li>Comunicaci\u00f3n inal\u00e1mbrica entre microcontroladores<\/li>\n<li>Comunicaci\u00f3n inal\u00e1mbrica\u00a0entre computadoras y microcontroladores<\/li>\n<li>Comunicaci\u00f3n inal\u00e1mbrica\u00a0entre tel\u00e9fonos m\u00f3viles o tabletas y microcontroladores<\/li>\n<\/ul>\n<hr \/>\n<h3><span style=\"color: #ff0000;\">Estriado de playground<\/span><\/h3>\n<h1>Se\u00f1ales anal\u00f3gicas de salida en Arduino (PWM).<\/h1>\n<p>En este apartado vamos a ver los fundamentos en los que se basa la generaci\u00f3n de salidas anal\u00f3gicas en Arduino. El procedimiento para generar una se\u00f1al anal\u00f3gica es el llamado PWM.<\/p>\n<p>Se\u00f1al PWM (Pulse-width modulation) se\u00f1al de modulaci\u00f3n por ancho de pulso.<\/p>\n<div><img title=\"\" src=\"http:\/\/playground.arduino.cc\/uploads\/ArduinoNotebookTraduccion\/ArduinoNotebook_img08.png\" alt=\"\" \/><\/div>\n<p>Donde:<\/p>\n<p>&#8211; PW (Pulse Width) o ancho de pulso, representa al ancho (en tiempo) del pulso.<\/p>\n<p>&#8211; length\/period (periodo), o ciclo , es el tiempo total que dura la se\u00f1al.<\/p>\n<p>La frecuencia se define como la cantidad de pulsos (estado on\/off) por segundo y su expresi\u00f3n matem\u00e1tica es la inversa del periodo, como muestra la siguiente ecuaci\u00f3n.<\/p>\n<pre>                 1\r\nfrequency = ------------\r\n               period\r\n\r\n<\/pre>\n<p>El periodo se mide en segundos, de este modo la unidad en la cual se mide la frecuencia (hertz) es la inversa a la unidad de tiempo (segundos).<\/p>\n<p>Existe otro par\u00e1metro asociado o que define a la se\u00f1al PWM, denominado &#8220;Duty cycle&#8221;, Ciclo de Trabajo, el cual determina el porcentaje de tiempo que el pulso (o voltaje aplicado) est\u00e1 en estado activo (on) durante un ciclo.<\/p>\n<p>Por ejemplo, si una se\u00f1al tiene un periodo de 10 ms y sus pulsos son de ancho (PW) 2ms, dicha se\u00f1al tiene un ciclo de trabajo (duty cycle) de 20% (20% on y 80% off). El siguiente gr\u00e1fico muestra tres se\u00f1ales PWM con diferentes &#8220;duty cycles&#8221;.<\/p>\n<div><img title=\"\" src=\"http:\/\/playground.arduino.cc\/uploads\/ArduinoNotebookTraduccion\/ArduinoNotebook_img10.png\" alt=\"\" \/><\/div>\n<p>La se\u00f1al PWM se utiliza como t\u00e9cnica para controlar circuitos anal\u00f3gicos. El periodo y el ciclo de trabajo (duty cycle) del tren de pulsos puede determinar la tensi\u00f3n entregada a dicho circuito. Si, por ejemplo, tenemos un voltaje de 5v y lo modulamos con un duty cycle del 10%, obtenemos 0.5V de se\u00f1al anal\u00f3gica de salida.<\/p>\n<p>Las se\u00f1ales PWM son com\u00fanmente usadas para el control de velocidad de motores DC (si decrementas el ciclo de trabajo sobre la se\u00f1al de control del circuito de potencia que act\u00faa sobre el motor el motor se mueve m\u00e1s lentamente), ajustar la intensidad de brillo de un LED, etc.<\/p>\n<p>En Arduino, con <span class=\"wikiword\">ATmega168<\/span> o <span class=\"wikiword\">ATmega328<\/span>, la se\u00f1al de salida PWM (pines 3,5,6,9,10, y 11) es una se\u00f1al de frecuencia 490 Hz aproximadamente y que s\u00f3lo nos permite cambiar el &#8220;duty cycle&#8221; o el tiempo que el pulso est\u00e1 activo (on) o inactivo (off), utilizando la funci\u00f3n analogWrite().<\/p>\n<p>Otra forma de generar se\u00f1ales PWM es utilizando la capacidad del microprocesador. La se\u00f1al de salida obtenida de un microprocesador es una se\u00f1al digital de 0 Voltios (LOW) y de 5 voltios (HIGH).<\/p>\n<p>Con el siguiente c\u00f3digo y con s\u00f3lo realizar modificaciones en los intervalos de tiempo que el pin seleccionado tenga valor HIGH o LOW, a trav\u00e9s de la funci\u00f3n digitalWrite (), generamos la se\u00f1al PWM.<\/p>\n<pre>\/* se\u00f1al PWM *\/\r\n\r\nint digPin = 10; \/\/ pin digital 10\r\n\r\nvoid setup() \r\n{\r\n   pinMode(digPin, OUTPUT);     \/\/ pin en modo salida\r\n\r\n}\r\n\r\nvoid loop() {\r\n   digitalWrite(digPin, HIGH); \/\/ asigna el valor HIGH al pin \r\n   delay(500);     \/\/ espera medio segundo\r\n   digitalWrite(digPin, LOW); \/\/ asigna el valor LOW al pin\r\n   delay(500);     \/\/ espera medio segundo\r\n}\r\n\r\n<\/pre>\n<p>El programa pone el pin 10 a HIGH una vez por segundo durante medio segundo (ciclo de trabajo 50%), la frecuencia que se genera en dicho pin es de 1 pulso por segundo o 1 Hz de frecuencia (periodo de 1 segundo). Cambiando la temporizaci\u00f3n del programa, podremos cambiar el ciclo de trabajo de la se\u00f1al. Por ejemplo, si cambiamos las dos l\u00edneas con delay(500) por delay(250) y delay(750), modificamos el ciclo de trabajo a 25%; ahora, el programa pone el pin 10 a HIGH una vez por segundo durante 1\/4 de segundo y la frecuencia sigue siendo de 1 Hz.<\/p>\n<p>Utilizando la funci\u00f3n analogWrite(pin,value) podemos obtener la misma se\u00f1al a una frecuencia de 490 Hz aproximadamente. Para una se\u00f1al PWM con ciclo de trabajo 50% hay que poner en el par\u00e1metro value, de la funci\u00f3n analogWrite(pin,value), el valor de 127.<\/p>\n<pre>\/* se\u00f1al PWM en el pin 10 de ciclo de trabajo 50%*\/\r\n\r\nint digPin = 10; \/\/ pin digital 10\r\n\r\nvoid setup() \r\n{\r\n                \/\/ no se declara el modo del pin \r\n                \/\/como salida anal\u00f3gica\r\n}\r\n\r\nvoid loop() {\r\n   analogWrite(digPin,127); \/\/ Se\u00f1al PWM a 50% en el PIN 10\r\n}\r\n\r\n<\/pre>\n<p>De forma que cambiando el valor del par\u00e1metro value en la funci\u00f3n analogWrite(pin,value), podemos obtener distintos ciclos de trabajo:<\/p>\n<table class=\"zebra\" border=\"1\" cellspacing=\"0\">\n<tbody>\n<tr>\n<th align=\"left\">value<\/th>\n<th align=\"left\">Ciclo de trabajo<\/th>\n<\/tr>\n<tr>\n<td align=\"center\">0<\/td>\n<td align=\"center\">0%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">63<\/td>\n<td align=\"center\">25<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">127<\/td>\n<td align=\"center\">50%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">190<\/td>\n<td align=\"center\">75%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">255<\/td>\n<td align=\"center\">100%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<p>Tal vez pueda interesarte proyectos en IOT, raspberry pi, 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\u00a0diagramas.<\/p>\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<!-- 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 video veremos como controlar la intensidad de una tira de led mediante bluetooth y pwm. Circuito El circuito se compone de un arduino uno un m\u00f3dulo bluetooth hc-06 un transistor npn Tip31c, un resistor de 120 ohm y por supuesto una tira de led. La tira de led se alimenta con 12 voltios [&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":1600,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[45,245,244,246,243],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/1599"}],"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=1599"}],"version-history":[{"count":7,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/1599\/revisions"}],"predecessor-version":[{"id":7513,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/1599\/revisions\/7513"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/1600"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=1599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=1599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=1599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}