Mestres, estou em uma guerra com o MAX7219.

Fiz todas as ligações apenas 10 vezes, e nada de acender o display apenas piscava quando re-ligava o arduino uno. Fiz um teste, ligue um a um cada segmento, primeiro coloquei o codigo para mostrar o número 8, resumindo consigo mostra o número 2, quando tento ligar o restante dos segmentos o display desliga, e só volta se desligo e re-ligo o arduino e claro desligo alguns segmentos.

 Por favor preciso de ajuda, ja testei ou max7219 porem mesmo erro, meu objetivo era ligar 3 display para mostrar temperaturas até 120º, mas mal consigo ligar um....

Exibições: 1589

Responder esta

Respostas a este tópico

Posta seu código e o esquema da ligação usada para que possamos entender melhor o problema.

Galera a ligação que eu fiz foi seguindo o seguinte tutorial:

http://www.arduinoecia.com.br/2013/07/controlando-display-7-segment...

E o Código é este abaixo, porem percebo que o código vai bem, o contador tenta mudar o display, eu acho que é algo relacionado com a quantidade de energia que alimenta o max7219, tentei com o garagino e com o arduino uno:

//Programa : Cont//Programa : Contador display 7 segmentos usando CI Max7219
//Alteracoes / comentarios : Arduino e Cia
//Baseado no programa exemplo da biblioteca LedControl okkkkkk

#include "LedControl.h" //Carrega a biblioteca LedControl

// Pino 4 do Arduino ao pino 1 (DIN) do CI
// Pino 5 do Arduino ao pino 13 (CLK) do CI
// Pino 6 do Arduino ao pino 12 (LOAD) do CI
// Ultimo parametro se refere ao numero de MAX7219 utilizados no circuito
LedControl lc=LedControl(4,5,6,1);

boolean pontodecimal; //Armazena o estado do ponto decimal (Lig/Desl)

void setup()
{
// Inicializa o Max7219
lc.shutdown(0,false); // Habilita o display
lc.setIntensity(0,10); // Define o nivel de luminosidade (0 minimo, 15 maximo)
lc.clearDisplay(0); // Apaga o display
Serial.begin(9600); // Inicializa a serial
pontodecimal = true; //Define o ponto decimal como LIGADO
}

void loop()
{
for(int i=0; i < 10 ; i++) //Loop variando valor de i de 0 a 9
{
lc.setDigit(0,0,i,pontodecimal); //Mostra o valor de i no display
Serial.println(i);
pontodecimal = !pontodecimal; //Inverte o estado do ponto decimal
delay(1000); //Aguarda 1 segundo e mostra o próximo valor
}
delay(1000); //Aguarda 1 segundo e reinicia a contagem
}

Alguem com alguma luz sobre o assunto?

eu acho que estão faltando alguns capacitores fechando iset com VCC e outro eletrolitico fechando GND com iset,  eu estava com este problema, foi por estes capacitores que funfo que uma beleza, os capacitores são 10uF/25V e o capacitor disco de 100n,,,,,,,espero ter ajudado

Rapaz, muito obrigado pela dica, vou fazer o teste e depois posto aqui o resultado.

Vlw

se alguem passar pelo mesmo problema, eis a solução:

Resolvi colocando um capacitor de 100uF entre os pinos 18 e 19

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço