Artículos recientes

Novedades

Tutorial cinta LED RGB WS2812B

Tutorial cinta LED RGB WS2812B

 La cinta LED RGB se basa en el chip controlador WS2812B de Neopixel con el cual podemos realizar proyectos de una manera simple y escalable ya que se tiene el control de cada pixel y de cada color, ya sea rojo, verde y azul a través de un solo cable. Además, tienen la ventaja de poder encadenarse unos tras otros (la salida de uno se puede conectar a la entrada de la siguiente) para obtener cadenas más largas además de formas interesantes gracias a su flexibilidad. Las cintas Led vienen con diferente densidad de LED, generalmente bienen de 60 y 30 LEDs por Metro. 

WS2812B 60 Led por Metro         WS2812B 30 Leds por Metro

Para realizar las conexiones básicas, vamos primero a identificar el pin de Entrada de nuestra cinta led RGB, para ello tenemos que verificar el pin con la etiqueta “DIN” (entrada de datos). También podremos identificarla por la flecha que indica la dirección en la que se realiza el envío de datos. Cabe indicar, que la entrada de datos se puede conectar hacia cualquier pin de nuestro Arduino, para este caso usaremos el pin digital D6 de nuestro Arduino UNO como ejemplo.

Cinta Led WS2812B  

Vamos a alimentar nuestra cinta led RGB con una fuente de alimentación externa de +5V DC para lo cual podremos seguir el esquema que se muestra en la siguiente imagen o seguir los siguientes pasos:  conectar la entrada de + 5V de la tira led RGB al terminal + (positivo) en la fuente de alimentación (no conecte a la de Arduino), DIN al pin digital D6 del Arduino, y – de nuestra fuente a GND de nuestra cinta led RGB, además de conectar nuestro terminal negativo a un pin GND de nuestro Arduino.

    

Conexion cinta led WS2812B  

    

Para un buen uso de nuestra cinta led RGB es necesario conocer sus características técnicas principales y tener en consideración algunas pautas para evitar algún posible daño, entre ellas citamos:

 

- Cada pixel o led individual de nuestra cinta RGB requiere 60 miliamperios como máximo cuando trabaja en su brillo completo. Los colores mezclados y ajustes inferiores de brillo utilizarán proporcionalmente menos energía. Esto es necesario conocer a la hora de elegir la capacidad de nuestra fuente de alimentación.

- Antes de conectar nuestra cinta led RGB a cualquier fuente de alimentación, añadir un gran condensador (1000 uF, 6.3V o superior) a través de los terminales de alimentación positivo y negativo.

- Coloque una resistencia de 300 a 500 Ohm entre el pin de salida de datos del Arduino y la entrada al primer led o pixel para prevenir que este se dañe debido a posibles picos en la línea de datos.

- Trate de minimizar la distancia entre la cinta led RGB y el controlador Arduino.
Si va a utilizar una fuente de energía externa, aplique energía a la cinta LED antes de aplicar energía al microcontrolador.

Te recordamos que es ideal utilizar una fuente de alimentación independiente o externa, sin embargo se podría utilizar la salida del pin 5V del Arduino si tan solo usamos pocos leds y/ o si los colores y el brillo son relativamente bajos. Como se explicó con anterioridad, cada led necesita de 60 miliamperios aproximadamente en su brillo completo y nuestro Arduino nos puede suministrar de forma continua cerca de 500 miliamperios mediante su pin de 5V.

 

Para simplificar el uso de nuestra cinta LED, vamos a utilizar la librería NeoPixel de Adafruit, para lo cual vamos a descargarla e instalarla de la siguiente manera: 

1. Descarga la librería NeoPixel de Adafruit en el siguiente enlace:   https://github.com/adafruit/Adafruit_NeoPixel

2. Seleccione el botón "Descargar zip".

3. Descomprimir el archivo ZIP después de que termine la descarga. 

4. La carpeta resultante debe contener los archivos "Adafruit_NeoPixel.cpp", "Adafruit_NeoPixel.h”.

5. Cambiar el nombre de la carpeta (que contiene el .cpp y .h) a "Adafruit_NeoPixel" (con el guión y todo), y colocarla en la carpeta Libraries donde se encuentra instalada nuestra plataforma Arduino.

6. Reinicie el Arduino IDE si se está ejecutando actualmente.
 

Luego de instalar la librería en nuestro Arduino IDE, vamos a detallar parte del código que cargaremos posteriormente en nuestro Arduino y que se encuentra en la parte inferior de este tutorial para poder copiar y pegar en nuestro IDE.

Como podemos ver, el programa empieza incluyendo nuestra librería instalada “Adafruit_NeoPixel.h” en la cabecera de nuestro código.

 

La primera línea asigna un número a la variable “PIN" para su posterior consulta, aunque no es obligatorio pero hace que sea más fácil para cambiar el pin donde la entrada de datos de nuestra cinta led RGB está conectada sin profundizar en el código. De la misma manera hacemos lo mismo con la variable “NUMPIXELS” la cual simboliza el número de pixeles o leds por la que está conformada nuestra tira led. Recordar cambiar estas dos variables o parámetros antes de cargar el código según sea nuestro caso.

//Designamos nuestro pin de datos
#define PIN 6
//Designamos cuantos pixeles tenemos en nuestra cinta led RGB
#define NUMPIXELS      10

Nótese que a continuación creamos un objeto “pixels” que nos permitirá controlar nuestra tira led a través de las funciones que nos permite la librería NeoPixel. Luego, en la función setup() llamamos a la función begin () para preparar la salida de nuestro pin de datos de nuestro Arduino a nuestra cinta led RGB.

 

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
// Inicializamos nuestra cinta led RGB
  pixels.begin(); 
  
}

Una de las funciones principales a utilizar para configurar un pixel es:

    pixels.setPixelColor(n, rojo,verde,azul); 

Donde el primer argumento n en este ejemplo es el número de píxeles a lo largo de la tira y 0 representa el pixel más cercano a nuestro Arduino. Por ejemplo si tiene una cinta de 30 píxeles, estos estarán numerados del 0 al 29.

Los siguientes tres argumentos son el color del píxel, expresados ​​como niveles de brillo de color rojo, verde y azul, donde 0 es más tenue (apagado) y 255 es el máximo brillo. 

Una sintaxis alternativa que podemos usar para esta función tiene sólo dos argumentos como se puede ver a continuación:

    pixels.setPixelColor(n, color); 
 

Aquí, el color es un tipo de 32 bits que combina los valores de rojo, verde y azul en un solo número. Esto a veces puede ser más fácil y sencillo de manejar para algunos programas.

También puede convertir valores de rojo, verde y azul por separado en una sola variable de tipo 32 bits para su uso posterior usando la función Color() como se puede ver en el ejemplo siguiente:

   uint32_t magenta = pixels.Color(255,0,255);

Luego se puede simplemente pasar la variable "magenta" como argumento para setPixelColor() en lugar de los números rojos, verdes y azules por separado cada vez.

 

Ahora, nuestra función setPixelColor () no tiene un efecto inmediato en los LEDs. Para "empujar" los datos de color a la tira, hacemos el llamado a la función show():

   pixels.show();   

Esta función nos actualiza toda nuestra cinta led RGB a la vez. A continuación, mostramos el código final y completo que cargaremos a nuestra cinta led RGB y poder disfrutar del juego de luces:

 

#include <Adafruit_NeoPixel.h>
#include <avr/power.h>

//Designamos nuestro pin de datos
#define PIN 6
//Designamos cuantos pixeles tenemos en nuestra cinta led RGB
#define NUMPIXELS      10

//Definimos el número de pixeles de la cinta y el pin de datos
//   Parámetro 1 = número de pixeles de la cinta
//   Parámetro 2 = número de pin de datos del Arduino
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

// IMPORTANTE: Para reducir el riesgo de dañar los pixeles de la cinta, añada un condensador de 1000 uF a través de
// los cables de alimentación de la cinta, agregue una resistencia de 300-500 Ohm en la entrada de datos del primer pixel
// Y reduzca la distancia entre Arduino y el primera pixel. 
// Evite realizar conexiones en el circuito vivo si lo va a hacer, conecte GND primero.

void setup() {
// Inicializamos nuestra cinta led RGB
  pixels.begin(); 
  
}

