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!

Avalie este post!

Related posts

Como usar o display matriz 16×8 TM1640 com Arduino

by Arduino e Cia
4 anos ago

Contador com sensor infravermelho e display LCD 16×2

by Arduino e Cia
3 anos ago

Raspberry Pi: Instale o Raspbian e crie seu primeiro programa em Python

by Arduino e Cia
10 anos ago
Sair da versão mobile