Como usar o TM1638 com Raspberry Pi
Usar o módulo display 7 segmentos TM1638 com Raspberry Pi é muito fácil e neste tutorial você vai encontrar todas as informações para conectar o módulo na sua placa e colocá-lo para funcionar em poucos minutos.
Já vimos o TM1638 no post Como usar o módulo TM1638 com Arduino, e ele é um display eficiente para mostrar números e (algumas) letras além de possuir algumas funções adicionais. Vamos lá.
O módulo TM1638
Apenas para relembrar, o módulo com controlador TM1638 (datasheet) que estamos usando é um módulo composto por 8 displays de 7 segmentos que podem ser acionados individualmente. A placa conta também com 8 botões de uso geral e 8 leds na parte superior.
O módulo usa para comunicação os pinos STB, CLK e DIO, e funciona com alimentação entre 3.3 e 5V. Quatro furos na placa auxiliam na fixação em caixas e gabinetes.
Conexão do módulo TM1638 na Raspberry Pi
Nos nossos testes vamos usar o TM1638 juntamente com uma placa Raspberry Pi 3 B+, mas lembre-se que você pode usar outras placas da linha para montar o circuito, como a RPi 3 model B, a RPi 2 e a Zero W por exemplo.
Temos na imagem acima os pinos Vcc e GND conectados nos pinos 2 e 6 da Raspberry Pi, e os pinos de controle STB, CLK e DIO conectados nos pinos 36, 38 e 40 respectivamente.
Programa módulo TM1638 com Raspberry Pi
Como de praxe, antes de mais nada vamos atualizar o Raspbian utilizando os comandos abaixo:
sudo apt-get update sudo apt-get upgrade
Após a atualização, instale a biblioteca do TM1638 com o comando:
git clone https://github.com/thilaire/rpi-TM1638
Depois disso, faça a instalação da biblioteca com os comandos:
cd rpi-TM1638 sudo python setup.py install
Com a biblioteca instalada, abra um editor de textos como o Nano e digite/copie o programa abaixo:
# Programa: TM1638 com Raspberry Pi # Autor: Arduino e Cia # Carrega bibliotecas from time import sleep from rpi_TM1638 import TMBoards # Definicoes da GPIO DIO = 21 CLK = 20 STB = 16, 26 # Cria instancia TM = TMBoards(DIO, CLK, STB, 0) TM.clearDisplay() # Exemplo leds. Liga o 1o, 3o. e ultimo leds TM.leds[0] = True TM.leds[2] = True TM.leds[7] = True # Exemplo numeros. Mostra o numero 1.234 nos 4 primeiros displays TM.segments[0] = '1.234' # Exemplo numeros. Mostra o numero 5 nos 5o display TM.segments[4] = '5' # Exemplo segmentos # Acende os segmentos 0, 1, 2, 4, 5 e 6 no display 7 TM.segments[6,0] = True TM.segments[6,1] = True TM.segments[6,2] = True TM.segments[6,4] = True TM.segments[6,5] = True TM.segments[6,6] = True while 1: for i in range(6): TM.segments[7,i] = True sleep(0.2) TM.segments[7,i] = False sleep(0.2)
Salvamos o programa com o nome de testetm1638.py. Para rodar, digite:
sudo python testetm1638.py
No programa temos alguns exemplos de uso dos comandos disponíveis na biblioteca.
Nas linhas de 19 a 21 usamos o TM.leds[] para acender um led individualmente. Você pode usar o True para acender e False para apagar. Bem simples.
Na linha 24 temos um exemplo para mostrar números no display, onde o número entre colchetes determina em qual display o número começará a ser mostrado. Lembrando que os dígitos dos displays são numerados de 0 a 7. No exemplo usamos um número com ponto, que é exibido automaticamente no display.
Nas linhas de 31 a 36 temos um exemplo para manipular individualmente os segmentos dos leds. Podemos usar esse recurso para mostrar, por exemplo, algumas letras no display. Usamos neste caso para mostrar a letra A no penúltimo display.
Finalmente, o loop no final do programa (a partir da linha 38) cria uma “animação” no último display com os segmentos de 0 a 5 acendendo e apagando em sequencia.
Gostou? Confira outros posts usando Raspberry Pi aqui mesmo no Arduino e Cia!