void loop() {

  //Definimos nuestras variables de tipo uint32 para cada color que utilizaremos
  // pixels.Color toma valores en RGB, desde 0,0,0 hasta 255,255,255
   uint32_t rojo = pixels.Color(150,0,0);
   uint32_t verde = pixels.Color(0,150,0);
   uint32_t azul = pixels.Color(0,0,150);

  int delayval = 50; // Pausa de cincuenta milisegundos

  // La numeración de leds en la cinta RGB es la siguiente:  el primer pixel es 0, el segundo es 1 y asi sucesivamente hasta el número total de leds menos uno
  for(int i=0;i<NUMPIXELS;i++){

    pixels.setPixelColor(i, rojo); // Brillo moderado en rojo

    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB

    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).

  }
  
  //Realizamos lo mismo para los colores verde y azul
    for(int i=0;i<NUMPIXELS;i++){

    pixels.setPixelColor(i, verde); // Brillo moderado en verde

    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB

    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).

  }
    
    for(int i=0;i<NUMPIXELS;i++){

    pixels.setPixelColor(i, azul); // Brillo moderado en azul

    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB

    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).

  }
  
  delay(1000);  // Pausa de un segundo
  
  //Variamos los colores de cada led en nuestra cinta RGB cada medio segundo
   uint32_t amarillo = pixels.Color(150,150,0);
   uint32_t morado = pixels.Color(150,0,150);
   uint32_t celeste = pixels.Color(0,150,150);
   uint32_t blanco = pixels.Color(150,150,150);
   
    delayval=500;
    
    pixels.setPixelColor(0, rojo); // Brillo moderado en rojo
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(1, verde); // Brillo moderado en verde
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(2, azul); // Brillo moderado en azul
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(3, amarillo); // Brillo moderado en amarillo
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(4, morado); // Brillo moderado en morado
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(5, celeste); // Brillo moderado en celeste
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(6, blanco); // Brillo moderado en blanco
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(7, rojo); // Brillo moderado en rojo
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(8, verde); // Brillo moderado en verde
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
    pixels.setPixelColor(9, azul); // Brillo moderado en azul
    pixels.show();   // Mostramos y actualizamos el color del pixel de nuestra cinta led RGB
    delay(delayval); // Pausa por un periodo de tiempo (en milisegundos).
    
  
}

Pueden adquirir los materiales usados en este tutorial en nuestra tienda

Arduino Uno R3

Cinta LED WS2812B: 10 LEDs x 16cm

Cinta LED WS2812B: 5 LEDs x 16cm

