quinta-feira, abril 05, 2018

Placa PQDB - Parte 2

Vamos concluir neste post o exame da PQDB (Pão de Queijo Development Board), comentando rapidamente sobre os periféricos e mostrando a montagem e funcionamento. Eu usei a PQDB com um Arduino Uno e não me preocupei em deixar o meu código compatível com outras placas.


LED RGB

Nada de muito especial aqui, exceto que os pinos que acionam o LED são também usados para selecionar os dígitos no display de 7 segmentos. Portanto não dá para controlar o LED quando se está usando o display e quando se está usando o display o LED fica piscando rapidamente. Ao acender o LED deve-se tomar o cuidado de zerar o shift register 74HC595 para que o display de 7 segmentos não seja ligado.

Display de 7 segmentos

Quatro sinais do Arduino selecionam os dígitos (três deles também ligados ao LED RGB). Os segmentos são acionados pelo shift register 74HC595, que também está ligado às teclas e ao display LCD.

Display LCD

A PQDB usa o tradicional display alfanumérico de 2 linhas de 16 caracteres. Os sinais RS e E são conectados a pinos do Arduino. O sinal RW é mantido em nível baixo (só escrita). Os pinos D4 a D7 estão ligados aos sinais D0 a D3 do shift register 74HC595. Um potenciômetro permite ajustar o contraste.

Teclado

A PQDB possui 10 ligadas na forma de uma matriz. O acionamento é pelas colunas, que estão ligadas ao  shift register 74HC595 e a leitura através de dois pinos do Arduino.

Entradas Analógicas

Temos um potenciômetro, um LDR (resistor sensor a luz) e um LM35 (sensor de temperatura). Os dois primeiros estão ligados ao sinal de 3,3V do Arduino, portanto não é usada toda a escala do ADC quando o Arduino opera a 5V. No caso do LDR, ele controla um divisor de tensão, portanto o valor lido é inversamente proporcional à resistência do LDR. No caso do LM35, a saída corresponde à temperatura na razão de 0,01V por grau. Para ter um precisão razoável, deve-se usar a referência interna de 1,1V do Arduino.

Buzzer

Este não tem segredo, está ligado a um pino do Arduino. Nível alto do pino, o buzzer toca. Nível baixo, o buzzer fica silencioso.

Relógio de tempo real

O relógio utiliza um DS1307 com bateria backup. A ligação do DS1307 ao Arduino é através de I2C.

Montagem e Demonstração

A montagem foi bem tranquila. O software de demonstração deu um pouco de trabalho (ver o post anterior). Ao invés de usar as bibliotecas e rotinas disponíveis no GitHub da PQDB eu preferi fazer as minhas próprias para aprender um pouco mais. O meu código pode ser baixado de https://github.com/dquadros/DemoPQDB.

O vídeo abaixo mostra a montagem e funcionamento:







Nenhum comentário: