En este tutorial podrás aprender a hacer un contador con Arduino como el de la foto.
Contenido
Te gustaría tener un LaMetric y lo sabes
Pero no estás dispuesto a gastarte 180€, este artículo te va a gustar ya que haremos algo parecido y más barato.
Acerca de este proyecto
Para hacer este tutorial me he basado en el vídeo de youtube de Sr Ferrete, que a su vez partió del proyecto original de Becky Stern.
He solucionado algunos problemas con el código original como por ejemplo que las peticiones SSL fallaban y he adaptado el código para que puedas mostrar una métrica a partir de un enlace.
Limitaciones técnicas
– El contador solo permite mostrar hasta 8 dígitos numéricos, si necesitas mostrar un valor más alto aparacerá un texto error.
– El contador está limitado a números enteros, no muestra decimales, ni los redondea, por ejemplo 3.90 se mostaría como 3.
– El contador solo puede mostrar una métrica.
– El contador de suscriptores de Youtube hace peticiones directamente a los servidores de Google, no hace falta tener contratado ningún hosting.
Resumen breve
He intentado redactar este tutorial para que lo pueda seguir cualquier persona sin conocimientos de Arduino, ni de programación, si algo no se entiende me lo puedes hacer saber en twitter o en los comentarios.
Es verdad que parecen muchos pasos, pero a grosso modo hay que hacer esto:
1- Comprar materiales.
2- Instalar programas y drivers necesarios.
3- Conectar Arduino al contador.
4- Conectar Arduino a un PC.
5- Conseguir acceso a las APIs de Google.
6- Configurar el programa.
7- Compilar código.
Requisitos
Carrito de la compra
Te dejo los enlaces de un mismo producto en varias tiendas:
Placa Arduino nano v3 ESP-12F con wifi
amazon – aliexpress – ebay
Panel MAX7219 de 8 digitos
amazon – aliexpress – ebay
Cable dupont de hembra a hembra
amazon – aliexpress – ebay
Opcional
Cable micro USB, puedes usar el mismo cable para cargar el móvil si es micro USB
amazon – aliexpress – ebay
Cable USB con interruptor macho a hembra
amazon – aliexpress – ebay
Batería externa por si quieres tener el contador en un bonito marco
amazon – aliexpress – ebay
Instalar programas y drivers necesarios
Los siguientes programas y drivers son multiplataforma para windows, mac y linux, aunque yo solo he podido probar con Windows me parece que puedes seguir los mismos pasos.
Descargar código fuente y librerías
[sociallocker id=”1842″]Descargar código[/sociallocker]
Conectar Arduino al contador MAX7219
Tan sólo hacen falta 5 cables, te recomiendo usar diferentes colores para cada conexión, abajo tienes un esquema, no hace falta que uses los mismos colores que los de la foto.
– VCC – 3v3
– GND – GND
– DOUT – D7
– LOAD – D3
– CLK – D5
Primeros pasos con Arduino
Ficheros
– Los ficheros proyectos con Arduino IDE tienen extensión .ino
– Las librerías pueden contener ficheros con extensiones .cpp y .h
Carpetas de Arduino
– Carpeta de proyectos: En mi PC está situada en la carpeta: Documentos/Arduino.
– Carpeta de librerías: En mi PC está situada en la carpeta: Documentos/Arduino/libraries.
Abrir proyecto
– Copia el proyecto contador_youtube.in en la carpeta de proyectos de Arduino.
– Abre el fichero contador_youtube.in
– Si te sale una alerta “el archivo necesita estar dentro de una carpeta de proyecto…” pulsa “Ok” para continuar.
Instalar placa en Arduino IDE
– Entra en el menú: Archivo – Preferencias
– Donde pone “Gestor de URLs Adicionales de Tarjetas” pega la siguiente URL y dale a OK:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
– Entra en el menú: Herramientas – Placa – Selecciona: NodeMCU 1.0 (ESP-12E Module)
Configurar puerto de salida
– Enchufa la placa Arduino a tu PC mediante un cable Micro USB a USB.
– Selecciona el puerto en el menú: Herramientas – Puerto, aquí te debería salir COM y un número, a mi me sale COM3.
Instalar librerías
Puedes importar librerías de dos formas:
1- Sube la librería descomprimida en la carpeta de librerías, en mi caso la ruta es:
Documentos/Arduino/libraries
2- Usa el Gestor de Librerías, entra en el menú:
Programa – Incluir Librería – Administrar Bibliotecas
Y selecciona una de estas dos opciones: “Administrar bibliotecas” o “Añadir biblioteca ZIP”.
Para seguir este tutorial te recomiendo instalar las siguientes librerías:
– ArduinoJson 5.13.4 (hay una versión más nueva, pero no es compatible con este proyecto)
– arduino-youtube-api
– GeneralAPI
– libreria_MAX7219
Te recomiendo descomprimir cada una de las librerías de “librerias arduino” en la carpeta de librerías de Arduino, en mi caso:
Documentos/Arduino/libraries
Ejecutar código
1- Conecta la placa Arduino a tu ordenador con un cable micro USB a USB.
2- Pulsa el botón “Subir”, el segundo botón que aparece en la barra de herramientas que tiene una flecha apuntado a la derecha.
Puede que tarde unos minutos en compilar, si te aparece algo como “Writing at 0x00000000… (5 %)” y parpadea un led de la placa eso singifica que el código ya se está enviando a la placa, si hubiera algún problema de ejecución te saldría en la terminal de abajo en Arduino IDE.
Si en la consola sale el mensaje “Hard resetting via RTS pin…”, a partir de ese momento a los diez segundos más o menos el contador debería actualizar la información.
Configurar wifi
Modifica estas variables según los datos de tu conexión Wifi:
#define WIFI_SSID “MOVISTAR_CM1C”
#define WIFI_PASSWORD “jC1TBkuT3LQNjo2d4x55”
Configurar frecuencia de actualización
Para no hacer muchas peticiones he puesto una frecuencia de actualización cada 5 minutos, esto está definido en milisegundos con la variable API_TIMEOUT:
#define API_TIMEOUT 300000
Si quires actuallizar con más frecuencia 1 minuto en milisegundos equivale a 60000
#define API_TIMEOUT 60000
Truco: Puedes usar el conversor de google y buscar: 1 minuto a milisegundos.
Google API Console
Si quieres recoger información de un servicio de Google como puede ser Youtube, Analytics, Adsense, etc. necesitarás una cuenta de gmail para poder acceder a Google Console API.
Crear proyecto
– Visita la siguiente web Google API Console – Google Cloud Platform
– Si es la primera vez que entras, tras aceptar los términos y condiciones te debería salir a la derecha un enlace “Crear proyecto”.
– En el campo de nombre introduce un nombre claro para que luego te acuerdes para que servia esto, una vez creado el proyecto si no te lo abre automáticamente, lo seleccionas desde el menú al lado del logo.
Activar APIs
– En el menú lateral izquierdo entra en “Biblioteca”.
– Busca y habilita las APIs que quieras, puedes aprovechar el mismo proyecto para hacer varios contadores si lo deseas.
– YouTube Data API v3
– Google Analytics API
– AdSense Management API
Importante: Si quieres activar la API de adsense y tienes algún tipo de adblock, desactivalo temporalmente o no podrás activarla.
Crear clave de API
– Entra en Google API Console.
– Haz clic en: Crear credenciales – Clave de API.
– Unos segundos más tarde te debería salir la clave abajo en el apartado Claves de API.
Definir la Clave API en el proyecto Arduino
Copia la clave y pega la clave en la variable del proyecto de Arduino:
#define GOOGLE_API_KEY “BIzaSyBEGf3HS2EOMz9odS77UQU1dWnhJHTC_Us”
Youtube
Averiguar el ID de un canal de youtube
– Para que esto funcione el canal tiene que tener público el total de suscriptores.
– Para saber el ID de un canal de youtube a partir de la URL del canal, puedes usar esta web.
– También puedes hacerlo de otra forma, tienes que entrar en el canal de youtube que te interesa, por ejemplo el mío (guiño, giuño)
https://www.youtube.com/vivirenremoto
– Si entras en la pestaña “Más información”, en la barra de dirección del navegador deberías ver esto:
https://www.youtube.com/channel/UCGC8KyzN1E-nV1An61wZXwQ/about
En este caso el ID del canal de youtube es:
UCGC8KyzN1E-nV1An61wZXwQ
Definir el ID del canal de Youtube en el proyecto Arduino
– Copia y pega el ID del canal de youtube en el proyecto de Arduino:
#define YOUTUBE_CHANNEL_ID “UCGC8KyzN1E-nV1An61wZXwQ”
Ahora toca probarlo
Asegúrate de conectar la placa de Arduino a tu ordenador y el programa Arduino IDE pulsa el botón “Subir”, si no ha aparecido ningún error te debería salir el total de suscriptores en el contador, para más información revisa el apartado “Primeros pasos con Arduino – Ejecutar código”.
Quizás te pueda interesar leer
– Construye un contador con las visitas en tiempo real de una web con Google Analytics y Arduino
– Construye un contador para mostrar cualquier métrica con Arduino