Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O TTGO T-Display é uma placa baseada no ESP32 que inclui um display colorido de 1,14 polegadas. A prancha pode ser comprada por um prêmio de menos de 7 $ (incluindo frete, prêmio visto no banggood). É um prêmio incrível para um ESP32 incluindo um display.
Esta pode ser a base perfeita para seu próximo projeto. Infelizmente, há apenas suporte oficial para o arduino.
Micropython tem várias vantagens, torna o desenvolvimento de um projeto muito mais fácil. Não vou explicar todos eles aqui. Existem muitos vídeos legais no youtube sobre como o micropyhton torna sua vida mais fácil e as coisas legais que você pode fazer com ele.
Infelizmente, o suporte oficial cobre apenas a "linguagem arduino".
Neste tutorial vou mostrar como usar a placa com micropython.
Etapa 1: Instale o firmware Loboris na placa
O micropython oficial não possui suporte para este tipo de display. Você tem que instalar o micropython de loboris. Este é um micropython modificado muito legal com bibliotecas adicionais.
Para instalar, basta seguir meu (fácil) tutorial passo a passo sobre
https://www.instructables.com/id/Installing-Loboris-lobo-Micropython-on-ESP32-With-/
Etapa 2: carregar o código de amostra
Conecte sua placa com o uPyCraft conforme descrito no tutorial de instalação. Conforme descrito, ao iniciar o uPyCraft, você clica em ferramentas-> Serial-> COM7 (substitua COM7 pela porta que você encontrou durante o tutorial de instalação). Agora pode abrir uma janela com "Firmware Flash" ou algo parecido. Não faça isso! Isso é um erro. Simplesmente feche a janela "flash firmware" e conecte novamente com ferramentas-> Serial-> COM7. Agora você deve ver ">>>" na janela de comando. Isso significa que você se conectou com sucesso.
Agora você abre o dispositivo (no lado esquerdo) e dá um clique duplo em "main.py". Se esses arquivos não existirem, crie-os. Cole o seguinte código na janela:
import machine, display, time, matemática, network, utime
tft = display. TFT () tft.init (tft. ST7789, bgr = False, rot = tft. LANDSCAPE, miso = 17, backl_pin = 4, backl_on = 1, mosi = 19, clk = 18, cs = 5, dc = 16)
tft.setwin (40, 52, 320, 240)
para i no intervalo (0, 241):
color = 0xFFFFFF-tft.hsb2rgb (i / 241 * 360, 1, 1)
tft.line (i, 0, i, 135, cor)
tft.set_fg (0x000000)
tft.ellipse (120, 67, 120, 67)
tft.line (0, 0, 240, 135)
text = "ST7789 com micropython!"
tft.text (120-int (tft.textWidth (texto) / 2), 67-int (tft.fontSize () [1] / 2), texto, 0xFFFFFF)
wifi = network. WLAN (network. STA_IF) wifi.active (True) wifi.connect ("yourWlan", "yourPassword") utime.sleep_ms (3000) network.telnet.start (user = "m", senha = "m ")
É importante ter o recuo para as duas linhas sob a indicação "para". Verifique a imagem para ver se parece semelhante.
Agora é hora de executá-lo! Salve o arquivo e pressione F5 (ou clique em Ferramentas-> downloadAndRun). Agora você deve ver algo em seu visor. Se for algo estranho, você deve pressionar o botão reset na lateral da placa. Sua exibição agora deve ser semelhante à da imagem.
Nas próximas etapas irei explicar o código.
Etapa 3: inicializar
Ok, você já tem tudo que precisa. Agora irei passo a passo pelo código e o explicarei.
Por favor, veja também a ótima documentação sobre
github.com/loboris/MicroPython_ESP32_psRAM…
para informações adicionais
import machine, display, time, matemática, network, utime
tft = display. TFT ()
tft.init (tft. ST7789, bgr = False, rot = tft. LANDSCAPE, miso = 17, backl_pin = 4, backl_on = 1, mosi = 19, clk = 18, cs = 5, dc = 16)
tft.setwin (40, 52, 320, 240)
As importações devem ser claras. A terceira linha inicializa o display.
Se você quiser desligar a tela, simplesmente execute o tft.init novamente com backl_on = 0
A quarta linha define a borda da tela. Isso é necessário porque a implementação não é para esta exibição exata. Se você não fizer isso, você desenhará fora da tela.
A área que você pode usar é (0, 0, 135, 240)
Etapa 4: Desenho e cor
O importante primeiro: as cores estão invertidas! Você provavelmente agora RGB (como as cores são expressas com números). O vermelho normalmente seria 0xFF0000. Mas aqui, para o vermelho, você deve usar 0x00FFFF. Para azul, você deve usar 0xFFFF00 etc.
Loboris tem constantes de cor. Eles também estão invertidos. Se quiser usá-los, você pode convertê-los:
tft.set_bg (0xFFFFFF - tft. BLUE)
tft.clear ()
Isso preenche a tela de azul. Subtrair as cores desejadas de 0xFFFFFF as converte e você obtém a cor desejada.
para i no intervalo (0, 241): cor = 0xFFFFFF-tft.hsb2rgb (i / 241 * 360, 1, 1)
tft.line (i, 0, i, 135, cor)
tft.set_fg (0x000000)
tft.ellipse (120, 67, 120, 67)
tft.line (0, 0, 240, 135) text = "ST7789 com micropython!" tft.text (120-int (tft.textWidth (texto) / 2), 67-int (tft.fontSize () [1] / 2), texto, 0xFFFFFF)
O loop for cria o gradiente de matiz de cor. Em seguida, selecionamos a cor com a qual queremos desenhar (branco) e desenhamos uma elipse, uma linha e um texto.
Etapa 5: Telnet
wifi = network. WLAN (network. STA_IF) wifi.active (True)
wifi.connect ("yourWlan", "yourPassword")
utime.sleep_ms (3000)
network.telnet.start (usuário = "m", senha = "m")
Isso inicia o servidor telnet. Você pode acessar a placa através de sua WLAN sem conectá-la via USB! Isso é muito útil se você tiver um projeto no qual não pode acessar facilmente o seu quadro.
Para acessar via WLAN você deve primeiro descobrir qual é o IP da placa. Conecte sua placa via USB. Altere "yourWlan" pelo nome da WLAN e "yourPassword" pela senha. Baixe e execute. Digite "network.telnet.status ()" na janela de comando e pressione Enter. Deve retornar o IP da placa.
Recomendo a ferramenta "Putty" para acessar via telnet. É freeware. Baixe, instale e abra-o. Selecione telnet para o tipo de conexão, digite o IP que você encontrou e clique em abrir. Uma janela se abre. Faça login como "m" e pressione Enter. Ele pediu a senha. Pressione me enter. Agora você deve estar conectado via telnet.
Etapa 6: faça seu próprio projeto incrível
É isso! Com este código como base, você pode construir seu próprio projeto incrível.
Algumas coisas a serem mencionadas:
-Loboris oferece também a possibilidade de configurar um servidor ftp. Com isso e telnet, você pode fazer upload ou modificar o código e executá-lo. Gerencie completamente o código de sua estação meteorológica externa de seu sofá, sem qualquer conexão física. Surpreendente!
-Loboris tem um Wiki muito bom:
github.com/loboris/MicroPython_ESP32_psRAM…
Link direto para o Wiki de exibição:
github.com/loboris/MicroPython_ESP32_psRAM…
Link direto para o telnet Wiki:
github.com/loboris/MicroPython_ESP32_psRAM…
Espero que você tenha achado este tutorial útil. Deixe seu comentário e nos mostre o que você fez com o TTGO e o micropython