50 Comments

    • Avatar
      Pedro Molina Sanchez
      ago 5, 2017

      Segun los datos tecnicos de estos led, la amplitud de los pulsos varia para distinguir los CEROS de los UNOS y por lo tanto no vale cualquier oscilador para el micro.Estos datos ò no los he visto ò no lo han comentado Vds. en su programa ejemplo, Si su programa se copia y no funciona no sè si lo copie mal ò su programa no funcionaSaludos

      • Avatar
        Naylamp
        ago 22, 2017

        Hola Pedro, la librería se encarga de sincronizar la velocidad para el correcto funcionamiento en la transmisión de datos, El tutorial nosotros lo hemos implementado y probado. Los errores más comunes son en usar una fuente inestable para alimentar los LEDS, estos consumen corriente y necesitas una buena fuente, agrega un condensador de 1000uF si es necesario.

    • Avatar
      Diva Puerto
      ago 15, 2017

      Por favor me indican cada cuantos metros de cinta debo colocar un controlador y que tipo de fuente (w) me recomiendan para una aplicación de 500 m.Gracias

      • Avatar
        Naylamp
        ago 23, 2017

        Hola, Cada 5m es recomendable alimenta nuevamente la cinta, pero no necesariamente agregarle un nuevo controlador u otra fuente, puede ser la misma fuente si aún tiene la corriente suficiente. Con respecto el tipo de fuente puede ser cualquiera que tenga 5V estables la corriente va a depender de la longitud de cinta que deseas alimentar. Cada Led consume como máximo 60mA eso es 3.6A por metro (con 60led/metro), pero con 1.5 A o 2A por metro podría ser suficiente pues casi nuca el RGB está a (255,255,255)

    • Avatar
      ANGEL MARIA
      ene 22, 2018

      donde se puede encontrar la lista de las funciones de Neopixel para podes estudiarlas y hacer nuestros propios programas?

    • Avatar
      alexander
      jun 18, 2018

      hola quisiera saber si la unica forma de conectar estas tiras led es solo con arduino u exiten alguna otra forma de conectarla en otros Dimmer

    • Avatar
      Hernan Figueroa
      sep 13, 2018

      Hola, felicitaciones por su pagina, como soy nuevo en esto quisiera saber, a modo de ejemplo, como puedo interconectar 9 tiras pequeñas de esas de 8 o 5 leds. Pretendo distribuirlas en 3 lamparas colgantes (3 tiras x lampara) para que obviamente queden sincronizadas entre si. Mis dudas nacen por el lado de la fuente y el cableado de las mismas hacia su respectivo controlador. Gracias y sigan adelante, son un gran aporte para gente novata como yo.

    • Avatar
      Ariel
      oct 12, 2018

      Hola, Hace un día me llego esta cinta y me encanto! es hermoso como puedes controlar LED por LED, color por color sin necesidad de tener tanto cableado. Lo que si tengo una consulta, no quiero utilizar arduino, ya que necesito hacer un proyecto muy económico, existe forma de hacerlo con sistemas digitales ? con puertas lógicas? algún circuito integrado con un 555 ??? seria muy grato de su parte que me puedan ayudar. Gracias y felicitaciones por la pagina

    • Avatar
      Yokesetio
      nov 3, 2018

      Muy util, me ha servido. Muchisimas gracias

    • Avatar
      PATXI MANRIQUE
      dic 2, 2018

      Buenas tardes equipo de Naylamp. He leído con mucha atención su tutorial de la cinta RGB WS2812B pues tras más de 30h de visionar vídeos, leer artículos y hacer pruebas y más pruebas aun no he conseguido hacer funcionar una sola tira de 8 led, exactamente igual a la que muestran en el artículo y exactamente con el mismo programa. Dado que mi paciencia se está agotando he optado por pasar a explicarles lo que he observado y de paso pedirles si tienen alguna pista que me lleve a ver mi tira encendida como se ve en algún vídeo que hay con el mismo programa.Primeramente conecté la tira a la salida de 5V de Arduino UNO pensando que aunque justo de mA podría funcionar. Después lo he conectado a una f.d.a. externa regulable de 3-18V y 1A ajustando la tensión a 5,03V. He comprobado que sin tira de led y con tira la f.d.a. siempre a alimentado a la tira con 5,03V. Tampoco ha funcionado. Por último he comprado un adaptador de 5V - 3A y tampoco ha funcionado. Todo ello con la R de 470 ohmios y colocando en unas pruebas sí y en otras no el condensador de 1000 microfaradios. El mismo resultado, o sea, que no ha funcionado. He comprobado la continuidad de todos los cablecillos y es buena. He comprobado la tensión en un extremo y en otro de la tira de 8 led y hay 5,03 V en ambos lados. Hasta aquí cero éxitos.Lo curioso es que los led se han encendido (unas veces unos y otras veces otros y sobretodo con el color rojo) cuando en una de las mil pruebas he quitado el cable de masa de la tira y en la punta contraria a la entrada de alimentación y de datos he tocado en el cable de datos con la punta del polímetro. Con la masa de la tira desconectada, si toco en la conexión donde está soldado el cablecillo a la entrada de datos DIN los led no se encienden, pero si toco en el extremo opuesto de la tira en el punto de datos, con algún objeto metálico los led se van encendiendo de forma acumulativa por la tira aunque a veces baja la luminosidad o algunos se van apagando. La luz predominante en casi todos los casos es el rojo.¿Qué explicación tiene esto? ¿Por qué se encienden los led precisamente cuando se quedan sin conexión a masa? Si vuelvo a conectar el cablecillo de masa a la masa de la fda los led se apagan al instante.También he dudado de si fallará la librería de Adafruit_NeoPixel. Veo que aparece como installed en la parte del gestor de librerías, con la versión 1.1.7 y también en el listado de las librerías. También he comprobado que está en la carpeta de librerías en el archivo de la carpeta del programa Arduino. Por aquí tampoco he encontrado solución algunaBueno, lo siento por tanto rollo, pero es que ya no sé que más hacer o investigar, porque no consigo que el programa encienda los led. ¿Alguna sugerencia para seguir intentándolo o alguna explicación de qué puede estar pasando?Un saludo

      • Avatar
        JHelbert
        mar 19, 2019

        PATXI MANRIQUE.Te recomiendo ver este video del profe Humberto Higiño tal vez allí encuentras la causa del error a mi me ha servido mucho.https://www.youtube.com/watch?v=Vn52dAUNxFs

    • Avatar
      cesar amar
      dic 11, 2018

      a como vendes 1 metro y 5 metros

    • Avatar
      JHelbert
      mar 19, 2019

      PATXI MANRIQUE, Observa este video allí está el mismo código y las cintas funcionando. https://www.youtube.com/watch?v=Vn52dAUNxFs del profe Humberto Higiñ, me ha servido mucho. Tal vez en el encuentre su error

    • Avatar
      KBB 2.0
      dic 12, 2019

      I recently came across your article and have been reading along. I want to express my admiration of your writing skill and ability to make readers read from the beginning to the end. I would like to read newer posts and to share my thoughts with you. KBB 2.0

    • Avatar
      Flat Belly Fix Review
      dic 12, 2019

      Gangaur Realtech is a professionally managed organisation specializing in real estate services where integrated services are provided by professionals to its clients seeking increased value by owning, occupying or investing in real estate. Flat Belly Fix Review

    • Avatar
      Numerologist Review
      dic 13, 2019

      I would recommend my profile is important to me, I invite you to discuss this topic... Numerologist Review

    • Avatar
      How To Manifest Anything
      dic 13, 2019

      It was a very good post indeed. I thoroughly enjoyed reading it in my lunch time. Will surely come and visit this blog more often. Thanks for sharing. How To Manifest Anything

    • Avatar
      Leptitox Review
      dic 14, 2019

      This is a splendid website! I"m extremely content with the remarks!. Leptitox Review

    • Avatar
      How To Meditate
      dic 16, 2019

      I have bookmarked your website because this site contains valuable information in it. I am really happy with articles quality and presentation. Thanks a lot for keeping great stuff. I am very much thankful for this site. How To Meditate

    • Avatar
      Numerology
      dic 16, 2019

      I recently came across your article and have been reading along. I want to express my admiration of your writing skill and ability to make readers read from the beginning to the end. I would like to read newer posts and to share my thoughts with you. Numerology

    • Avatar
      Chakras
      dic 16, 2019

      Gangaur Realtech is a professionally managed organisation specializing in real estate services where integrated services are provided by professionals to its clients seeking increased value by owning, occupying or investing in real estate. Chakras

    • Avatar
      The Knowledge Broker Blueprint
      dic 20, 2019

      Your content is nothing short of brilliant in many ways. I think this is engaging and eye-opening material. Thank you so much for caring about your content and your readers. The Knowledge Broker Blueprint

    • Avatar
      Knowledge Broker
      dic 21, 2019

      This was incredibly an exquisite implementation of your ideas Knowledge Broker

    • Avatar
      Knowledge Broker Blueprint
      dic 21, 2019

      Your content is nothing short of brilliant in many ways. I think this is engaging and eye-opening material. Thank you so much for caring about your content and your readers. Knowledge Broker Blueprint

    • Avatar
      Dedetizadora
      dic 27, 2019

      I found your website perfect for my needs. I always prefer to read quality and glad I found this Dedetizadora thing in your post. Keep up the exceptional works.

    • Avatar
      RUbe
      dic 28, 2019

      Se puede cargar el programa de la tira a el chip atmega 328p, después solo conectarlo a una fuente y a la tira y funcionaria con el programa cargado anterior en arduino?

    • Avatar
      poker online terpercaya
      ene 5, 2020

      Your work is very good and I appreciate poker online terpercaya this information. I always prefer to read quality and glad I found this thing in your post. Thank you for the great article.

    • Avatar
      Data SGP
      ene 16, 2020

      Thank you so much for your knowledge. I really appreciate you Data SGP thinking of me, and you couldn't have chosen a more complete present for me. Again, thanks very much.

    • Avatar
      TogelCC
      ene 16, 2020

      Nice article and nice information bro, keep write your article and i will read your blog broo. Thanks and rock n roll. TogelCC

    • Avatar
      تنظيف بالكويت
      ene 20, 2020

      Very useful post. I really appreciate تنظيف بالكويت the kind of topics you post here. Thank you for the post.

    • Avatar
      Rakesh Kushwaha
      ene 23, 2020

      The Flat Belly Fix is a 21-day weight loss regime that targets lower belly fat while also helping you get in the best shape of your life. It takes approximately three weeks to form a habit but rarely do online programs provide you with enough information to last you that long. So, by the third week, you’re left wondering what to do because you have not yet formed a habit, and next thing you know, you’re back to where you started. The Flat Belly Fix makes sure that doesn’t happen by providing you with a detailed regime that will take you right up until your newfound health and fitness are engraved into your lifestyle.Today Panda[url]https://www.todaypanda.com/[/url] [url]https://hubsupplements.com/flat-belly-fix-review/[/url] https://hubsupplements.com/flat-belly-fix-review/

    • Avatar
      오션파라다이스
      ene 23, 2020

      I am appreciative of your assistance 오션파라다이스 and look forward to your continuing to work on our account. I really appreciate the kind of topics you post here. Thank you for the post.

    • Avatar
      Massive male plus supplement
      ene 25, 2020

      I think I have never seen such blogs ever before that has complete things with all details which I want. So kindly update this ever for us. Leptitox http://thesupplementpolice.com/massive-male-plus-reviews

    • Avatar
      Massive Male Plus Pills
      ene 25, 2020

      I curious more interest in some of them hope you will give more information on this topics in your next articles. Duron Williamson Tree Service Massive male plus

    • Avatar
      Leptitox
      ene 25, 2020

      This is a great and interesting blog,keep sharing more. Leptitox

    • Avatar
      situs judi qq online terpercaya
      ene 28, 2020

      I have read your post this is a very informative website. I appreciate your situs judi qq online terpercaya consideration and look forward to hearing from you. Thank you so much for your information.

    • Avatar
      Massive male plus reviews
      ene 31, 2020

      I have read your article; it is very informative and helpful for me. I admire the valuable information you offer in your articles. Thanks for posting it.Massive Male Plus

    • Avatar
      Leptitox supplement reviews
      ene 31, 2020

      This was among the best posts and episode from your team it let me learn many new things.Leptitox Reviews

    • Avatar
      Blood sugar premier Supplement
      feb 4, 2020

      I have read so many articles or reviews about the blogger lovers however this post is truly a good piece of writing, keep it up.Blood sugar premier Supplement

    • Avatar
      cpokerace77
      feb 4, 2020

      t’s very communicative and you are obviously very knowledgeable in this area. Thanks for this nice article. I have read your post this PokerGalaxy is a very informative website. I thank your taking the time. Your insights were truly helpful. Thank you for speaking with me.

      • Avatar
        cpokerace77 Ace pokergalaxy
        feb 4, 2020

        t’s very communicative and you are obviously very knowledgeable in this area. Thanks for this nice article. I have read your post this pokergalaxyis a very informative website. I thank your taking the time. Your insights were truly helpful. Thank you for speaking with me.

    • Avatar
      pokerrepublik
      feb 5, 2020

      Hallo semua, saya adalah Friska Putri saya seorang user Mobile Legend dan pokerrepublik Yuuk gabung main bareng aku biar bisa lebih dekat. Bisa lanjut dekat lewat WA atau FB juga lo! Aku tunggu yaa

    • Avatar
      PokerGalaxy
      feb 7, 2020

      t’s very communicative and you are obviously very knowledgeable in this area. Thanks for this nice article. I have read your post this pokergalaxy is a very informative website. I thank your taking the time. Your insights were truly helpful. Thank you for speaking with me.

    • Avatar
      poker qq online
      feb 10, 2020

      I think this is an informative post and it is very useful and knowledgeable. I have read your poker qq online post this is a very informative website. Thank you for speaking with me.

    • Avatar
      bandar ceme online
      feb 17, 2020

      pemain idn poker ceme online semakin dimudahkan jika ingin bermain poker ceme, pasalnya sekarang sudah hadirnya poker ceme online terbaik.

    • Avatar
      토토사이트
      feb 17, 2020

      This post is very informative on this topic. I feel strongly that 토토사이트 love and read more on this topic. I just tripped upon your blog and wanted to say that I have really enjoyed reading your blog stations. Thanks for sharing.

    • Avatar
      pengeluaransgp
      feb 20, 2020

      Sebagai situs judi togel online terpercaya penyedia data pengeluaran sgp, data hk result sgp 2017-2019 dan data pengeluaran togel hongkong, togel singapore / togel sgp, dan togel sidney serta togel cambodia.

    • Avatar
      Togel Singapore
      feb 22, 2020

      Hallo semua, Saya sangat suka Artikel ini, Mengapa saya suka, karna menurut saya gampang di baca dan dipahami, untuk yang buat artikel saya terima terima kasih atas Artikel yang sebagus ini, saya juga pebuat artikel, jika kawan kawan ada yang ingin cari tahu Artikel saya togel singapore.

Leave a Reply

* Name:
* E-mail: (Not Published)
   Website: (Site url withhttp://)
* Comment: