Pular para o conteúdo principal

Xadow - LED 5x7 v1.0

O Xadow LED 5x7 contém duas partes: um painel de LED e um controlador de LED. O painel de LED é uma matriz monocromática 5x7. O controlador de LED é um módulo de controle para controlar o painel de LED usando 12 pinos de E/S do Atmega168PV. Você pode enviar comandos ao controlador de LED através da interface I2C. Em seguida, deixe o controlador de LED controlar o display de LED. Por exemplo, exibir letras e números ou entrar no modo de suspensão para reduzir o consumo.

Especificação


  • Tensão de trabalho: 3,3 V
  • Microcontrolador integrado
  • Modo de controle: I2C (endereço 0x04)
  • Dimensões: 25,43 mm x 20,35 mm

Demonstração


Conforme descrito na introdução, o LED pode exibir letras e números. A seguir mostraremos a você a demonstração interessante.

A instalação de hardware é como mostrado abaixo:

Nota: ao conectar o Xadow LED 5X7 à Xadow Main Board, você deve prestar atenção à direção da conexão. O método de conexão é que o canto não preenchido de um módulo Xadow precisa ser conectado ao ângulo reto de outro módulo (veja os quatro cantos de cada módulo Xadow). O código de teste para exibir string ou caractere:

#include "Wire.h"
#define XADOW_DEBUG 1
#define LEDAddress 0x04

#define DISP_CHAR_5X7 0x80
#define DISP_STRING 0x81
#define SET_DISP_ORIENTATION 0x82
/*Marco definitions for the display orientation of the LED matrix*/
#define RIGHT_TO_LEFT 0
#define LEFT_TO_RIGHT 1
#define POWER_DOWN 0x83
uint8_t buffer[24];
int error;
int n;
char *str = "SeeedStudio123";
void setup(void)
{
Wire.begin();
delay(100);
#if 0
TESTIO();
if(error==0)
{
DDRB|=0x80;
PORTB&=~0x80;
}
#endif

}
void loop(void)
{
for(n=0;n<100;n++)
{
dispString(str,strlen(str),150);
delay(300);
}
//display the "seeed0728"(9 characters) on the
//Xadow LED and the character moving one step costs 150m

}

/**********************************************************************/
/*Function: Send command to Xadow LED to display a string by the I2C. */
/*Parameter:-char* data_,Store a string to display on the Xadow LED. */
/* -uint8_t len,The length of the data_. */
/* -uint16_t time,The time of the character moving one step. */
/*Return: void */
void dispString(char* data_,uint8_t len,uint16_t time)
{
Wire.beginTransmission(LEDAddress);
Wire.write(DISP_STRING);
Wire.write(len);
Wire.write((uint8_t*)data_,len);
Wire.write(time>>8); //high byte of time
Wire.write(time);//low byte of time
Wire.endTransmission();
}
void dispChar(uint8_t data_,uint16_t time)
{
Wire.beginTransmission(LEDAddress);
Wire.write(DISP_CHAR_5X7);
Wire.write(data_);
Wire.write(time>>8); //high byte of time
Wire.write(time);//low byte of time
Wire.endTransmission();
}
void setDispOrientation(uint8_t orientation)
{
Wire.beginTransmission(LEDAddress);
Wire.write(SET_DISP_ORIENTATION);
Wire.write(orientation);
Wire.endTransmission();
}
void powerDown()
{
Wire.beginTransmission(LEDAddress);
Wire.write(POWER_DOWN);
Wire.endTransmission();
digitalWrite(3,HIGH);
}
void wakeUp()
{
Wire.beginTransmission(LEDAddress);
Wire.endTransmission();
}

void TESTIO(void)
{

DDRB|=0x0e;
PORTB&=~0x0e;
DDRF|=0x01;
PORTF&=~0x01;
DDRD&=~0x0f;

PORTB|=0x04;
PORTF|=0x01;
delay(30);
if(!(PIND&0x01))
{
error=1;
}
if(PIND&0x02)
{
error=1;
}
if(!(PIND&0x04))
{
error=1;
}
if(PIND&0x08)
{
error=1;
}
PORTB&=~0x04;
PORTB|=0x0a;
PORTF&=~0x01;
delay(30);
if(PIND&0x01)
{
error=1;
}
if(!(PIND&0x02))
{
error=1;
}
if(PIND&0x04)
{
error=1;
}
if(!(PIND&0x08))
{
error=1;
}
Serial.println(error);
}

Você pode ver a cena abaixo depois de enviar o código para a Xadow Main Board.

Visualizador de Esquemático Online

Recursos


Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...