Arduino Serial MP3 Player YX5300 chip

En esta entrada explicaré como reproducir MP3 con arduino y la placa YX5300 de Catalex:

Este módulo utiliza una tarjeta SD para almacenar las canciones en formato MP3 o WAV. La tarjeta debe estar formateada a FAT32 o FAT16.

Se recomienda guardar los audios en carpetas numeradas, aunque solo se tenga una carpeta, la manera más cómoda (por ejemplo si se quiere reproducir todas las canciones de una carpeta en loop) es seguir la siguiente estructura:

Para la conexión del cableado si utilizamos Arduino Uno o Nano será la siguiente:
Serial MP3 Player -> ARDUINO
VCC -> 5V o 3.3V
GND -> GND
TX-> D5
RX -> D6

Si utilizamos Arduino Mega se debe utilizar la siguiente conexión que utiliza el Serial3 (en el código también se tendrán que comentar/descomentar un par de líneas):
Serial MP3 Player -> ARDUINO
VCC -> 5V o 3.3V
GND -> GND
TX-> 15 RX3
RX -> 14 TX3

También deberemos conectar a la salida del Jack 3.5 unos altavoces/auriculares.

Después ya podemos cargar el siguiente código o descargarlo de Github:

Si estamos trabajando con Arduino Mega se deberá comentar la línea 13

Comentar la línea 18 y descomentar la 19

Ahora podremos manipular el reproductor a través del monitor serie del propio IDE de Arduino. Una vez subido el código al Arduino abrimos el monitor serie:

Si todo está correcto nos mostrará el texto:

Si introducimos la letra “h” nos mostrará el menu de ayuda con las diferentes opciones disponibles:

Si introducimos la letra “p” se ejecutará un audio y si introducimos “1” ejecutará todas las canciones de la carpeta 01.

Para más información sobre el funcionamiento del módulo puedes dirigirte a mi repositorio de Github donde se encuentra más documentación:
https://github.com/cefaloide/ArduinoSerialMP3Player

Referencias:
https://andrologiciels.wordpress.com/arduino/son-et-arduino/mp3/catalex-mp3-serie/

http://www.jarzebski.pl/arduino/komponenty/modul-mp3-z-ukladem-yx5300.html

https://www.carnetdumaker.net/articles/utiliser-un-lecteur-serie-de-fichiers-mp3-avec-une-carte-arduino-genuino/

Archivo ejecutable .bat para abrir chrome en modo kiosk e incognito

Para hacer un archivo ejecutable que abra el navegador Chrome en modo kiosk se debe crear un archivo de texto y guardar en formato .bat con el siguiente contenido:

Si se quiere abrir una web que se encuentra en el propio ordenador, se puede navegar por las carpetas de la siguiente manera:

En el ejemplo anterior también se abre en modo incógnito.

Servidor Web LAMP Raspberry Pi

Hoy explicaré como hacerte un servidor LAMP (Linux Apache MySQL PHP) con tu Raspberry Pi.

En primer lugar debes asegurarte de tener configurada la IP fija, aquí se explica como.

En segundo lugar debes actualizar el apt-get para preparar las instalaciones, así que en línea de comando escribes las sentencias correspondientes:

Y ya pasamos por fin a las intalaciones 🙂

Instalamos Apache:

Instalamos PHP y varios paquetes:

Podemos crear un archivo phpinfo para ver la información:

Dentro del archivo escribimos:

Ahora podemos comprobar entrando en el navegador web desde la Raspberry la url: http://localhost/info.php

O si nos conectamos de manera remota (en el ejemplo la ip es 192.168.1.100), introducimos la siguiente url en nuestro navegador web: http://192.168.1.100/info.php

Podremos ver algo parecido a esto:
capturaphpinfo

Instalamos MySQL:

Ahora podemos instalar phpMyAdmin para gestionar via web la Base de Datos, para ello primero haremos:

Mientras se instala nos pedirá el tipo de servidor instalado, seleccionamos “apache2”.
También nos preguntará la contraseña que tiene la base de datos y nos pedirá una contraseña para el phpMyAdmin.

Ahora queda configurar Apache para trabajar con phpMyAdmin:

Y añadimos al final del documento (recuerda que puedes avanzar más rápido con Ctrl+V) la siguiente línea:

Guardamos el documento y reiniciamos apache:

Ahora si introducimos en el navegador web de la Rapberry:
http://localhost/phpmyadmin

O si lo hacemos desde remoto (en el ejemplo la ip es 192.168.1.100), introducimos en nuestro navegador web: http://192.168.1.100/phpmyadmin

Nos aparecerá la pantalla de login de phpmyadmin:

capturaphpmyadmin

Ahora ya podemos gestionar por la web la base de datos, bieeen!

Fuentes:
https://geekytheory.com/tutorial-raspberry-pi-crear-servidor-web/

http://www.geothread.net/building-a-lamp-server-on-the-raspberry-pi-computer/

http://raspipress.com/2012/09/tutorial-install-phpmyadmin-on-your-raspberry-pi/

Asignar IP estática (fija) Raspberry Pi

Para saber siempre la IP de tu Raspberry Pi lo que debes hacer es asignarle una IP que tú le especifiques, para ello debemos modificar el archivo “interfaces” de la Raspberry.
Primero podemos hacer una copia del archivo por seguridad:

Y ahora modificamos el archivo:

Dentro del documento yo he tenido que comentar la siguiente línea(puede que en vez de la palabra “manual” aparezca otra):

Y Añadir:
-La línea con la palabra “static”
-La dirección que queremos asignarle (en el ejemplo 192.168.1.100)
-La Mascara de red (255.255.255.0)
-La dirección del router (192.168.0.1)

La parte anterior sirve para la conexión por cable, si también conectamos la Raspberry por Wifi deberemos hacer lo mismo para la Wifi en el documento, un poquito más abajo:

Ahora toca reiniciar y ya se conectará con la IP específica.

Fuentes:
http://raspberryparatorpes.net/instalacion/poner-la-direccin-ip-fija-en-raspbian/

https://adrianhontoria.wordpress.com/2013/12/22/ip-fija-en-tu-raspberry-pi/

Pantalla OLED 4Pin Arduino

Hola, voy a explicar como conectar una pantalla OLED de 4Pins como esta:

oled

Si empezamos por el Software, en primer lugar se deben descargar las librerías (library) de Arduino requeridas que proporciona Adafruit:
https://github.com/adafruit/Adafruit_SSD1306
https://github.com/adafruit/Adafruit-GFX-Library

Si no has instalado ninguna librería de Arduino anteriormente consulta este post donde se explican varias maneras de hacerlo.

Después de instalar las bibliotecas, puedes cargar un ejemplo entrando en Archivo-> Ejemplos-> Adafruit SSD1306-> ssd1306_128x64_i2c

ejemplo

Una vez cargamos el ejemplo yo en mi caso he tenido que modificar la siguiente línea:

Cambiando 0x3D por 0x3C

Ahora vayamos a la conexión del hardware que se debe hacer de la siguiente manera:

esquema OLED arduino

¡Ojo! Yo en mi Oled tengo el VCC y el GND cambiados de sitio, no os fijéis en la posición y fijaros en la palabra que aparece en vuestra OLED.

OLED -> ARDUINO
VCC -> 5V
GND -> GND
SCL -> SCL
SDA -> SDA

¡Ya hemos terminado!

Finalmente si subimos el ejemplo al Arduino podremos ver el resultado.

Fuentes:

 

Importar librerías (library) Arduino

Hay tres maneras de importar una librerías (library) a Arduino:
-Utilizando el Library Manager
-Importando un .zip
-Manualmente

Utilizando el Library Manager
Dentro del menú Programa->Include Library-> Manage Libraries.
Aquí podrás buscar e instalar la librería que quieras.

Importando un .zip
Si tienes un comprimido que te has descargado puedes importar directamente este archivo desde Programa-> Include Library -> Add .zip Library y seleccionar el .zip.

Manualmente
Deberás dejar la carpeta con el contenido (archivo .cpp, archivo .h y otros archivos/caretas como ejemplos) dentro de una determinada carpeta dependiendo de tu SO:

En Windows (carpeta Mis Documentos):
Documentos\Arduino\libraries

En Mac:
Documents/Arduino/libraries

En Linux:
Será la carpeta “libraries” en tu sketchbook.

¡Importante!
Los archivos .cpp y .h se deben encontrar en la carpeta inmediata, no funciona si se encuentran en una subcarpeta, es decir, esta disposición és incorrecta:
Arduino\libraries\Librerias_nuevas\MinuevaLib\archivo.cpp

Debe estar en el primer nivel por debajo de “libraries”:
Arduino\libraries\MinuevaLib\archivo.cpp

Fuentes:
https://www.arduino.cc/en/Guide/Libraries

https://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-libraries