collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: Aproveitamento display "Brother MFC-490CW"  (Lida 14925 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #15 em: 02 de Agosto de 2016, 13:05 »
Obrigado  :)
O micro é o Atmega8515 mas suporta até ao Atmega1284.
Tem 8k mas já deu para servir de interface, agora já lhe posso colocar um código mais apropriado para um stand-alone... creio que vou colocar o tetris, é simples e só peca pela falta de cache de video, com alguma ginástica consegue-se bem.
Assim que terminar coloco aqui  ;)

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #16 em: 19 de Agosto de 2016, 22:06 »
Boa noite

3 semanas e mais de 1k linhas estou finalizando o código do tetris mas está com uns artefactos que não consigo descobrir o motivo, acredito que seja por exceder alguma variável e saber qual é é de doidos, tenho apagado algumas partes de código até funcionar bem, exclusão de partes que às vezes funciona outras nem por isso, enfim...
(o problema afecta apenas o programa e não o display)

Estou a programar em Bascom AVR, gosto do programa e tem funcionado, não tenho formas de fazer um debug por falta de hardware, a simulação faz bem mas ao ultrapassar tipo 255 passa para 0 e nem piu, pelo menos que eu saiba.
Stack overflow, flag, um sinal que me diga olha, foi aqui :P

Existe alguma forma de ter uma resposta, via hardware, simulação ou outra qualquer que me avise que a variável excedeu?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #17 em: 20 de Agosto de 2016, 02:04 »
Os compiladores de C/C++ costumam ter uma flag para gerar código que verifique os limites da variável, agora o BASCOM... terás que verificar os valores à mão sempre que mexes nas variáveis, caso não tenha opção similar.

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #18 em: 20 de Agosto de 2016, 21:53 »
Desde já obrigado pela resposta  ;)

Estive a procurar e lá encontrei como proceder recorrendo ao comando "Stcheck" (Calls a routine to check for various stack overflows).

Estou a usar cerca de 17 rotinas e cada vez que uma chama outra, tem de gravar as variáveis temporariamente, chego a usar 3 ou 4 sub-rotinas e as coisas tendem a piorar ficando sem memória disponível, é muito bonito a compilar mas na prática dá nisto...

Offline artur36

  • Mini Robot
  • *
  • Mensagens: 795
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #19 em: 20 de Agosto de 2016, 23:14 »


Estou a usar cerca de 17 rotinas e cada vez que uma chama outra, tem de gravar as variáveis temporariamente, chego a usar 3 ou 4 sub-rotinas e as coisas tendem a piorar ficando sem memória disponível, é muito bonito a compilar mas na prática dá nisto...

Nunca programei nada tão "complicado" nem conheço em que contexto são usadas as subrotinas e que dados estás a passar, mas não dá para colocares os valores numa variável global e aceder a ela em cada subrotina?

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #20 em: 21 de Agosto de 2016, 00:29 »
Nunca programei nada tão "complicado" nem conheço em que contexto são usadas as subrotinas e que dados estás a passar, mas não dá para colocares os valores numa variável global e aceder a ela em cada subrotina?

Sim, posso colocar as variáveis em global e tenho feito isso o máximo possível para poupar RAM.
É preciso bastante cuidado ao usar variáveis globais para que não altere alguma em presente uso.

Sei que os procedimentos ocupam bastante memória, mas por vezes ocupam menos do que estar a repetir as mesmas instruções e é preferível ter uma macro, daí tanta rotina.

Um texto de "score" no meu caso:
- Main
- Show_next = apresenta a peça que vai aparecer a seguir, assim como a pontuação e o presente nível
- Call Header_y(3 ,1) = configuração do LCD para uma determinada área
   este ainda vai chamar outro procedimento de clock e registo (12 passos) + endereçamento de configuração
- Aqui já posso colocar o texto com a fonte gravada numa label + procedimento de clock
- Depois de sair tenho outra rotina de fecho para os dados do LCD

Isto foi apenas para um simples texto, coloquei também alguns efeitos que gosto de ver tanto de fundo como das peças, entusiasmei-me :P
Claro que se for recorrer a bibliotecas não é preciso nada disto, LCD compatível.

À lá arduino seria lcd.setCursor(0,1); lcd.print(score); mas não era a mesma coisa

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #21 em: 06 de Outubro de 2016, 14:57 »
Projecto finalizado  8)

Visão geral:


Visão interior:


Adaptação de um Atmega328P em 40-pin PDIP:


Demonstração:


creio que vou colocar o tetris, é simples e só peca pela falta de cache de video, com alguma ginástica consegue-se bem.
Claro que sim, até se pegar nele e não haver velocidade suficiente de refrescamento para tanta instrução.

- Display CMG48MC1-FJ (Brother MFC-490CW)
- Atmega328P 16MHz
- Pilha Lithium (capacidade desconhecida)
- Carregador Lithium via USB
- Conversor dc-dc 3.7V to 6V para a iluminação do display
- Teclado de um auto-rádio para a interface, iluminado
- Programado em BascomAVR (80% space)
- Consumo +-70mA

 :) :) :)

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.914
    • GrcByte - Projectos
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #22 em: 06 de Outubro de 2016, 15:18 »
Bem.. excelente mesmo! Muito bom trabalho  8)

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #23 em: 06 de Outubro de 2016, 15:35 »
Bem.. excelente mesmo! Muito bom trabalho  8)
Obrigado :)

Meu maior desafio foi mudar do Atmega8515(8k) para o Atmega328P(32k), usei todas as portas e restou apenas um terminal para o teclado que teve de ser via ADC.
Foi um pouco arriscado até porque o cristal está mais longe do que devia, mas até agora está a portar-se bem.
Sabia que o 328 tinha mais para dar...

Para filmar pedi emprestado a semi profissional canon de minha irmã, ainda tentei com duas que tenho por aqui e ficou péssimo, agora já tenho um smartfone decente mas não o usei, fica para a próxima.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #24 em: 06 de Outubro de 2016, 16:15 »
 8) 8) 8) 8) :D

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.531
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #25 em: 06 de Outubro de 2016, 21:16 »
Muito bom! Parabens!
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline Hugu

  • Mini Robot
  • *
  • Mensagens: 5.602
  • Keyboard not found. Press any key to continue.
    • [url=www.g7electronica.net]G7 Electrónica.net[/url]
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #26 em: 06 de Outubro de 2016, 22:15 »
Mto fixe! À primeira vista, quase parecia um telemovel nokia (falha-me o modelo)  ;D

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Aproveitamento display "Brother MFC-490CW"
« Responder #27 em: 29 de Setembro de 2021, 12:52 »
Após vários pedidos pela internet sobre informações desta montagem, e dois dias a organizar para fácil entendimento, apresento código fonte, entre ouros:

https://github.com/pdropes/Display-Brother


Entretanto tenho andado entretido  ;D
Esta lanterna fiz com uma fita de LEDs de uma TV avariada, cortei-a em tiras, soldei-as e colei num powerbank de 5A, o consumo é de 200mA:


Nokia1616:


*este ninguém vai adivinhar, se criar um jogo foi complicado...