O projeto PQDB (saiba mais sobre a PQDB original aqui) é uma placa didática Open Hardware, multiplataforma, compatível com Arduino, que contém literatura própria e está atualmente em campanha no Catarse (apoie nosso projeto e ajude a mudar a realidade do hardware didático no Brasil).
A meta já foi batida e atualmente está com 172% da arrecadação, resultando em R$6.880,00. Caso o projeto chegue ao fim com mais de R$10.000,00 arrecadados, quem quiser poderá optar entre a PQDB normal ou a PQDB Mini, em formato de controle de videogame.
Neste artigo será comentado sobre o desenvolvimento da PQDB Mini e as modificações de layout que foram necessárias. O projeto e a biblioteca da PQDB Mini já estão disponíveis no GitHub do projeto.
Modificações de Hardware
Durante a fase de desenvolvimento do projeto de crowdfunding, percebeu-se que uma placa com apelo gamer faria mais sentido se possuísse um display gráfico, e não um de 16×2, como é padrão na placa PQDB. Por esse motivo foi realizada uma modificação de hardware para aumentar o apelo da placa. Essa mudança também resultou na inutilização de um potenciômetro antes utilizado para contraste do antigo display. O componente foi ligado ao pino AD3 que não estava exercendo nenhuma função.
PQDB Original
A placa original (saiba tudo sobre a PQDB original aqui) possui um formato retangular com os seus 67 componentes e 9 periféricos, todos localizados na parte superior da placa, como mostra a figura 1. Na parte superior é possível identificar um display LCD de 16×2, que será o periférico modificado na PQDB Mini.
Pinagem Original
Alguns periféricos da PQDB têm seus pinos compartilhados, o que permite a adição de uma maior quantidade de dispositivos. Como a placa de controle usada como referência para o projeto foi o Arduino, a placa é construída dentro das suas limitações. A figura 2 mostra de modo simplificado as pinagens da placa e algumas das suas funções.
Já a figura 3 mostra como estão conectados os pinos da placa de controle na placa PQDB.
Na tabela 1 está uma relação de todos os pinos e seus periféricos, onde é possível observar quais são compartilhados ou exclusivos. O componente 74HC595 controla partes do Display de 7 segmentos, teclado e Display de LCD 16×2, logo os seus pinos são indiretamente vinculados.
Tabela 1 – Relação de pinos das placas de controle com a PQDB
O display Nokia 5110
Similar ao encontrado em um celular Nokia 5110 de 1998, o display 5110 é um periférico que contempla uma tela de 48×84 pixels controlado pelo controlador Philips PCD8544, inserido em uma PCI que torna fácil a conexão dos pinos de controle do dispositivo, como mostra a figura 4.
De acordo com o datasheet, os pinos de controle do PCD8544 (que estão disponíveis neste periférico) são os seguintes:
- SDIN: Entrada serial de dados;
- SCLK: Sinal de clock até 4.0 Mbits/s;
- D/C: Seleção de entrada como dados ou comando;
- SCE: Quando colocado em sinal baixo permite que os dados da entrada serial sejam lidos;
- RES: Deixar em sinal baixo durante o uso, utilizado para dar reset no dispositivo, precisa receber um pulso de sinal alto para que o display funcione corretamente. Não realizar o reset pode causar danos ao dispositivo.
SPI
O SPI é um protocolo de comunicação síncrona que permite um microcontrolador (mestre) controlar diversos periféricos (escravos) conectados em modo serial através de um controle que determina qual dispositivo deve funcionar naquele momento (saiba mais sobre SPI aqui).
Temos que este protocolo utiliza-se de três portas básicas, somada de uma para cada escravo (no caso do mestre), como mostra a figura 5. São elas:
- MOSI (Master Output Slave Input): Saída de dados do mestre e entrada do escravo;
- MISO (Master Input Slave Output): Entrada de dados do mestre e saída do escravo;
- SCLK (Serial Clock): Clock gerado sempre pelo mestre e que cria a sincronia entre todos os dispositivos;
- SS (Slave Select): O mestre deve ter uma porta SS para cada escravo, é através da mudança do sinal neste pino que o escravo fica disponível para comunicação.
O display gráfico Nokia 5110 opera através deste protocolo como escravo, porém as portas do PCD8544 possuem outros nomes, sendo SDIN equivalente à MOSI e SCE à SS. Em placas de controle normalmente há um sistema de SPI feito por hardware com pinos específicos, porém como a PQDB tem o objetivo de funcionar com múltiplas placas, o SPI será feito por meio de software.
Modificação da Pinagem
De modo a afetar o mínimo possível o layout original da placa, utilizou-se os dois pinos exclusivos que eram do display de 16×2 para o RES e SCLK. O SCE foi colocado em nível baixo, ligando-o diretamente ao GND, já que o único dispositivo SPI na placa é o display. E o SDIN e D/C foram ligados aos pinos DSP-1 e DSP-2, respectivamente.
Em todos os pinos de controle colocou-se uma resistência de 10kΩ para evitar qualquer surto de corrente. O pino VCC foi conectado à alimentação de 3.3V, o pino LIGHT foi ligado a uma resistência de 220Ω e o pino GND conectado ao GND da placa. Desta forma o esquemático referente ao display ficou conforme a figura 6. O layout da placa sem os planos de terra está representado na 7 e uma ilustração da PQDB Mini com o display Nokia 5110 pode ser vista na figura 8.
Conclusão
Foram realizadas alterações de hardware na PQDB original, que ao receber o display gráfico Nokia 5110 liberou um potênciometro antes utilizado para o contraste, este foi colocado na entrada analógica A3, que não era utilizada. Foi criada também uma biblioteca para o periférico que aceita a escrita tanto diretamente no display quanto em um Frame Buffer. Ela foi testada na prática e validada com vários casos de teste, mostrando que está pronta para uso. O projeto PQDB Mini está funcional e pronta para fabricação quando a meta for batida.
Apoie o projeto aqui:
Acesse todos os projetos e bibliotecas pelo nosso GitHub:
Datasheet do PCD8544:

















