Ambilight para nuestro PC


Ambilight es una tecnología diseñada para mejorar la experiencia visual  analizando las señales entrantes y produciendo una  luz lateral ambiental adecuada al contenido que se está visualizando en la pantalla un resultado bastante atractivo , el cual  además de la sensación de estar viendo una pantalla aun mayor.

Hasta hace muy poco este efecto solo se podía conseguir si comprábamos un TV que contara con ese sistema y no había otra opción, pero recientemente  con la aparición de placas con suficiente capacidad computacional, se puede emular gracias al uso por ejemplo de una Raspberry Pi .  Aun mas sencillo  y facil es hacerlo a través una placa Arduino UNO (o incluso Arduino nano), un ordenador,y una tira de 50 leds para iluminar una televisión de 47 pulgadas..!Y todo sin tener que soldar nada!.

 

 

Antes de empezar  con el montaje ,  la tira de  leds   RGB   direccionable es muy importante que este basada en el chip  ws2801 (LEDs WS2801) pues el menos no nos  dará  ningún tipo de problemas usando una Placa Arduino,  siendo ademas la mas utilizada para este tipo de montajes.

Existen tiras basadas en el chips WS2801   en formato “luces de navidad”,pero lo mas habitual es adquirirla en forma de cinta autoadhesiva.

Un ejemplo de tira es  esta  que puede comprarse en Amazon por menos de 27€

tira de leds.png

Una peculiaridad  de esta tiras ,es que se pueden cortar según la longitud que se requieran , así como además que también es posible ampliarlas gracias a  los conectores que llevan en cada extremo, pudiendo  unirse  entre ellas hasta donde se necesite.

conector.png

Asimismo, para alimentar dicha tira  también  necesitaremos aparte  una fuente de alimentación  dimensionada para el números de leds que vayamos a adquirir , como puede ser una fuente de  5v y 2A  (para 50 leds)

La tira de leds por simplicidad la conectaremos a una placa  Arduino UNO , el cual puede adquirirse en Amazon por menos de 10€

Arduino UNO comparado a la versión anterior, usa el  Chip alternativo Atmega 16U2 8U2, lo que quiere decir una tasa más alta de transferencia y memoria.Ademas esta versión cuenta con la interfaz SDA y SCL .

Los datos de LED y las líneas de reloj los conectaremos  a la salida SPI de Arduino,es decir  los datos SPI salen del pin digital 11 y  el reloj es el pin digital 13.

Los LED deben ser alimentados externamente fuera de la linea de +5V de  Arduino 5V, pues podrían estropear el regulador de este . La masa o  tierra, por el contrario, si debe ser conectada a  la masa de Arduino.

Normalmente las tiras de leds WS01  ,suelen tiene 6 cables : tres de ellos lo  conectaremos los pines (11,13 Y GND) del Arduino, y los otros dos  conectaremos  a la fuente de 5V.

La forma de conectarlos todo esto es según el siguiente esquema :

  • El cable VERDE proveniente del pin SD de la tira de leds al pin 11 del Arduino Uno.
  • El cable ROJO proveniente del pin CK  de al tira de leds al  pin 13 del Arduino Uno.
  • El cable NEGRO proveniente del pin  GND de la tira de leds al pin GND del Arduino Uno.
  • El cable AZUL proveniente del pin +5V de al tira de leds lo dejaremos sin conectar
  • El cable Rojo grueso en paralelo con el azul  proveniente de la tira de leds a la conexión +5v de la fuente auxiliar
  • El cable NEGRO en paralelo con el  negro  proveniente del pin  GND de la tira de leds al GND de la fuente auxiliar

arduino.png

Conectamos pues  la tira de leds  por un lado a una fuente de 5V /2amp .  y por el otro a Arduino , por uno de los extremos y las otras 2 o 3 tiras con los adaptadores macho hembra adecuados   a continuación siguiendo la flecha  de las tiras  haciendo un rectángulo que rodeara nuestro monitor o TV .  Evidentemente en uno de los extremos de inicio es donde haremos las conexiones  y todas la demás se harán por medio de los  conectares .

Hemos de tener cuidado ya que uno de los extremos de la tira de luces es pues para conectar la primea tira al arduino y a la fuente :de esta forma, en cada extremo quedan sueltos los cables opuestos (normalmente el cable rojo es el positivo y el azul el negativo.) que conectaremos también entre si para dar alimentación a  los leds ( aunque los conectores también den energía  ya que llevan las 4 conexiones incluida los 5v y GND)

 

 

 SOFTWARE EN EL ARDUINO

Para gobernar , la tira de leds la conectaremos a  un   Arduino   que  ademas  hará de “puente” entre el ordenador host y la tira basado en WS2801 . Los datos de LED se transmiten, y  no se almacenan en búfer, lo que significa que si  hay mas código en Arduino  podrían generar demoras debido a la RAM limitada del Arduino,pero no obstante el algoritmo ejerce cierto esfuerzo para evitar las pérdidas de buffer

 El protocolo de cierre WS2801, basado en retardo, podría desencadenarse inadvertidamente si el bus USB o la CPU  está desbordada con otras tareas. Este código almacena datos entrantes en serie e introduce pausas intencionadas si hay una amenaza del buffer  lleno prematuro.

El costo de esta complejidad es algo que  reduce el rendimiento, pero la ganancia es muy buena  evitando  la mayoría de los fallos visuales  incluso aunque finalmente una función de carga en el bus USB y  host CPU, quede  fuera de  control.

 

Si no lo tenemos, descargaremos el software de arduino (Página oficial de arduino) y lo instalamos.

Conectamos el arduino uno a nuestro pc con el cable usb. Si pide los drivers, se pueden encontrarlo en la carpeta arduino-1.0.4\drivers.

Descargaremos  esta biblioteca:fastled biblioteca descarga, la cual  importaremos  al Arduino IDE.

Ahora toca cargar el sketch para lo cual  descaremos el código Adalight para las luces  aqui 

Descomprimireos el archivo y  añadimos los archivos que acabamos de descargar en la carptea Mis documentos/ Arduino  y ng

Arrancaremos el software de arduino y  configuramos en el ide la placa Arduino en Herramientas –>Placa Arduino Uno ( o la placa que tengamos)   sin  olvidar el puerto de comunicaciones

Iremos a  File> Sketchbook> Arduino> Adalight  y uan vez cargado el sketch debemos ajustar el numero de leds  (88 en nuestro casoo) que  tengamos en la instalación  así como la velocidad máxima (500000 )

 #define NUM_LEDS 88 // Max LED count
#define LED_PIN 11 // arduino output pin – probably not required for WS2801
#define GROUND_PIN 10 // probably not required for WS2801
#define BRIGHTNESS 255 // maximum brightness
#define SPEED 500000 // virtual serial port speed, must be the same in boblight_config

Ahora ya podemos   compilar el software( botón primero que  pone un v de verificar).

 

adalight.PNG

 

Si no ha habido errores ahora podemos subir  el sw pulsando el botón de Upload( flechita a la derecha  en el software de Arduino.

Al contrario de lo que sucede  con el sketch LedlIght donde se iluminan las luces  de 3 colores rojo, verde y azul si todo ha ido bien, si tenemos conectadas los leds al arduino y a la fuente externa, cuando carguemos este  código dentro del Arduino solo lucirá el primer led de la cadena lo cual significará que estamos en buen camino.

IMG_20170221_170329.jpg

 

El código dentro de Arduino es no volátil, así que no se borrará aunque desconecte la tarjeta.

 

Sw en el PC

Una vez tenemos el sw de Adalight en un Arduino, toca instalar  el programa de captura que  envíe las señales correspondiente a nuestro Arduino

Entre los programas de captura  ambibox es el mejor especialmente con  windows 10, ya que no solo  tiene la capacidad para capturar su escritorio  sino de poner un fondo personalizable, convertir la tira en luces psicodelicas en función del audio,fondo variable automático ,plugins, etc

Se  puede encontrar aqui, tanto el software como el add-on para XBMC.

 

Una vez   descargado , durante la instalación se puede seleccionar  la opción de instalación completa ,marcando ademas la opción de descarga e instalación de playclaw.

Empezamos la configuración, pulsamos sobre el botón de mas ajustes :

more

En la parte inferior ,como vemos seleccionaremos como Device  Adalight , elegiremos  el puerto de comunicaciones ( el mismo al que este conectado el Arduino) y en el numero de zonas, coloremos  el numero de leds total que tengamos instalados ( en el ejemplo 88).

Asimismo no olvidar orden de colores,lo cual podemos obtener   fijando un color mediante el selector de Mode:Static Background   ,pinchando en el color ( aparecerá la paleta),pinchando en el check de Use baclight   y seleccionando en el combo order of colors la opción adecuada   hasta que el color de los leds sea similar al de paleta ( en mi caso es BGR)

 

fondo.PNG

IMG_20170221_204134.jpg

En este programa no olvidar  en salvar cada cambio en “Save Setting”  pues si no lo hacemos perderemos cualquier cambio que hagamos

Con las nuevas opciones ya podemos avanzar en la  configuración de nuestra instalación para lo cual seleccionaremos en Mode  :Screen capture

 

capturawindiow.PNG
Acto seguido configuramos la ubicación de los leds, pulsando  sobre SHOW AREAS OF CAPTURE y sobre el asistente de configuración,elegimos si queremos una instalación de 3 lados o 4. También  es importante la cantidad de leds que tenemos en cada lado de la TV especialmente horizontal o verticalmente.
Marcamos asimismo el orden de los leds, de izq->der o de der->izq.
Con esto ultimo ya tenemos nuestro software listo para funcionar

2017-02-21_20h59_23.png.
Este programa además tiene unas opciones muy interesantes, en esta pantalla:

adicional.png

Podemos configurar muchos parámetros de cada led, aplicar correcciones de color y gamma ,brillo ,etc

También podemos activar un servidor web para controlar el software desde el teléfono

servidor

 

El siguiente paso es instalar el add-on para el XBMC.Para ello Lo descompriremo y lo ponemos  en la ruta:”Users/Username/AppData/Roaming/XBMC/addons”

Ahora en el  apartado de add-on ( en el  menú de la izquierda ) se puede configurar un poco el comportamiento, aquí cada cual que lo puede personalizar a su gusto.

Una solución para que funcione a pantalla completa es usando el software playclaw.
Para ello, se pueden  es crear 2 perfiles dentro de ambibox, uno para el escritorio y otro para XBMC.
En este ultimo el sistema de captura que elijo es playclaw de modo que cuando se inicie un video en XBMC  dará la opción de elegir que perfil cargar, de modo que se  puede  elegir el perfil XBMC y asi  cuando se  salga de XBMC se  puede vplber   al perfil de escritorio.
Por supuesto se debe tener corriendo el software playclaw para que esto funcione.

 

Por ultimo  hay  un  modo  que haya las delicias de los que les guste la música  : el modo Color music , el cual permite modular las luces en función  de lo que se este escuchando por el canal de sonido principal.

 

musica.PNG

 

Obviamente si queremos que las luces acompañen a la imagen de video de la pantalla principal el modo de captura de pantalla elegido sera  [Software] Screen capture  y el Método  Windows 8  ( aunque tengamos Windows 10 instalado en nuestro equipo)

windows8.png

Para terminar dejamos dos test de vídeo , que a pantalla completa,  nos pueden servir para testear si nuestro sistema responde correctamente.

 

 

Anuncios

Cómo probar una tira de leds WS2801


Es muy frustrante adquirir  una costosa tira de leds  WS2801 ( ni importa que sea SMD o en formato “luces de navidad”) ,  adherirla y fijarla  con mucho esmero a nuestro TV o monitor ,siguiendo  cuidadosamente los muchísimos tutoriales que hay en Internet (por ejemplo para simular  con esta  el famoso  sistema ambilight ),   y al final no conseguimos obtener nada  quizás porque nuestro hardware esta mal conectado (o tenemos algo estropeado)  o bien no hemos  configurado el sw ,o una mezcla de ambas cosas.

Antes de abandonar veamos  con la ayuda de una placa Arduino Uno conectada a nuestro PC  , vamos  a ver algunas pautas que seguro  nos resuelven el misterio:

 

En primer lugar usaremos una  placa Arduino UNO , para lo cual usaremos sólo  tres cables para  conectar a uno de los  extremos de la tira de leds a Arduino . Las conexiones estandarizadas que haremos sea cual sea la modalidad de la tira de leds son las siguientes:

  • CK de la tira WS2801  al pin GPIO 13(reloj del SPI)
  • SD de la tira WS2801  al pin GPIO11 (SPI MOSI).
  • GND de la tira WS2801 al GND de Arduino
  • +5v   de la tira WS2801  a  una fuente de alimentación aparte de mínimo 2Amp ,5VDC

En algunas tiras formato “luces de navidad” el hilo azul es  GND , el . Verde  es CK  y amarillo es SD ,y el cable rojo es +5V ,  pero esto no es norma porque las tiras SMD   suelen tener un cable rojo para CK, otro verde para SD , el negro para GND  y un violeta para +5V  , lo cual como vemos no sigue para nada la pauta anterior

Aunque no es necesario  también se puede utilizar un Arduino Mega, conectando  reloj del SPI al pin 52   ,  conectando SD al   pin 51 SPI MOSI  y por supuesto las masas.

Es importante destacar que los cables extra rojo y azul son para conectar  5V DC   de al menos 2 Amp ( en función del numero de leds que vayamos a conectar)  lo cual no deberíamos extraer de la placa Arduino sino de una fuente auxiliar DC de 5V    no  olvidando de unir ambas masas ( la de Arduino y de la fuente externa).

En el siguiente esquema podemos ver claramente este montaje.
led_pixels_wiring-diagram.png

Para probar   la tira  de leds    necesitamos si aun no lo tenemos dos herramientas :

  • El IDE de Arduino :Si no lo tiene ya instalado , descargar el Arduino IDE (entorno de desarrollo integrado) de la Web de Arduino. Seleccione la versión del software para su tipo de computadora: Windows, Mac o Linux   Es un poco diferente para cada uno de los tres sistemas operativos.
  • El IDE de Processing:A continuación, descargue el IDE de processing del sitio de procesamiento.Descomprima el fichero y cópielo al  directorio  c:\archivos de programa\ . Es importante que descargue la versión processing 2.2 pues la  versión 3.0  con el codigo Adalight  tendra  errores con él.
El IDE de Arduino y Processing  son  muy similares pero son dos programa muy distintos para diferentes funciones como vamos a  ver

Descargar Adalight ZIP

Por último, visite la página Adalight en Github y descargue el archivo ZIP. El botón de descarga está cerca de la parte superior izquierda de la página:

Después de descomprimir el archivo ZIP, necesitará mover algunos archivos en su lugar.

Si ha ejecutado el Arduino o el IDE de processing  debería haber  dos  correspondientes carpetas llamadas “Arduino” y de “Procesing” dentro de su carpeta personal de “Documents” (o “Mis documentos” en Windows). En ese caso, mover el contenido de la Arduino y procesando carpetas desde el archivo ZIP de Adalight en las carpetas correspondientes de documentos.

Si las carpetas de Arduino y Processing todavía no existen en el sistema,  puede copiar estas desde el archivo ZIP de Adalight a la carpeta de documentos.

Los otros archivos y carpetas en el archivo ZIP pueden ser ignoradas ya  que son para usuarios avanzados y no son esenciales para su uso.

Salga del Arduino y Processing  si se están ejecutando  pues las carpetas recién instaladas no serán visibles hasta la siguiente vez que inicien  estos programas.

Programar Arduino

Para  probar la tira de leds  en caso de que no lo tenga instalado deberá instalar  el IDE de Arduino.Si no lo tiene instalado el IDE de Arduino conecte la placa Arduino al ordenador con un cable USB A-B. Cuando conecta por primera vez, Windows los usuarios le pedirá que para instalar a un controlador.

Iniciar el IDE de Arduino. Después de un momento, debería ver una ventana azul y blanca simple con algunos botones.

En el menú archivo , seleccione Sketchbook,   y elegir  LEDstream. .

En el menú herramientas , seleccione la  placa  luego Arduino Uno (o tipo de cualquier placa Arduino que está usando).

En el menú herramientas , seleccione el Puerto Serial y luego el puerto correspondiente a su placa de Arduino.

Haga clic en el botón de subir cerca de la parte superior izquierda de la ventana:

ledsstreamarduino

Después de que el código sea cargado, si los LEDs están conectados correctamente conectados y la fuente de alimentación está conectada, todos  los LEDs deben encenderse en una secuencia  primero todo todos en flash rojo, luego  verde y después en azul aproximadamente un segundo cada uno, y luego se apagan todos. Se trata de un diagnóstico que indica el LED Arduino están trabajando correctamente y ahora están en espera de datos de que se  envíen desde nuestro ordenador con otro sw.

Gracias    a que el Arduino almacena el programa en memoria no volátil, sólo necesita hacer este proceso de carga una vez, no cada vez que desee utilizar Adalight.

Si los LED no parpadean, asegúrese de que el cableado coincide con la página anterior, y que la fuente de alimentación está conectada.
Si persiste el error  deberíamos probar la salida digital de los  pines 11 y 13 por si estuviesen defectuosas, para lo cual conecte dos leds normales  entre GND  y los pines 11 y 13  y cargue en Arduino el siguiente código de ejemplo:
void setup(){
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);//10 ok 11 ok
}void loop(){digitalWrite(13,HIGH);
digitalWrite(11,LOW);delay(1000);

digitalWrite(13,LOW);
digitalWrite(11,HIGH);

delay(1000);

Al subir el código anterior en nuestro Arduino ,  ya deberían parpadear ambos leds , lo cual sera un claro indicio que la placa Arduino esta bien:

led13

 

Una vez hayamos probado que la placa Arduino esta correcta  con el simple test anterior,  lo que nos queda es volver a cargar el sketch de  probar LedStream cargado inicialmente pues  hay evidencias  de que algún (o algunos) modulo(s)  mal que esta bloqueando el resto de módulos

En el caso de que sólo los primeros pocos LEDs respondan  y ,el resto permanece apagado o parpadea aleatoriamente o incluso no se encienda ninguno, tendrá que estudiar cual de  los módulos esta mal  .

Dentro de cada píxel  hay  una pequeña placa de circuito con el CI WS2801   el led RGB   y algunos componentes adicionales . Si no funciona  el primer píxel apretar las conexiones  donde el cable de cinta se une a la placa  e intente comprobar la conexión ,Si no  funcionase , puede recortar  ese modulo , conectando las conexiones al siguiente  píxel   y seguir la  dirección de conexión ( en el montaje SMD  llevan una flecha  que indica claramente el orden de conexiones)

ws2801

Si consigue que algunos  leds  funcionen pero aún así  algún  led posterior  parpadea ,y fallan después todos los siguientes en la cadena ,también  es muy  posible que ademas  haya algún  otro chip defectuoso  más ,  así que el proceso  anterior lo  deberá repetir  cortando el  led asignado a ese  IC defectuoso y restituyendo las conexiones soldando cablecillos entre el modulo anterior y el siguiente .

img_20170219_222107

Obviamente este proceso tendrá  que repetirlo  hasta que  el test de leds ejecutado desde el  sketch de ledstream haga que se enciendan completamente todos los ledss de un color en las tres secuencias.

Ejecutar el Software de Processing

Este paso debe realizarlo solo cuando el  test de ledStram muestre la secuencia de arranque de rojo, verde y azul apagándose todos después.

Inicie  el programa Processing ejecutando el archivo “C:\Program Files\processing-2.2.1-windows64\processing-2.2.1\processing.exe”. Después de un momento, debería ver una ventana simple de blanca y gris  muy similar al IDE de Arduino.

En el menú archivo , seleccione carpeta de bocetos,  y seleccionar el último primero: Colorswirl.

 

color
Es muy importante anotar el numero de leds( en el ejemplo 88)   tras el primer import:

import processing.serial.*;int N_LEDS = 88; // Max of 65536

Haga clic en el botón Ejecutar cerca de la parte superior izquierda de la ventana: si el Arduino esta arrancado con el sketch (LedStram ) y por supuesto conectada la tira de leds a este  y alimentada con la tensión de 5V  se  debería ver un arco iris colorido de animación sobre los LED.

Si  no pasa nada , entonces usted tendrá que editar el código alrededor de la línea 26, buscando esta declaración:

myPort = serie new (this, Serial.list() [0], 115200);

Necesitaremos cambiar el código  que abre la conexión serie con el Arduino. Una ruta es a través de ensayo y error: tratar  Serial.list() [1], entonces Serial.list() [2]y así sucesivamente, volver a arrancar el programa cada vez para ver si funciona.

Para un enfoque más científico, añadir una nueva línea de código antes de ejecutar el sketch:

println(Serial.list());

Cuando se ejecuta, muestra una lista de todos los puertos serie o dispositivos. Si sabe que dispositivo o puerto COM corresponde al Arduino, puede cambiar la línea original para incluir estos datos.

Por ejemplo, ahora se puede leer:

myPort = serie new (this, “COM6”, 115200);

Obviamente esto será diferente en cada sistema, por lo que dependerá de cada situación..

Si aun tiene dudas ,otra manera de localizar el nombre del puerto, es en el IDE de Arduino, pues  el puerto seleccionado se ve  en el menú Tools→Serial Port antes de programar el chip.

Una vez conseguido este efecto sobre los leds , este resultado es sinónimo que absolutamente todos los leds son direccionables por lo que ya puede usar su conjunto de tiras de leds  para cualquier aplicación con la certeza de que ya  le debería funcionar.
Si planea organizar los LEDs de manera similar a los ejemplos  entonces tendrá nada más que cambiar  el software. Si utiliza un diseño diferente, necesitará realizar algunos ajustes en el código  para identificar su distribución concreta

Como nota ultima :Antes de montar los LEDs detrás del monitor o TV , nunca se olvide de ejecutar el software con los LEDs sueltos en su escritorio para confirmar que todo funciona. !Esto ahorrará tiempo y angustia en el raro evento que un led vuelva a estar mal  tenga que sustituirlo!.

img_20170219_225945

 

Como fabricar un pantalla para nuestra Raspberry Pi


Hoy en día hay  soluciones de muy bajo coste para poder reusar gran parte de las pantallas TFT presentes  en nuestros gadgets como ordenadores porttatiles , tabletas ,teléfonos ,dvd’s portatiles , etc     donde  probablemente el resto de electronica  ya no funcione ,  pero que gracias a estos adaptadores podemos seguir usando con un coste ínfimo al menos la pantalla  para otras finalidades, como por ejemplo en este caso como  pantalla  para nuestra  Raspberry Pi

De una manera muy económica pues podemos darle un nuevo uso a esta pantalla de cualquier tableta o incluso viejo portatil con muy poco dinero(sobre los 12€)

En el ejemplo veremos como aprovechar la pantalla de una vieja tableta con la placa madre estropeada  usando  esta pequeña controladora  , que es compatible con los modelos AT070NT90 AT070NT92 AT070NT94   , lo  cual responde a  una pantalla de 7 pulgadas con conector de  50PIN (800*480) LCD

Como vemos la placa necesaria  dependerá fuertemente del modelo de TFT que vayamos a usar para lo cual nos guiaremos por el modelo que suele ir marcado en una pegatina en la parte trasera del TFT .

Una vez conocemos el modelo de nuestra pantalla, podemos a buscar nuestra controladora en portales como  EBAY o ALIEXPRESS, ya que son baratas y los vendedores especifican bien que pantallas son compatibles con su controladora.

Este tipo de adaptadores suelen llevar las siguientes conexiones

  •  Entrada VGA
  •  Entrada AV
  • Entrada HDMI, apoyo versión HDMI1.2
  •  Imagen Inversa
  • Alimentacion DC:voltaje de entrada: 4.5 V-12 V
  • 6PIN, 7 Extra alta tensión de a bordo
  • salida LVDS, 6/8/6 doble/doble 8 LVDS (sólo para 3.3 V Pantalla Lcd)
  • botones de tecla interruptor y ajuste del panel
  • luz de fondo Led de energía
  • Conexion  de entrada TTL
  • Conexion entrada LVDS

2017-02-13_22h44_47.png

 

 

2017-02-13_22h46_02.png

 

En cuanto al conexionado  es bastante sencillo pues se reduce a conectar el  mini-teclado de funciones básicas con el cable que suelen incluir , la salida LVDS de la placa  con el cable de cinta hacia al adaptador LVDS   y de ahi al cable de cinta saliente de la pantalla LCD  y finalmente alimentaremos el circuito con +12vDC

 

 

esqeuma-final

Obviamente según el modelo de Raspberry Pi  donde vayamos a conectar  usaremos las entrada de vídeo compuesto o la conexion HDMI

2017-02-13_22h52_51.png

Respecto al aspecto estético podemos usar  metacrilato,madera  o  impresión 3D . De hecho este es el enlace gratuito  para fabricar nosotros mismos  la carcasa en 3D para un modelo generico de 7″  : http://www.thingiverse.com/thing:1260046
Lo mas interesante de este proceso descrito   es que también es válido para reutilizar pantallas de portátiles o cualquier pantalla que tengamos ofreciéndole así una magnifica segunda oportunidad.

Tipos de tiras de leds RGB


Antes de comenzar un proyecto que involucre tiras de leds SMS como por ejemplo la famosa emulación del sistema Ambilight de Philips , probablemente deberíamos identificar las diferencias entre las tiras de leds  comerciales  , las cuales actualmente están basadas en WS2801, WS2811  o en el  WS2812 (también llamadas “strips”).

La mayoría de los proyectos y las descripciones que circulan por la red  están a veces mezclados, y cuando uno se sumerge en tiras de LED por primera vez, estos números de los modelos puede ser un terreno  bastante confuso.

Realmente los números de modelo WS2801, WS2811 y WS2812 se refieren realmente a diferentes “cosas”. El WS2801 y el WS2811 son circuitos integrados de  gestion de LEDs RGB .Estos IC pueden controlar hasta 3 LEDs, típicamente Rojo, Verde y Azul  de modo que  se colocan  cerca  de cada led , así que usted como espectador verá el resultado del color mezclado. El WS2812 sin embargo es un WS2811 colocado dentro de un paquete 5050 LED.,el cual  es un paquete muy común de 3 LED (rojo, verde, azul), en un compartimento  de 5 mm x 5 mm.Es decir,  un  WS2812 es el mismo paquete pero con un controlador adicional de LED WS2811 IC incluido.Resumiendo :un WS2812 combina un LED RGB 5050 con un controlador WS2811

Otras diferencia bien acusada  de los strips  de leds  , es que mientras  las tiras WS2801 necesitaban 4 hilos, las tiras WS2811 / WS2812 sólo necesitan 3 hilos.

En efecto el WS2801 utiliza una línea de reloj independiente, lo cual puede verse como una ventaja,  puesto que  el WS2811 / WS2812 no lo lo requiren.De hecho los modelos de tiras de leds   WS2811 / WS2812 dependen del envío de datos que coincidan con un tiempo muy ajustado.

Adicionalmente  la ventaja de la WS2812, sin embargo, es que la producción de estos combos en tiras es más fácil y por lo tanto más barato, y cada RGB LED toma mucho menos espacio en tiras lo cual también tiene innegables ventajas.

 

A continuación  mostramos  una lista de  chipsets  así como algunas notas sobre ellos  extraída de las hojas de datos o de la experimentación

 

Chipset Supporte libreria Fastled Conexiones Color Bits Data Rate PWM Rate Chipset Power Draw
APA102/DOTSTAR 4 8 ~24Mbps 20khz [email protected]
WS2811 3 8 800kbps 400Hz 5mw / [email protected]
WS2812B/NEOPIXEL 3 8 800kbps 400Hz 5mw / [email protected]
TM1809/TM1812 3 8 800kbps 400Hz 7.2mw / [email protected]
TM1803 3 8 400kbps 400Hz 7.2mw / [email protected]
TM1804 3 8 800kbps 400Hz 7.2mw / [email protected]
WS2801 4 8 1Mbps 2.5kHz 60mw / [email protected]
UCS1903 3 8 400kbps unknown ?
UCS2903 3 8 800kbps unknown ?
LPD8806 4 7 1-20Mbps 4kHz ?
P9813 4 8 1-15Mbps 4.5kHz ?
SM16716 4 8 ? ? ?
TM1829 X 3 8 1.6Mbps/800kbps 7kHz [email protected]
TLS3001 X ? 12 ? ? ?
TLC5940 X 4 12 ? ? ?
TLC5947 X 4 12 ? ? ?
LPD1886 X 3 12 ? ? ?

Chipset power draw es la cantidad de potencia que un solo chip extrae cuando los leds están apagados, pero la alimentación está conectada

 

Veamos  ahora algunas notas  de sus características :

  • Ws2801 : más antiguo, barato,  pero lento (1Mbps).  Es propenso a fallar en longitudes más largas, y sobre todo si la aplicion usa mayores tasas de datos .   

 

ws2801

  • Tm1809 / 1804/1812 : Es muy similar en el protocolo al ws8211 y el coste similar. Utiliza  un IC por 3 rgb leds.Puede haber interferencia de línea (el 1809 controla 3 rgb píxeles, los 1804 controles 1 )
  • Tm1803 : versión más lenta de la tm1809, vendido principalmente por radio shack.
  •  APA102 – Adafruit  los vende estos como dotstars. La velocidad de datos soportada  es muy rápida (llega a 24Mhz) y son  validos para aplicaciones que requieran  alta tasa de actualización. Recomendados estos sobre casi cualquier otra cosa si se busca  actualizaciones frecuentes.
  • Ws2811 / ws2812 / ws2812B -Adafruit vende estos modulos como “neopixels”.  Muy bien precio:(30 leds / m por $ 6, 60 leds / m por $ 11!).  Velocidad de datos es muy lenta (800Kbps).  También  muchas de las tiras sconstan de  1 led, 1 controlador, por lo que puede cortar cada modulo por  cada led. Incluso mejor, es la variante ws2812, que  el  led y el chip van en un solo paquete por lo que puede ser muy compacto (en algunas sitio en internet  todavía lo venden como ws2811 – pero el protocolo es el mismo). Desafortunadamente, su protocolo de datos requiere interrumpir las interrupciones en el avr mientras se escriben los datos, por lo que el uso de estos leds interferirá en procsos interbnos de la CPU como las bibliotecas de IR ,  el uso de i2c  o serial.
  • Lpd8806’s – menos barato (más cerca de $ 16 / meter enviado por 48 / m), pero súper rápido (!llega  a más de 22Mbps!). Además, están emparejados, por lo que implementa un controlador por 2 rgb píxeles. A tener en cuenta que estos sólo realmente  pueden  mostrar 7 bits por canal, ( y no 8,) por lo que sólo puede mostrar 128 niveles diferentes de luz para cada canal de color. API de programación sigue siendo 8 bits, pero el bit bajo no tiene sentido.
  • P9813 – Éste es el chipset usado en la iluminación de Control Total de Cool Neon.
  • UCS1903 – similar a tm1809 / ws2811.  Muy  lento protocolo, pues opsorta cerca de 400kbps.
  • UCS1904 / 2903 – más cerca en el tiempo de la ws2811. Algunas personas lo encuentran interesante
  • SM16716 – no muy conocido .Usa un protocolo complejo.
  • GW6205 – no muy conocido.
  • LPD1886 – un chipset de 3 hilos que es de 12 bits por píxel en lugar del normalmente 7/8-bit por píxel como  la mayoría de los chipsets restantes vistos  hasta ahora
  • Controladores DMX (DMXSIMPLE o DMXSERIAL) – si controla sus leds usando DMX desde un arduino, esto requerida  DMX usando el resto de la #include <DmxSimple.h> led – Tenfg en cuenta que #include <DmxSimple.h> o #include <DmxSerial.h> antes de #include <FastLED.h> para utilizar la salida DMX.
  • Adafruit Pixie leds (PIXIE) – Son led superpotentes de 3W . Tambien con el fin de utilizar estos leds necesita #include <SoftwareSerial.h> antes de #include <FastLED.h> .
  • TM1829 – similar a la TM1809 / WS2811, pero también permite establecer 32 niveles de corriente base para el control de brillo / uso de energía 
  • TLS3001 – Es de 12 bits por color frente a 8 bits para la mayoría de los chipsets 
  • TI TLC5940 – Soporte de color de 12 bits,  que ayuda la la corrección del color, 16 canales llevados por la placa que hace RGBW con las configuraciones como esto.
  • TI TLC5947 como anteriormente, pero con 24 canales

 

 

En resumen su selección   depende del tipo de microcontrolador que vaya a utilizar y de cuáles son compatibles con la aplicación o biblioteca que va a utilizar.

Por ejemplo, en los proyectos basados en Arduino funcionaran  bien con cualquiera de estas  tiras  de led   ya que todo se ejecuta en tiempo real.
Sin embargo cuando se utiliza una Raspeberry  Pi , con un WS2811 / WS2812 puede ser un poco más difícil debido a las necesidades de tiempo estricto. Un Raspberry Pi normalmente ejecuta Linux, que no es un llamado Sistema Operativo en tiempo real, donde la temporización prevista podría ser interrumpida por otras actividades de fondo.

Aunque el WS2801 solía ser el mas  popular, poco a poco  tanto el WS2812 como el  WS2811 parecen a  ser los mas usados quizás porque son mucho mas económicos y requiren menos conexiones .

Error en whatsapp en la descarga de videos


Hay personas que de repente  cuando reciben fotos o videos por whatsapp, al intentar verlos o reproducirlos aparece un molesto  mensaje

 Error de descarga:. No se ha podido completar la descarga. Vuelva a intentarlo más tarde.

Y por cierto, por mucho que lo intentemos o esperemos no cambia la situación..

En  casos aislados,  cuando se intenta  adjuntar algo anexo  incluso avisa “ok” pero obviamente no envía nada . No obstante el problema es mayor   aun cuando nos envían un archivo, pues pulsamos en descargar y vuelve a saltar el  mensaje “Error en la Descarga: No se ha podido completar la descarga, inténtelo mas tarde. “ ¿como podemos solucionar este grave problema?

Falta la carpeta media o se crea un fichero llamado media

Un primer posible origen del problema del fallo de la descarga puede el siguiente: la carpeta “Media” de whatsapp  por alguna razón se renombra o desapaprece ,razón por la cual  la aplicacion  no sabe qué hacer con los archivos (video, audio, imágenes) y da este extraño error

 

 

sinformaterar.png

En  caso de que sospechemos que esa podría ser la causa podemos  hacer lo siguiente.

1- Conectar el terminal al pc de modo que podemos  editar la tarjeta de memoria
2- Ir a la tarjeta de memoria. Alli habrá muchas carpetas  ,pero las que nos interesa es la carpeta  whatsapp que a su vez debe contener  cuatros carpetas :

  • .trash
  • Backups
  • Database
  • Media

whats1.png

Si falta la carpeta Media o tenemos un archivo llamado media sin extensión es un síntoma inequívoco de mal funcionamiento .

3- Elimine el archivo media  de manera que nos queden al menos las tres primeras carpetas solamente.
4- Cree una nueva carpeta llamada  Media
5- Entre en la carpeta Media (que acaban de crear) para ver que esté vacía. Por defecto luego la propia aplicación creará otras 8 subcarpetas  como en la imagen siguiente:

 

media
6- Ahora hay dos opciones:
a) Reiniciar  el terminal . (desconéctelo de manera segura )

b) Volver a conectarlo al pc,para poder editar la tarjeta de memoria .Entre en  la carpeta WhatsAppMedia y fíjense si ya se crearon las nuevas carpetas, si esto no sucedió entonces cree  manualmente al  menos  las cuatro carpetas :

  •  Wallpaper
  •  WhatsApp Audio
  •  WhatsApp images
  •  WhatsApp Video

Una vez hecho ,por favor reinicie su terminal y compruebe que ya se puede  descargar ok

Tarjeta SD fragmentada o con errores

Un segundo  posible origen del problema puede prevenir por un fallo en la tarjeta microsd  por excesiva fragmentación ,razón  por la cual  la aplicación  no sabe qué hacer generalmente con ficheros grandes como archivos de  video  o audio ( no con las  imágenes) y da este extraño error

Para intentar solucionarlo copiaremos el contenido de la carpeta whatasapp a nuestro ordenador   y obviamente todo lo que nos interese  e intentaremos hacerle un formateo a la sd

Un claro síntoma de que la tarjeta esta mal es que no permite formatearlo con las hermanamientos estándar del sistema operativo.

.
sinformaterar.png

 

Una herramienta  que nos permite formatear incluso con estos problema es hdd low level format tool  ,pero tenemos que tener extrema atencion en la unidad que deseamos formatear:

 

hdd.PNG

 

Un vez seleccionada la unidad , pulsar en la pestaña  “low level format” y el botón “format thos device”

hdd2

Tras un rato ( unos 8minutos para uan kingston de 8gb)  deberia finalizar el proceso

hddfin.PNG

Un vez hayamos formateado la sd, podemos volver a copiar el contenido de la carpeta whtasapp  y desinstalar y volver a instalar la aplicación whatsapp para que al iniciarse pregunte si desea  recuperar  el contenido de la sd  ..

Debería ahora volver a  funcionar las descargas …( o si no es así cambie la sd por otra nueva e intente volver a probar)

 

 

Cómo instalar Debian Jessi (Linux) en una Orange Pi PC


Desgraciadamente la imagen ofrecida  por parte del fabricante en su site original   http://www.orangepi.org/downloadresources/  , padece de algunas carencias  sobre todo para instalar sw especifico como el agente Cayenne  o por ejemplo Node.js

Buscando   satisfacer  la necesidad  de una imagen linux estable , tenemos una nueva distribución de Debian Jessie ,la cual destaca de forma sobresaliente por encima del resto  de imágenes “oficiales ” que creemos merece probar.

¿Qué necesitamos?

No se diferencia respecto a otras distribuciones. Como orientación necesitaremos los siguientes elementos:

  • Orange Pi PC (obviamente)
  • Samsung 16GB micro SD EVO UHS-I Clase 10 48MB / s
  • Jacer’s Debian Jessie imagen, descargada del  enlace foro topic
  • Win32DiskImager

Pasos para la instalación

El primer paso es descargar la imagen de Debian Jessie de esta url :https://mega.nz/#F!y0Y0SZhJ!RD5an8l9qEo_RppBsxxbrQ!y9ZDECra

Extraeremos el fichero  ‘Debian8_jacer_2.rar’

El resultado de descomprimir terminara con  tres  archivos:

  •  ‘Debian8_jacer_2.img’
  •  ‘Script.bin and uIimage fora OPI-2 OPI-2 MINI.zip ‘. 
  •  ‘Script.bin and uIimage fora OPI-PC_extract to  FAT Partition.zip ‘.

 

dmega

 

Para escribir el archivo de imagen en nuestra tarjeta SD necesitamos una herramienta. Para Windows  lo ideal es usar  Win32DiskImager que es una herramienta para escribir archivos img a su tarjeta sd.

Inicie Win32DiskImager, seleccione ‘Debian8_jacer_2.img’ y asegúrese de que el dispositivo correcto está seleccionado (en el ejemplo   la F 🙂 y  pulse Write para escribir la imagen en la tarjeta SD

Como orientación ,escribir el archivo imagen una tarjeta SD suele tardar unos 3 minutos, con una velocidad de escritura de unos 13 ~ 15 MB / s.

 

win32disk

Estamos casi listos para arrancar nuestro Orange Pi, pero primero extraer ‘uImage’ del archivo (2) a la tarjeta SD.

Vaya a su tarjeta SD y cambie el nombre de ‘script.bin.OPI-PC_1080p60_hdmi_cpu1.2G_gpio30pin’ a ‘script.bin’ (se utiliza la versión 1.2G   pues hay muchas  quejas sobre el sobrecalentamiento de Orange Pi y no es  necesario sobrecalentar  la CPU si no necesita tanto procesamiento)

Ya estamos listos para empezar: extraiga ordenadamente la sd del lector de su pc e insertarla en su Orange Pi.

Conecte un monitor con HDMI al Pi y un ratón / teclado USB básicos. También se puede conectar al Pi mediante SSH, aunque en ambos casos puede iniciar sesión con la combinación: orangepi / orangepi.

Ya puede conectar la alimentación , donde destacar , que en el caso de Orange Pi no sirve por el micro-usb sino que habrá que hacerlo por el conector especial de 5V DC  que lleva

No se deje engañar por el led rojo, pues todo el mundo sabe que el rojo es un color positivo? En el Orange Pi el led rojo significa que encontró una tarjeta SD con un cargador de arranque correcto. El diagnóstico en el Orange Pi no son muy buenos :, sólo tenemos  la esperanza de un led rojo encendido  pues es básicamente la única información que obtendrá.

Redimensionar la partición

Después del arranque, inicie sesión con el usuario orangepi e inicie una sesión de terminal. Recibirá un mensaje de advertencia sobre el tamaño de su partición. Si desea cambiar el tamaño de la partición al tamaño máximo disponible, puede ejecutar ‘sudo fs_resize‘.

Después de cambiar el tamaño debe reiniciar primero.

Redimensionamiento

Script de instalación de Scargill

Existe un impresionante script de instalación hecho por Peter Scargill que automatiza la instalación de nodo-RED, Mosquitto, Apache, SQL-Lite y algunas otras herramientas (se puede elegir lo que desea instalar). La instalación de todo puede tomar unos 50 minutos , probablemente un poco lento debido a la frecuencia máxima de la CPU de 1.2Ghz.

El scrips deshabilita la interfaz gráfica de usuario,asi que  si desea conservar la interfaz gráfica de usuario, puede cambiar el script de sudo systemctl set-default graphical.target ( línea de sudo systemctl set-default graphical.target 417 o ejecutar sudo systemctl set-default graphical.target y sudo systemctl set-default graphical.target .

Si desea acceder fácilmente a los datos de su Pi, puede cambiar la línea de script 187 para habilitar los recursos compartidos de red.

Con todo este sw instalado  la temperatura de la CPU suele ser de alrededor de 45 ° C, que es de unos 25 ° C por encima de la temperatura ambiente.

Resumen del software en ejecución

  • SSH deamon
  • Servidor FTP – ftp: // orangepi: contraseña @ orangepi
  • Apache – http: // orangepi
  • Phpliteadmin – http: // orangepi / phpliteadmin
  • Webmin (muy útil herramienta de administración del sistema) – http: // orangepi: 10000
  • Nodo-RED – http: // orangepi: 1880
  • Mosquitto MQTT corredor – http: // orangepi: 1883

 

Como escuchar Imagenio con auriculares si su TV no tiene conexión para ello


Desgraciadamente no todos los TV modernos disponen de jack de auriculares de 3 1/2″  para poderle conectar unos auriculares tradicionales   dotados por supuesto de un cable largo que nos posibilite la escucha cómodamente desde cualquier lugar  cercano ( claro !siempre que el largo del cable lo permita!)

Obviamente , esta carencia es contrarrestada en algunos TV actuales  con  una conexión inalámbrica, pero,  por desgracia, no es una facilidad que este implementada en muchos dispositivos.Entonces  si una posibilidad para escuchar  nuestro programa favorito sin molestar a los demás podría  ser la transmisión bluetooth   entonces  entenderemos que para  ello sera suficiente con  añadirle una conexión precisamente  bluetooth a nuestro TV ..pero ¿Y si nuestro TV no cuenta tampoco con ninguno tipo de salida de audio?   Pues la respuesta esta en obtener la salida de audio desde su origen , el cual en los hogares modernos  suele ser descodificador, señal por cierto que no es suficiente potente para conectar unos auriculares alámbricos  pero si  a un amplificador de audio o mejor a un  transmisor bluetooth

 

Estos trasnmisores son muy  fáciles de  usar, son  pequeños    y nos permite conectar fácilmente cualquier aparato que tengamos en casa con conector de audio jack de 3,5 mm  o RCA  a un altavoz o auricular bluetooth.
Un ejemplo de transmisor de 10 mt de alcance  , es el MPOW Streambot  compatible con  Bluetooth 3.0,  con A2DP , con un  consumo de batería baja y  experiencia de audio mejorada .Esta fabricado  en plástico duro y es de un tamaño muy pequeño con los laterales redondeados . En la cara más grande del dispositivo aparece un único botón que tiene. Su funcionamiento es muy sencillo, puesto que tiene un único botón para todo:una pulsación larga hace la vinculación inicial con el dispositivo que queramos y  una pulsación corta es para hacer una reactivación de una conexión anteriormente realizada.

En uno de los laterales, concrétamente en el superior, tenemos un cable con un jack macho de audio de 3,5 mm, un conector microUSB que sirve para cargar el gadget, y un led de color rojo y azul que nos indica cuál es el estado del dispositivo.Para aquellas conexiones que se sean RCA ( como el caso de los descodificadores ) ademas  cuenta con cable adaptador de jack de 3 1/2″ a RCA

Este dispositivo es primordialmente pequeño y portátil convirtiendo todos los dispositivos de audio estéreo en una máquina de transmisión inalámbrica compatible con Bluetooth a través de jack de 3,5 mm de salida de audio y conector RCA.
El audio es bastante bueno, gracias a su tecnología A2DP garantiza un sonido cristalino y puede  funcionar  incluso de forma autónoma gracias a la  batería  interna recargable por usb (dura  unas   7 horas)  pero y esto es importante se puede utilizar también cuando se esta cargando, para así nunca quedarse sin batería.

 

 

Resumidamente el modo de funcionamiento es  este:

  • Pulse durante cuatro segundos el botón para encenderlo, parpadeará una luz azul.
  • Para vincularlo a su dispositivo, ( desde posición apagado ) , pulse durante siete segundos el botón, hasta que la luz parpadee roja y azul: cuando conecte, la luz solo parpadeara una vez en azul .
  • Para apagarlo mantén pulsado 3 segundos.
  • Si alguna vez  necesita  resetearlo por que no conecta, apáguelo y justo a los tres segundos pulse dos veces el botón.

 

 

El modo de conectar el dispositivo el MPOW Streambot    a un descodificador  de Imagenio  es  bastante  sencillo como vamos a ver

transmisor

 

En primer lugar para que no se mueva fijaremos con cinta de doble cara al  descodificador de modo que el led de estado quede bien visible ( está en el lado de los conectores)

IMG_20170204_185048.jpg

Es interesante que pongamos la cara de conexiones visible porque veremos así el estado de funcionamiento del  transmisor

desco.png

Para la conexión  de audio ,dado que casi al 99,99%  de los TV se conectan por conexión hdmi  a descodificador , conectaremos  mediante el adaptador de jack de 31/2 a RCA  incluido , desde éste al transmisor    y las  conectores  RCA a las salidas de audio del descodificador normalmente de color blaco y rojo ,ya que el  color amarillo se reserva para la señal de  vídeo.

 

conexiones.png

Respecto la alimentación, como  este dispositivo  permite funcionar  estando cargado, una posibilidad es conectarlo permanentemente al cualquier toma USB que tenga cerca ( aunque sea para otro cometido).

Por ejemplo ,se puede conectar  a  la toma usb de muchos descodificadores la cual suele ser para actualizar el sw.  o también mucho mas sencillo, a la toma USB del propio TV .

img_20170204_185347

 

Normalmente el  uso normal sera con cualquier auricular bluetooth ,  pero   también es posible  vincularlo a  un pequeño(! o  grande” ) altavoz bluetooth, un amplificador de audio con entrada bluetooth , un teléfono , etc,

dispositivos permitidos img_20170204_185407

 Como vemos pues   el trasnmisor  MPOW Streambot Pro está diseñado para que pueda disfrutar de la música en estéreo sin restricciones  de cables o para ver la televisión de forma silenciosa  conviertiendo cualquier dispositivo de audio estéreo regulares en una, máquina de transmisión inalámbrica compatible con Bluetooth a través de jack de 3,5 mm de salida de audio y conector RCA  ya que es compatible con  dispositivoscomo TV, PC, reproductor de CD, iPod, Kindle Fire, MP3 / MP4, etc.