Table des matières:

Faire pivoter l'écran et l'écran tactile du Raspberry Pi : 4 étapes
Faire pivoter l'écran et l'écran tactile du Raspberry Pi : 4 étapes

Vidéo: Faire pivoter l'écran et l'écran tactile du Raspberry Pi : 4 étapes

Vidéo: Faire pivoter l'écran et l'écran tactile du Raspberry Pi : 4 étapes
Vidéo: Montage de l'écran tactile 7 pouces du Raspberry Pi - Tuto 2024, Novembre
Anonim
Faire pivoter l'écran et l'écran tactile du Raspberry Pi
Faire pivoter l'écran et l'écran tactile du Raspberry Pi
Faire pivoter l'écran et l'écran tactile du Raspberry Pi
Faire pivoter l'écran et l'écran tactile du Raspberry Pi

Il s'agit d'un Instructable de base pour vous montrer comment faire pivoter l'affichage et l'entrée de l'écran tactile pour n'importe quel Raspberry Pi exécutant le système d'exploitation Buster Raspbian, mais j'utilise cette méthode depuis Jessie. Les images utilisées proviennent d'un Raspberry Pi 3 B+ exécutant Raspbian Buster avec un écran tactile LCD TFT de 3,5.

L'écran tactile utilisé est fantastique, si vous en voulez un, vous pouvez le trouver sur ce lien d'Amazon:

www.amazon.com/Raspberry-320x480-Monitor-Raspbian-RetroPie/dp/B07N38B86S/ref=asc_df_B07N38B86S/?tag=hyprod-20&linkCode=df0&hvadid=312824707815&hvpos=1o19&hv76&=57pontw=gvhvm=hv76&w=57pont=gvv6&hvnettwo89157 =c&hvdvcmdl=&hvlocint=&hvlocphy=9027898&hvtargid=pla-667157280173&psc=1

Étape 1: Rotation de l'affichage

Rotation de l'affichage
Rotation de l'affichage
Rotation de l'affichage
Rotation de l'affichage
Rotation de l'affichage
Rotation de l'affichage

L'affichage du raspberry pi est très facile à faire pivoter car il existe une option que vous pouvez mettre dans /boot/config.txt qui vous permet de faire pivoter l'écran d'une seule ligne.

Pour faire pivoter il suffit d'ouvrir votre terminal (ctrl + alt + t) puis de taper " sudo nano /boot/config.txt"

Allez au bas du fichier et tapez ce dont vous avez besoin pour faire pivoter votre écran comme vous le souhaitez:

# Orientation par défaut

display_rotate=0

# Rotation de 90° dans le sens horaire

display_rotate=3

# Rotation 180°

display_rotate=2

# Rotation de 270° dans le sens des aiguilles d'une montre

display_rotate=1

Étape 2: Pourquoi l'écran tactile doit pivoter

Pourquoi l'écran tactile doit pivoter
Pourquoi l'écran tactile doit pivoter
Pourquoi l'écran tactile doit pivoter
Pourquoi l'écran tactile doit pivoter

L'écran tactile est un peu plus compliqué, il s'appuie sur une matrice pour prendre les entrées et les mapper à une nouvelle position. Cela se fait avec une matrice de transformation en 3 dimensions qui est très courante en robotique et en physique spatiale pour décrire le mouvement d'un objet dans un espace 3D. Vous vous demandez peut-être pourquoi mon curseur 2D a besoin d'une matrice 3D ? Mais votre curseur a en fait une troisième dimension qui n'est pas utilisée. Voir les calculs ci-dessous:

Par défaut, la matrice est définie sur et la matrice d'identité, ce qui signifie un mappage un à un: (Les points sont des espaces réservés pour aider à aligner les choses, imaginez qu'ils ne sont pas là, Inscrutables supprime les espaces)

……| 1 0 0 |

je = | 0 1 0 |

……| 0 0 1 |

Lorsque cette matrice est multipliée par le vecteur d'entrée donné par votre écran tactile, voici ce qui se passe:

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

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

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

Comme vous le voyez ci-dessus, la matrice d'identité n'affecte pas la sortie. Maintenant, le but de cette instructable n'est pas de vous apprendre la multiplication matricielle, mais si vous êtes intéressé, il existe de nombreux tutoriels en ligne. Je vais montrer le côté mathématique de cela juste pour que vous puissiez voir la preuve de comment et pourquoi cela se produit.

Si nous voulions faire pivoter le touschscreen de 90° (dans le sens des aiguilles d'une montre), nous utiliserions cette matrice:

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

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

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

Ainsi, comme vous le voyez, les valeurs x et y ont maintenant changé, mais la nouvelle valeur x est également négative. C'est un peu difficile à visualiser, alors regardez mon exemple dans les images. Une ligne est tracée du centre vers la droite, maintenant lorsqu'elle est tournée de 90° (dans le sens des aiguilles d'une montre), vous remarquez que la ligne tracée va du centre -> droite (+x) au centre -> bas (-y) et c'est pourquoi le le vecteur d'entrée doit être modifié en tant que tel. Le reste des matrices de rotation est listé à l'étape suivante mais maintenant vous en savez un peu plus sur ce qui se passe !

Étape 3: Rotation de l'écran tactile

Rotation de l'écran tactile
Rotation de l'écran tactile
Rotation de l'écran tactile
Rotation de l'écran tactile
Rotation de l'écran tactile
Rotation de l'écran tactile
Rotation de l'écran tactile
Rotation de l'écran tactile

Allez à nouveau sur votre terminal et tapez "cd /usr/share/X11/xorg.conf.d/", si votre écran tactile détecte au moins des contacts, le fichier de configuration devrait être ici.

Tapez "ls" pour lister les fichiers actuels, votre fichier d'étalonnage devrait s'y trouver, si vous ne savez pas lequel est le vôtre, ouvrez chacun (en utilisant "nano your_file_name") et trouvez-en un qui a une section qui a "Identifier… fourre-tout à écran tactile". Très probablement, ce sera soit celui qui a "evdev" ou "libinput" dans le titre. Une fois que vous l'avez trouvé, faites "sudo nano your_file_name" pour obtenir un accès en écriture et modifier le fichier.

Allez dans votre section et ajoutez la bonne "Option" en bas de la "Section".

Tous sont dans le sens des aiguilles d'une montre:

90° = Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"

180° = Option "Matrice de transformation" "-1 0 1 0 -1 1 0 0 1"

270° = Option "Matrice de transformation" "0 1 0 -1 0 1 0 0 1"

Étape 4: C'est tout

Espérons que cela aide de nombreux amateurs de Raspberry Pi débutants ! Je vois des gens aux prises avec ce problème tout le temps, donc si vous rencontrez quelqu'un dans un forum qui a besoin d'aide, envoyez-lui simplement un lien vers ici. Heureux d'inventer mes amis!

Conseillé: