PAE 2021 Canne d'aveugle : Différence entre versions

De Learning Lab Environnements Connectés
Sauter à la navigation Sauter à la recherche
(Programmation arduino)
(Affichage de la distance)
Ligne 149 : Ligne 149 :
 
[[Fichier:arduino_distance_capteur.PNG|700px|thumb|center|Code pour l'affichage de la distance]]
 
[[Fichier:arduino_distance_capteur.PNG|700px|thumb|center|Code pour l'affichage de la distance]]
  
Ainsi, nous calculons la distance de l'objet selon la durée entre l'émission et la réception de l'onde. Nous lisons la valeur de la variable distance pour pouvoir ( à finir)
+
Ainsi, nous calculons la distance de l'objet selon la durée entre l'émission et la réception de l'onde. Nous lisons la valeur de la variable duration nous permettant d'avoir la durée de l'écho.
 +
 
 +
A l'aide de cette variable, nous pouvons calculer la distance entre la canne et l'objet. Il est important de diviser par 2 la variable duration car cette variable représente l'aller-retour de l'écho.
  
 
== Implémentation des différents modes ==
 
== Implémentation des différents modes ==

Version du 29 avril 2021 à 10:42

Introduction

La canne blanche, largement utilisée par certains déficients visuels (aveugles et malvoyants), est un moyen de se repérer dans l'espace pour faciliter leur déplacement. A l'aide de cette canne, les personnes peuvent éviter les obstacles au sol permettant alors une certaine autonomie.

Cependant, cette canne présente des limites d'utilisation avec une possibilité de repérer seulement des objets au sol. Ainsi, notre objectif est de réaliser le prototype d'une canne blanche intelligente en ajoutant une fonctionnalité permettant de détecter des objets à une hauteur d'homme.


Cahier des charges

D'après l'énoncé du projet, nous pouvons en déduire les éléments nécessaires à la réalisation de la canne augmentée :

  • Télémètre : un capteur à ultrason permettant de mesurer une distance entre la canne et un objet.
  • Retour haptique : un vibreur permettant de coder l'information de distance lors de la détection d'un objet.
  • Microcontrôleur : un Arduino nano programmable.
  • Alimentation : une batterie ou pile

Pour réaliser un prototype fonctionnel et l'ajout de fonctionnalités :

  • Une canne et le boitier contenant l'électronique embarquée.
  • Une alimentation par pile ou batterie rechargeable.
  • Un bouton poussoir permettant de sélectionner le mode de détection.

Étude du marché

Tom Pouce Rango UltraCane
Image
Tom pouce
Rango
Ultracane
Prix 5 000€ - Distribué gratuitement en France 900€ 1 055€
Ergonomie Boitier amovible Boitier amovible Canne complète
Autonomie 5h 3h30 4h
Distance 1 à 12 m 1.50 m 2 à 4 m
Mode de détection Faisceaux infrarouges et laser Ultrasons Ultrasons
Feedback Vibrations variables en fréquence Bips sonores variables en fréquence Vibrations d'intensité variable
Poids 168 g 107 g 346 g

Présentation Arduino

L'arduino est une carte programmable permettant de mettre en place des systèmes électronique embarqués à l'aide de capteur, d'écran led, de led... Petite de taille et très légère, cette carte s'adaptera facilement à la canne d'aveugle.

La carte Arduino nano peut-être alimentée via la connexion USB ou à l'aide d'une alimentation externe.

Elle est dotée de 14 pins digitaux (40mA maximum) et 8 pins analogique. Concernant la capacité, elle est dotée d'une mémoire Flash de 32Kb et 2Kb de mémoire dynamique. Chacune des 14 broches numériques peuvent être utilisée comme entrée ou sortie numérique en utilisant les instructions pinMode(), digitalWrite() et digitalRead(). Concernant les pins analogique, elles fournissent une mesure d'une résolution de 10 bits (1024 niveaux de 0 à 1023). Sans configuration, les broches mesurent des valeurs entre 0V et 5v;


Montage électronique

Arduino nano Port VMA 306
5V VCC
13 ECHO
12 TRIG
GND GND
Arduino nano Moteur vibreur
3.3V VCC
10 Controle
GND GND

Datasheet Capteur de distance VMA 306

Fonctionnement d'un capteur ultrason

Un capteurs à ultrason émet à intervalles réguliers de courtes impulsions sonores à haute fréquence. La vitesse du son dans l'air étant stable, on en déduit la distance de l'obstacle. En effet, le capteur calcule la distance le séparant de la cible sur la base de temps écoulé entre l'émission du signal et la réception de l'écho.

Tous les matériaux qui reflètent le son peuvent être détectés. Ainsi, même des matériaux transparents pourront être détectés par un capteur à ultrasons.

Spécification

- tension : de 4.5V à 5.5V

- fréquence sonore : 40 kHz

- résolution de mesure : supérieur à 0.5m2

- angle de mesure : 15°

- courant : de 10mA à 40mA

- distance de détection : de 2cm à 450cm

- déclenchement : impulsion TTL positive de 10µs

Ajout de fonctionnalités supplémentaires

Profil utilisateur permettant de gérer la distance et la sensibilité du capteur pour s'adapter à l'environnement (intérieur avec peu d'espace / espace extérieur).

Création de deux modes à l'aide d'un interrupteur :

- Intérieur avec peu d'espace (distance de 25cm à 200cm)
- Espace extérieur (distance de 50cm à 350cm)

Programmation arduino

Programmation de la gestion de la distance

Affichage de la distance

Code pour l'affichage de la distance

Ainsi, nous calculons la distance de l'objet selon la durée entre l'émission et la réception de l'onde. Nous lisons la valeur de la variable duration nous permettant d'avoir la durée de l'écho.

A l'aide de cette variable, nous pouvons calculer la distance entre la canne et l'objet. Il est important de diviser par 2 la variable duration car cette variable représente l'aller-retour de l'écho.

Implémentation des différents modes

Tableau des distances

Deux modes sont implémentés : le mode extérieur et le mode intérieur.

Pour ce faire, nous avons créer un tableau avec les différentes valeurs selon le mode :

Tableau des différentes distances selon le mode

Ainsi, lorsque l'utilisateur choisi un mode, différentes intervalles de mesure seront prises en compte :

  • Pour le mode 1 (extérieur) : 350m / 250m / 200m / 100m / 50m
  • Pour le mode 2 (intérieur) : 200m / 150m / 100m / 50m / 25m

Choix du mode

Il a fallut ensuite trouver un moyen de choisir les deux modes directement sur la canne pour une personne mal voyante. Nous avons alors décidé de positionner à côté du capteur un bouton poussoir. Lorsque l'utilisateur appuie sur le bouton, le mode change.

De plus, il faut avertir l'utilisateur du changement de mode à l'aide du vibreur.

  • Mode 1 : une seule longue vibration
  • Mode 2 : deux longues vibrations
Vibration en fonction du mode

Si le mode est LOW c'est-à-dire que le premier mode (extérieur) est choisi, nous faisons une longue vibration de 1s.

Si le mode est HIGH c'est-à-dire que le deuxième mode (intérieur) est choisi, nous faisons deux longues vibration de 1s avec entre les deux une pause de 500ms.

Gestion des interruptions

Programmation du mode vibreur

La vibration du moteur change selon la distance à laquelle se trouve la cane. Pour cela, nous allons modifier la fréquence de vibration du moteur. En effet, plus la canne est proche d'un objet, plus la fréquence de vibration est importante. Ainsi, la vibration du moteur sera de plus en plus importante que l'objet sera proche pour prévenir l'utilisateur d'un obstacle.

Vibration en fonction du mode

La première étape est de vérifiée si l'objet est dans la plage de valeur du capteur. Hors de cette plage, l'objet ne sera pas détecté. Cette ligne de code nous permet de vérifier le bon fonctionnement du capteur.

Ensuite, comme expliqué précédemment, nous avons décidé de modifier la vibration selon la distance de l'objet pour que la vibration soit de plus en plus rapproché plus la distance se rapproche.

Pour se faire, nous allons ajouter une attente plus ou moins importante entre deux vibrations. Cette attente peut varier de 1.5s pour un objet loin du capteur à 200ms pour un objet proche.