Boa Tarde Amigos Garagistas.

Estou montando um sistema com Arduino Uno + RFID RC522 + SD Card  + Display OLed SSD1306.

Primeiramente explicarei do que se trata.

Moro em Santos ao lado do Estadio Vila Belmiro. Aqui em dia de jogos nós moradores temos as ruas fechadas com barreiras policiais para não entrar carros que não sejam de moradores. 

Estou querendo desenvolver um sistema unindo as tecnologias acima para que nos dias dos eventos os policiais usem para fazer a identificação dos moradores. sendo assim todo morador teria sua tag para passar pelas barreiras.

Pensei no sistema da seguinte forma. Na tela oled fica aparecendo uma mensagem dizendo: "Aproxime a tag".

Assim que aproximada ela busca no arquivo Txt gravado no SD Card se existe a tal tag.

Se sim informa que o acesso é liberado na tela e volta para a tela de "Aproxime a tag".

Comecei a desenvolver e me deparei com a seguinte situação.

Quando uso o RFID com a tela sem o SD só para teste crio uma variável com um RFID verdadeiro funciona direitinho.

Quando uso o RFID com o SD sem a tela também funciona direitinho eu exibo as respostas no serial monitor.

Quando junto tudo começa o problema. o display não funciona. as vezes não le o Cartão, as vezes buga tudo.

Bom tenho impressão que tem uma porta que é o problema creio que a porta 4, o SD usa a porta 4 e o Oled usa a A4.  

Alguém teria passado já por este problema ou teria uma sugestão?

código do arduino

https://pastebin.com/X1xe4nhX

Desde já agradeço.

Exibições: 418

Anexos

Responder esta

Respostas a este tópico

     

      Podria postar seu esquemático ? Melhora a visualização.

      Nos seus testes, a alimentação está se dando de que forma ? USB ? Fonte externa ?

      Analisou se não é um problema de falta de SRAM durante o processamento?

Boa tarde João.

A principio testei com a alimentação via usb, depois com fonte externa. Ambas sem sucesso. 

Sobre a SRAM não sei como verificar isso. Quanto ao esquema de ligação vou tentar fazer um desenho, não é meu forte mais vou tentar mostrar como foi ligado.

Desde já agradeço ao interesse em ajudar!!!

Coloquei lá o arquivo com o desenho do esquema. Valew!

Boa tarde BD,

  • porque vc está usando esta biblioteca Adafruit_GFX.h no seu sketch?

RV

Boa Noite Rui. Como Estas???

Bem quando eu comecei o projeto eu peguei alguns vídeos de exemplo para testar as coisas separadamente e com certeza um dos vídeos que deu certo usava essa e outras bibliotecas.não sei exatamente pq. mas tirei ela do código agora e não deu erro. então sei lá se era necessaria no codigo. mas o problema prevalece igual

Ah. Queria agradecer tua ajuda no projeto da facu do meu moleque http://labdegaragem.com/forum/topics/arduino-trava-serial-com-carga... eu sempre o ajudo e tava jogando a toalha já e vc matou a pau o problema.

Muito obrigado mesmo !!! 

Bom dia BD,

analisando com uma lente x1000 o seu sketch encontrei o seguinte:

1    A biblioteca "span>Adafruit_GFX.h> " é necessária sim, pois ele é que "gerencia" 

      os formatos gráfico do display.

       Mas, não é necessário declara-la nos seu sketch, pois ele já está declarada na

       biblioteca  " <Adafruit_SSD1306.h> ", mas não faz mal declara-la no seu sketch.

2    Você definiu na linha 6  :  #define OLED_RESET 4

      e inicializou o SD card na linha 38  :   if (SD.begin(4)) {

      Ambos usando o port 4, e é bem provável que seja a causa do sintoma

      que vc está tendo. (Conflito de definições para um mesmo port).

      No seu caso (Display SSD1306) esta linha 8 não deverá se usada,

      Ela é para displays SSD1306 SPI, e o seu é  I2C.

      Comente a linha 6 e a linha 8 e teste o seu sketch.

RV

ref:   https://github.com/adafruit/Adafruit_SSD1306/blob/master/examples/s...

Linhas 29 e 30.

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)

Bom dia Rui, Obrigado pela ajuda.

Quando retiro as linhas que você falou da erro no programa ele diz que os comandos do display não foram declarados. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço