Índice:

Gire a tela e a tela sensível ao toque do Raspberry Pi: 4 etapas
Gire a tela e a tela sensível ao toque do Raspberry Pi: 4 etapas

Vídeo: Gire a tela e a tela sensível ao toque do Raspberry Pi: 4 etapas

Vídeo: Gire a tela e a tela sensível ao toque do Raspberry Pi: 4 etapas
Vídeo: 24" Touchscreen monitor running Home Assistant. 2024, Novembro
Anonim
Rotate Raspberry Pi Display e Touchscreen
Rotate Raspberry Pi Display e Touchscreen
Rotate Raspberry Pi Display e Touchscreen
Rotate Raspberry Pi Display e Touchscreen

Este é um instrutor básico para mostrar a você como girar a tela e a entrada da tela de toque para qualquer Raspberry Pi executando o sistema operacional Buster Raspbian, mas usei esse método desde Jessie. As imagens usadas aqui são de um Raspberry Pi 3 B + executando Raspbian Buster com uma tela de toque LCD TFT de 3,5.

O touchscreen usado é fantástico, se você quiser pode encontrar neste link da amazon:

www.amazon.com/Raspberry-320x480-Monitor-Raspbian-RetroPie/dp/B07N38B86S/ref=asc_df_B07N38B86S/?tag=hyprod-20&linkCode=df0&hvadid=312824707815&hvposvr=1o19&hvnetwhpt.hpt-vsvr=1o19&hvnetwhvdt&hvdt=1o19&hvnetwhddhvdt&h = c & hvdvcmdl = & hvlocint = & hvlocphy = 9027898 & hvtargid = pla-667157280173 & psc = 1

Etapa 1: girar a tela

Girando a tela
Girando a tela
Girando a tela
Girando a tela
Girando a tela
Girando a tela

A tela do raspberry pi é muito fácil de girar porque há uma opção que você pode colocar em /boot/config.txt que permite girar a tela em uma linha.

Para girar, basta abrir seu terminal (ctrl + alt + t) e digitar "sudo nano /boot/config.txt"

Vá para a parte inferior do arquivo e digite o que você precisa para girar a tela da maneira que quiser:

# Orientação padrão

display_rotate = 0

# Girar 90 ° no sentido horário

display_rotate = 3

# Girar 180 °

display_rotate = 2

# Girar 270 ° no sentido horário

display_rotate = 1

Etapa 2: Por que a tela sensível ao toque precisa ser girada

Por que a tela sensível ao toque precisa ser girada
Por que a tela sensível ao toque precisa ser girada
Por que a tela sensível ao toque precisa ser girada
Por que a tela sensível ao toque precisa ser girada

A touchscreen é um pouco mais complicada, ela conta com uma matriz para pegar as entradas e mapeá-las para uma nova posição. Isso é feito com uma matriz de transformação tridimensional, muito comum em robótica e física espacial para descrever o movimento de um objeto em um espaço 3D. Você pode estar pensando por que meu cursor 2D precisa de uma matriz 3D? Mas o seu cursor, na verdade, tem uma terceira dimensão que não é usada. Veja a matemática abaixo:

Por padrão, a matriz é definida como uma matriz de identidade, o que significa um mapeamento um-para-um: (Os pontos são marcadores de posição para ajudar a alinhar o material, imagine que eles não estão lá, Inescrutáveis remove os espaços)

……| 1 0 0 |

I = | 0 1 0 |

……| 0 0 1 |

Quando esta matriz é multiplicada pelo vetor de entrada fornecido por sua tela sensível ao toque, isto é o que acontece:

| 1 0 0 |….| 300 |…..| 300 |

| 0 1 0 | * | 200 | = | 200 |

| 0 0 1 |…….| 1 |……….| 1 |

Como você pode ver acima, a matriz de identidade não afeta a saída. Agora, o objetivo deste instrutível não é ensinar a multiplicação de matrizes, mas se você estiver interessado, há muitos tutoriais online. Mostrarei o lado matemático disso apenas para que vocês possam ver a prova de como e por que isso está acontecendo.

Se quiséssemos girar a tela do tousch 90 ° (sentido horário), usaríamos esta matriz:

| 0 -1 1 |…| 300 |….|-200 |

| 1 0 0 | * | 200 | = | 300 |

| 0 0 1 |……..| 1 |………| 1 |

Então, como você pode ver, os valores xey agora mudaram, mas o novo valor x também é negativo. É um pouco difícil de visualizar, então olhe meu exemplo nas fotos. Uma linha é traçada do centro para a direita, agora quando ela é girada 90 ° (sentido horário), você percebe que a linha traçada vai do centro -> direita (+ x) para o centro -> baixo (-y) e é por isso que o o vetor de entrada precisa ser alterado como tal. O resto das matrizes de rotação são listadas na próxima etapa, mas agora você sabe um pouco mais sobre o que está acontecendo!

Etapa 3: girar a tela sensível ao toque

Girando a tela sensível ao toque
Girando a tela sensível ao toque
Girando a tela sensível ao toque
Girando a tela sensível ao toque
Girando a tela sensível ao toque
Girando a tela sensível ao toque
Girando a tela sensível ao toque
Girando a tela sensível ao toque

Vá para o seu terminal novamente e digite "cd /usr/share/X11/xorg.conf.d/", se sua tela sensível ao toque pelo menos está detectando toques, então o arquivo de configuração deve estar aqui.

Digite "ls" para listar os arquivos atuais, seu arquivo de calibração deve estar lá, se você não souber qual é o seu, abra cada um (Usando "nano your_file_name") e encontre um que tenha uma seção que tenha "Identifier … touchscreen catchall ". Provavelmente será um que tenha "evdev" ou "libinput" no título. Depois de encontrá-lo, faça "sudo nano your_file_name" para obter acesso de gravação e editar o arquivo.

Vá para a sua seção e adicione a "Opção" correta na parte inferior da "Seção".

Todos estão com perspectiva no sentido horário:

90 ° = Opção "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"

180 ° = Opção "TransformationMatrix" "-1 0 1 0 -1 1 0 0 1"

270 ° = Opção "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"

Etapa 4: é isso

Esperançosamente, isso ajuda bastante a começar os entusiastas do Raspberry Pi! Vejo pessoas lutando com esse problema o tempo todo, então se acontecer de você se deparar com alguém em um fórum que precisa de ajuda, basta enviar um link para aqui. Feliz inventando meus amigos!

Recomendado: