viernes, 17 de marzo de 2017

Cuadro Contador de suscriptores de Youtube





Hola todos,

En este tutorial vamos a ver como podemos hacer un bonito cuadro que cuenta los suscriptores que tenemos en nuestro canal de YouTube.

Es un proyecto que he rescatado de Instructables.com (Proyecto Original)

El proyecto está basado en la placa de prototipado ESP8266, que viene a ser como un arduino pero lleva Wifi incorporado. 

En este caso, vamos a programar este controlador, para que se conecte a internet y mediante una API deYoutube nos devuelve una serie de datos en tiempo real de nuestro canal.

En cuanto a hardware vamos a necesitar las siguientes cosillas.


- Un Micro ESP8266
- Display 8 Dígitos (Max7219)
- Cablecillos para conectarlo todo
- Una Batería externa
- Un marco de fotos (el tamaño es al gusto).

Por ultimo yo he usado un botón de YouTube impreso en 3D Pero podemos imprimir uno en papel ya solo es decorativo.

Estas son las conexiones que debemos realizar:

Es hora de empezar a programar, pero antes de abrir el IDE de Arduino os pongo una lista de las cosillas que hay que descargar y algunas cosas de las que necesitamos.

Lo primero son las librerías de arduino necesarias para que el código funcione correctamente.

Librería para MAX7219
API YouTube
ArduinoJson
Driver CP2102 (para que nuestro PC reconozca la placa).

Aparte vamos a necesitar los siguintes datos, que son los que identificaran tu canal y tu WiFI.

Channel ID de tu Canal
- Google API KEY, os dejo un video para ver como se consigue. A mi me tardó unas 24 horas en estar activa.
- SSID y password de vuestra wifi.

Video API KEY



 Primero debemos instalar el driver y una vez instalado abrimos el IDE de arduino.

Este IDE por defecto no tiene instaladas las placas Así que debemos ir a Archivo / Preferencias y donde pone "Gestor de URLs Adicionales de Tarjetas añadimos la siguiente dirección:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Pulsamos Ok y ahora vamos a Herramientas/Placa/Gestor de tarjetas nos desplazamos hasta el final que estará la ESP8266 y un botón para instalar, lo pulsamos; dejamos que instale y cerramos. Nos os preocupéis que al final os dejaré un vídeo con todos los pasos que he seguido.

Ya estamos listos para copiar el código. Como he usado un display con más dígitos he modificado el código para que use el MAX7219. En el proyecto Original solo contaba hasta 9999 suscriptores y espero que este cuente más al contar con más dígitos, pero hasta que no supere esa cifra no sabré si funciona correctamente.

       

            // YouTube Subscriber Counter

//Proyecto Original de Becky Stern 2017
//Modificado Por SrFerrete. 

// based on library sample code by:
//   Giacarlo Bacchio (Gianbacchio on Github)
//   Brian Lough (witnessmenow on Github)
//   Adafruit (adafruit on github)

// Displays your current subscriber count on a seven-segment display
// This version supports up to 9999 subscribers

// He modificado el codigo y usado otro display para obtener una cifra mayor a 9999

// requires the following libraries, search in Library Manager or download from github):
#include                   // installed by default
//#include           // https://github.com/adafruit/Adafruit-GFX-Library
//*#include "Adafruit_LEDBackpack.h"  // https://github.com/adafruit/Adafruit_LED_Backpack
#include             // https://github.com/witnessmenow/arduino-youtube-api
#include            // https://github.com/bblanchon/ArduinoJson
/*------------- necesarios para el MAX7219------------------*/

#define PIN_CS_MAX7219 0 // Pin de Arduino al que se ha conectado el pin CS/SS del MAX7219
#define DIGITOS_DISPLAY_LED 8 // El display LED que se ha usado tiene 8 dígitos
#include "MAX7219.h"//Librería para manejar el display
#include "SPI.h"

MAX7219 pantalla(PIN_CS_MAX7219,DIGITOS_DISPLAY_LED);
//long valor_entero=0;

/*----------------------------------------------------------------*/
#include 
#include 

//------- Replace the following! ------
char ssid[] = "Nombre del WiFi"; // your network SSID (name)
char password[] = "Password WiFi";   // your network password

// google API key
// create yours: https://support.google.com/cloud/answer/6158862?hl=en
#define API_KEY "Api kay de google"

// youtube channel ID
// find yours: https://support.google.com/youtube/answer/3250431?hl=en
#define CHANNEL_ID "vuestro channel ID"

Adafruit_7segment matrix = Adafruit_7segment();

WiFiClientSecure client;
YoutubeApi api(API_KEY, client);

int api_mtbs = 1000; //mean time between api requests
long api_lasttime;   //last time api request has been done

long subs = 0;

void setup() {

  Serial.begin(115200);
  /*-------- Setup display-----------------*/
    SPI.begin(); // Para no interferir con otro código que utilice SPI, la librería MAX7219 no inicializa SPI y hay que hacerlo desde el programa
    pantalla.inicializar(); // SPI debe estar inicializado antes de inicializar el MAX7219 (que usa SPI)
    pantalla.apagar();
    pantalla.desactivar_modo_prueba();
    pantalla.brillo(15); // Brillo medio (va desde cero hasta 15)
    pantalla.borrar();
    pantalla.encender();
  /*--------------------------------------------*/  
  
  // Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  // Attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  IPAddress ip = WiFi.localIP();
  Serial.println(ip);

}

void loop() {

  if (millis() > api_lasttime + api_mtbs)  {
    if(api.getChannelStatistics(CHANNEL_ID))
    {
      Serial.println("---------Stats---------"); //Estas lineas sirven para ver en el monitor serie 
                                                 //de arduino que el sistema funciona
      Serial.print("Subscriber Count: ");
      Serial.println(api.channelStats.subscriberCount);//devuelve el numero de suscriptores
      Serial.print("View Count: ");
      Serial.println(api.channelStats.viewCount); //devuelve el numero de visualizaciones
      Serial.print("Comment Count: ");
      Serial.println(api.channelStats.commentCount); //este no me duvuelve ningun dato
      Serial.print("Video Count: ");
      Serial.println(api.channelStats.videoCount); //devuelve el numero de videos de tu canal
      // Probably not needed :)
      //Serial.print("hiddenSubscriberCount: ");
      //Serial.println(api.channelStats.hiddenSubscriberCount);
      Serial.println("------------------------");
      delay(5000);
      //matrix.print(api.channelStats.subscriberCount, DEC);
      //matrix.writeDisplay();
       
       subs=api.channelStats.subscriberCount; // metemos el numero devuelto en una variable
      
       pantalla.mostrar_cifra(subs--,0,false); //y lo visualizamos en el display 
                                               //está testado con numero metidos a mano
        
    }
    api_lasttime = millis();
  }
}

       
 

Antes de dar a subir el código aseguraros de que habéis configurado correctamente el modelo de placa y el puerto COM correspondiente. Ahora Sí, le podemos dar a subir el código.

Una vez subido Abrimos el monitor serie y a los pocos segundos nos dirá Wifi Conected, nos dará la dirección IP que ha cogido el ESP8266 y empezará a devolver datos de nuestro Canal.

Ya solo queda ponerlo todo en el marco de fotos pero como no quiero aburriros con más parrafadas os dejo el vídeo de todo el montaje.



viernes, 17 de febrero de 2017

Como Reciclar la batería de una Tablet - PowerBank casero


Hola a todos,

En esta ocasión de lo que se trata es reciclar la batería de un tablet que tengamos en desuso o que ya no funcione.

Lo que he usado es la batería de un tablet, evidentemente. Y la electrónica de una batería externa que tampoco funcionaba. Aunque está electrónica la podemos adquirir por muy poco dinero.

Os dejo como siempre un vídeo donde explico todo el proceso. Aunque en breve actualizaré el post con fotos. ;)





jueves, 19 de enero de 2017

Unboxing Xiaomi Mi Router WiFi 3




Muy Buenas a todos de nuevo

Os presento un nuevo video en el que vemos el unboxing del Router Xiaomi Router Wifi 3.

Es un router que cuesta entre los 30 y 34, muy barato, y nos ofrece unas características dignas de routers mucho más caros, entre lo más destacado está que cuenta con 4 antenas bastante potentes que hará que la señal sea buena y estable en toda la casa, pero no os cuentos más; os dejo con el vídeo


Aquí os dejo el link donde lo pude comprar yo, destacar que viene con los menús en ingles y un adaptador a enchufe europeo, así no lo tenéis que comprar aparte: LINK DE COMPRA

Hasta Otra.


lunes, 16 de enero de 2017

COMO RECICLAR LA PANTALLA DE UN PORTATIL




Hola a todos,
Hace unas semanas reciclábamos la pantalla de una tablet y es algo que parece que ha gustado mucho.

A raíz de esto surgieron un montón de peticiones sobre si esto se podría realizar con una pantalla de portátil o laptop. Bueno, pues resulta que tenía una pantalla para estos temas, así que me dediqué a buscar una controladora AV adecuada para la pantalla que tenía y es lo que os voy a mostrar.

Lo primero que tenemos que hacer es desmontar la pantalla de un portátil que deseamos reciclar, seguro que si buscáis por Internet encontrareis tutoriales adecuados para vuestro portátil.

Y nos tenemos que quedar con algo parecido a lo que se ve en la foto:

De la pantalla del portatil nos vamos a fijar en varias cosas importates, la primera son las conexiones; tenemos la conexión de datos ( por llamarla de alguna manera) que sería esta:


Si no me equivoco esto son conexiones LVDS (dato importante a la hora de buscas la controladora). El otro punto importate es que nos queda otro conector como este:

Que va a servir para darle energía a la pantalla. Y es que, las pantallas de portátiles al ser de mayor tamaño que el de una tablet, necesitan algo más de energía para funcionar y se le proporcionará a través de esta conexión.

Lo siguiente que tenemos que hacer es identificar cual es el modelo de pantalla que tenemos, esta es una parte sencilla, solo tendremos que fijarnos en las pegatinas que vienen por la parte posterior de la pantalla y en una de ellas aparecerá el modelo.

En este caso es la B154EW04.

Con el modelo ya podemos dedicarnos a buscar una controladora adecuada. En mi caso ha sido esta:



https://www.amazon.es/gp/product/B01AC95DC8/ref=oh_aui_detailpage_o09_s00?ie=UTF8&psc=1

Este tipo de controladoras se pueden encontrar en Amazon, Aliexpres, ebay, etc. Hay montones de vendedores de este tipo de placas, y los vendedores aportan numerosa información a cerca de la compatibilidad con las pantallas.

Casi todos ellos os indican que os pongáis en contacto con ellos si tenéis dudas. Y es el mejor consejo que os puedo dar a la hora de comprar estas controladoras, le enviáis el modelo de vuestras pantalla al vendedor y el os indicará si es compatible. También es quien mejor os puede aconsejar.

El modelo de mi placa es V.59 MANUAL


Viene con todo el cableado necesarios para hacer funcionar la pantalla; esto también es importarte a la hora de comprar, fijaros que lleve todo el cableado y así os evitareis dolores de cabeza.

La controladora cuenta con:
     
       1 - entrada de corriente 12V
       1 - entrada de HDMI
       1 - entrada de VGA
       1 - salida audio
       1 - Puerto USB (reproductor de contenido)(Al final del articulo os hablo de el)
       2 - Entrada AV RCA

A parte de la placa en sí, nos trae el cable LVDS:



Una botonera, que nos servirá para encender, apagar, volumen entradas, menas, etc....


Viene con un modulo inversor que es el que aportará la energía necesaria que necesita la pantalla del portátil, tal y como os comentaba antes.

Y por ultimo viene con un modulo infrarrojo que se usa junto con el mando a distancia (también incluido). Que sirve básicamente para lo mismo que la botonera y que facilita mucho el uso del reproductor.



La controladora viene montada, es decir, tiene todos los cables conectados por lo que no tendremos que hacer nada más que conectar nuestra pantalla. Si no viniera conectada, no hay mayor problema ya sus conexiones son bien diferenciadas y entra de una sola manera. Y para más ayuda la parte posterior de la controladora vienen serigrafiadas las conexiones.

La placa tiene unas conexiones extras como por ejemplo esta a la que podemos conectar unos altavoces y dotar de sonido a la pantalla.
Y esta otra que es otra entrada AV analógica, en realidad este conector y el RCA correspondiente al AV1 son el mismo. O lo conectamos por RCA o por este conector. Nos permite conectarle una fuente de vídeo de manera interna.




En cuanto la conexión, no puede ser más sencilla, cogemos el cable LVDS (en la posición que se ve en la imagen) y lo encaramos conector de la pantalla; apretamos suavemente, sin hacer el burro. Según lo ponéis se nota como encaja.




Esta conexión se suelta fácilmente por lo que aconsejo asegurarla con un poco de cinta.
Ya solo nos queda la alimentación de la pantalla está es secilla ya que solo entra de una manera, aún así os dejo estas fotos que aclaran bastante.



Y ya tendríamos lista la pantalla para funcionar. En esta ocasión no me ha dado tiempo a buscar o diseñar una carcasa adecuada. Debido al tamaño de la pantalla me es difícil imprimir algo de ese tamaño en la impresora 3D, pero estamos en ello.

Solos nos que da alimentar el sistema con un transformador de 12V y al menos 2A para hacerlo funcionar. Le conectamos una fuente de vídeo y listo.

En cuanto a caracteristicas, lo más destacado es que puede funcionar hasta 1080 dando una buena resolución Full HD. Aunque esto también depende de la pantalla que le conectéis ya que no todas son compatibles con esta resolución.

En mi caso he tenido suerte, al conectarle la pantalla a un ordenador me permite configurarla a 1080. Aunque para PC no es lo ideal ya que no se ve demasiado bien; cuanto le conecto una fuente vídeo a 1080 si que se ve bastante bien.

La otra característica destable es su reproductor, es capaz de leer vídeo, fotos, música e incluso documentos. He probado con MKVs FullHD conectándole un disco externo de 1 TB y los mueve sin problema, pero hay que tener cuidado de que el audio NO sea en DTS ya que no Oiremos nada.

En conclusión no solo hemos reciclado una pantalla, por poco dinero ( al rededor de los 20 Euros), si no que la hemos mejorado un poquito añadiéndole funciones.

Aquí os dejo, como siempre un vídeo, donde explico todo esto y además podéis verla funcionando.