No te olvido, cariño.

Con una placa de Arduino y algunas matrices de leds, puedes hacer un letrero deslizante que muestre el texto que te apetezca.

Pegado sobre un marco con tu foto (o lo que quieras) y con un texto como «No hay distancia que pueda separarnos, ni tiempo para olvidarnos…» (o lo que quieras) resulta un regalo perfecto para tu madre, tu pareja, tus hijos, etc.

Pongamos manos a la obra que esto es bastante fácil.

Material necesario

Aruino UNO R3

Arduino UNO es un microcontrolador basado en ATMEGA328P a 16MHz. Incluye 14 pines de entrada salida digital, 6 de los cuales pueden usarse como salidas PWM

Matriz LED 8×8 MAX7219, (4 matrices)

Este módulo consta de 4 matrices de 8×8 leds de 3mm multiplexados mediante el chip MAX7219. Este chip es muy fácil de usar desde Arduino. Podemos diburar todo tipo de caracteres y figuras usando su interfaz SPI.

Alimentador de corriente de 9V 1A

Alimentador de pared AC 100V-240V DC 9V 1A. Conector de 5.5mm x 2.1mm

Necesitaremos una placa de Arduino UNO R3, 2 grupos de 4 matrices (8 matrices en total) y un alimentador de 9V. Sí, eso es todo.

Montaje

El primer paso es unir los dos bloques de matrices. Tenemos dos bloques de cuatro matrices que queremos unir para obtener una línea de 8 matrices. Para ello tenemos que conectar la salida de un bloque a la entrada del otro (DIN con DOUT). Esto lo hacemos soldando (¡Horror, hay que soldar! Pues sí, lo siento, necesitas el soldador.) cinco cables tal como se indica en la figura:

Conexión de los dos bloques de matrices

Necesitaremos un marco para fotos, uno de esos que venden en el chino de la esquina servirá. Usando cinta adhesiva de doble cara pegamos la placa de Arduino y las matrices sobre el cristal, tal como se ve en la imagen del principio. Ahora, usando los cables dupont que vienen con las matrices, sólo nos queda conectar las matrices y el Arduino. Las conexiones son las siguientes:

ArduinoMatriz
13CLK
11DIN
10CS
5VVDD
GNDGND

Código

Tenemos el circuito montado pero aún nos falta la programación. Esta parte es fácil, sólo tienes que volcar el siguiente sketch en tu placa de Arduino.

Es necesario instalar la librería MD_MAX72xx, puedes hacerlo desde el Library Manager del IDE de Arduino o descargándola del Github.

Sustituye la asignación de las variables MSG1 y MSG2 por el texto que quieras presentar en el display y listo.

#include <MD_MAX72xx.h>

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES  8 // Número de matrices

#define CLK_PIN   13  // SCK
#define DATA_PIN  11  // MOSI
#define CS_PIN    10  // SS

MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

int  DELAYTIME = 50;  // en milisegundos

// Mensaje lento. Pon aqui lo que quieras.
char* MSG1 = "BIENVENIDOS A TURIBOT.ES, TU TIENDA ONLINE DE ELECTRONICA Y ROBOTICA RECREATIVA  **  ";
// Mensaje rápido.
char* MSG2 = "BIENVENIDOS A TURIBOT.ES, SI PUEDES LEER ESTO ERES UN MARCIANO, SALUDOS DESDE LA TIERRA  **  ";

void setup()
{
  mx.begin();
}

void loop()
{
  DELAYTIME = 25;
  scrollText(MSG1);
  DELAYTIME = 5;
  scrollText(MSG2);
}

void scrollText(char *p)
{
  uint8_t charWidth;
  uint8_t cBuf[8];

  while (*p != '\0')
  {
    charWidth = mx.getChar(*p++, sizeof(cBuf) / sizeof(cBuf[0]), cBuf);

    for (uint8_t i=0; i<=charWidth; i++)
    {
      mx.transform(MD_MAX72XX::TSL);
      if (i < charWidth)
        mx.setColumn(0, cBuf[i]);
      delay(DELAYTIME);
    }
  }
}

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *