collapse

* Posts Recentes

Meu novo robô por josecarlos
[Hoje às 18:54]


No meio desta crise de MCUs e dev-boards quais as dev-boards que estão a usar? por jm_araujo
[Ontem às 23:54]


Dimmer PWM para controlo de resistencia eletrica 2500W por blabla
[26 de Janeiro de 2022, 21:28]


STM32 BluePill in Rust - Project template por blabla
[25 de Janeiro de 2022, 09:45]


Pequenos guias com informação sobre programação e eletrónica. por blabla
[23 de Janeiro de 2022, 21:28]


GPS Disciplined Oscillator por SerraCabo
[23 de Janeiro de 2022, 00:44]


Fita de LEDs RGB por blabla
[18 de Janeiro de 2022, 13:47]


KGM Edgelit Displays por SerraCabo
[18 de Janeiro de 2022, 10:25]


Saiu Kicad 6.0.1 por SerraCabo
[17 de Janeiro de 2022, 16:47]


Keyboard - A promessa de se atingir 500+WPM - Words Per Minute por blabla
[16 de Janeiro de 2022, 14:00]

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

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

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.050
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.050
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.562
    • 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.050
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.050
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.050
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.815
    • 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.050
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.562
    • 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.597
  • 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.050
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...