TZXDuino sencillo y para toda la familia

Este es un TZXDuino que descubrí en maccasoft.com1 el cual es muy sencillo de hacer. Utiliza dos shields muy fáciles de encontrar y económicos, un conector jack estéreo de 3,5 mm y un capacitor electrolítico de 10 uF.

TZXDuino TZXDuino TZXDuino

El Shield Data Logger se utilizará para acceder a la tarjeta SD. En esta shield soldaremos el jack estéreo y el condensador.

Esquema

Esquema TZXDuino

El Shield LCD Keypad dispone de una pantalla LCD de 16x2 caracteres de tipo paralelo y un panel de pulsadores que utilizaremos para seleccionar los archivos a reproducir e iniciar o detener la reproducción. Estos pulsadores están conectados a una única entrada analógica (A0) de Arduino por lo que se requiere de un sketch particular para saber qué botón se ha pulsado.

int _BTN_SELECT[]  =  {600, 760};
int _BTN_LEFT[]    =  {400, 590};
int _BTN_RIGTH[]   =  {0, 40};
int _BTN_UP[]      =  {50, 240};
int _BTN_DOWN[]    =  {250, 390};

int ctrlButton()
{
  int button = analogRead(A0);

  if ( _BTN_SELECT[0] <= button && button <= _BTN_SELECT[1] ) {
    return btnPlay;
  }
  if ( _BTN_LEFT[0] <= button && button <= _BTN_LEFT[1] ) {
    return btnStop;
  }
  if ( _BTN_RIGTH[0] <= button && button <= _BTN_RIGTH[1] ) {
    return btnRoot;
  }
  if ( _BTN_UP[0] <= button && button <= _BTN_UP[1] ) {
    return btnUp;
  }
  if ( _BTN_DOWN[0] <= button && button <= _BTN_DOWN[1] ) {
    return btnDown;
  }

  return 0;
}

Lo que se hace es leer el valor de la antrada analógica A0 y se compara el valor devuelto con una serie de valores preestablecidos para determinar que botón se presionó. Estos valores los tuve que modificar por los que veis reflejados ya que los que venían reseñados en la página de maccsoft no me iban …

Pasos para su utilización

TZXDuino

El sketch reseñado hay que añadirlo al código del TZXDuino 2 (TZXDuino.ino) y subirlo al Arduino Uno.

Conectar un cable de audio desde el conector EAR del ordenador al conector jack de 3,5 mm.

FOTOS

TZXDuino TZXDuino

Proyecto finalizado!! 😎