Etape 7: Construction de l’écran tactile : trouver une position X Y précise
Pour améliorer la précision de la détection, nous allons avoir à complexifier le système en ajoutant quelques LED sur différents ports numériques du Conseil d’administration. Comme vous pouvez le voir sur les photos, j’ai maintenant 15 LEDs (choisir autant que vous voulez) câblé dans une colle marron en plastique. La distance entre chaque LED est 5cm, donc la distance totale est de 70cm.
Maintenant, comment allons-nous pour détecter une position très précise ?
1. nous devons vérifier si le système détecte quelque chose. La méthode va être :
- Allumer la LED 1,
- Lire le capteur et vérifier si quelque chose bloque la lumière
- Si quelque chose est la manière la stocker les pixels au-dessus d’étalonnage dans une table
- Éteindre la LED 1
- Allumer la LED 2
- Lire le capteur et vérifier si quelque chose bloque la lumière
Si quelque chose est la manière la stocker les pixels au-dessus d’étalonnage dans une table
- Mettez hors tension LED2
- ... (procéder ainsi pour chaque LED)
Maintenant, nous avons conservé toutes les zones détecte quelque chose.
2. calculer la fonction
Je sais que l’école est souvent très loin et mathématiques ne semble pas très utile à la fois. Mais vous vous souvenez de la fonction de base Y = AX + B ?
Ici nous allons avoir une pleine application de la présente. Nous allons calculer la fonction traversant la LED et le milieu de la zone du capteur CCD détecté.
Pour simplifier, nous allons définir l’origine XY du graphique sur la première LED appelée LED 1. On peut ensuite calculer B pour chaque LED (en mm) :
1 LED = 0, conduit 2 = 50 (distance de 50mm), LED 3 = 100, LED 4 = 150...
L’un est un peu plus compliqué, si Y = AX + B alors A = (Y - B) / x
Si on prend la moyenne des pixels détecté (dans le programme, c’est "(maxi + mini)/2"), nous pouvons calculer la hauteur exacte (Y). Il faut aussi transformer les pixels dans la dimension.
(NB_PIXELS-(maxi+mini)/2)*CCD_HEIGHT)/NB_PIXELS+(SCREEN_HEIGHT/2)-(CCD_HEIGHT/2)
et comme nous l’avons Y, B et X nous calculer A :
A = (Y - B) / X
Maintenant nous avoir A et B de toutes les lignes allant de chaque LED au milieu de la zone, ils ne peuvent pas voir sur le capteur. Nous avons fonction1: Y = X A1 + B1 et Y = X A2 + B2
On peut alors calculer la traversée de ces fonctions :
La coordonnée X et Y de la traversée sera :
X = (B1 - B2) / (A1 - A2)
Y = (((A1*X) + B1) + ((A2*X) + B2)) / 2
X et Y sont les coordonnées du passage à niveau. Si vous calculez toutes les fonctions de point de passage et que vous leur moyen, vous devriez avoir une bonne approximation de la position centrale de l’objet. Le multipoint ne peut pas fonctionner avec seulement en moyenne, il faut un algorithme plus complexe (à l’étape 9).